Safeguard
Vulnerability Analysis

Uber (2016): Hardcoded Credentials in a Private Repository

A factual retrospective on the 2016 Uber breach, where attackers used credentials found in a private GitHub repository to access an AWS account holding rider and driver data, and how it was later concealed.

Safeguard Research Team
2 min read

Uber (2016): Hardcoded Credentials in a Private Repository

Summary

In late 2016, attackers accessed a private GitHub repository used by Uber engineers and found hardcoded AWS credentials inside the code. Those credentials were used to access an AWS S3 environment containing personal data of approximately 57 million Uber riders and drivers, including roughly 600,000 U.S. driver's license numbers. The breach was not disclosed publicly until November 2017, after it emerged that Uber had paid the attackers $100,000 through its bug bounty program and had them sign non-disclosure agreements, rather than reporting the incident as a breach. This later resulted in regulatory penalties and a criminal case against Uber's former Chief Security Officer.

Technical Root Cause

The proximate technical cause maps to CWE-798 (Use of Hard-coded Credentials): long-lived AWS access keys were committed directly into application source code stored in a repository, rather than being managed through a secrets manager or short-lived credential mechanism. Repository access alone was sufficient to obtain cloud infrastructure credentials with broad data access.

Why It Mattered

Beyond the technical failure, this incident is widely cited for the response failure: rather than disclosing the breach and notifying affected individuals and regulators as required, Uber treated the incident as a bug bounty payout and had the attackers sign confidentiality agreements, which converted a technical incident into a significant legal and regulatory liability once it came to light.

OWASP / CWE Mapping

  • CWE-798: Use of Hard-coded Credentials
  • OWASP A02:2021: Cryptographic Failures (in the broader sense of secrets exposure)

Lasting Impact

The Uber case is a standard reference point for two separate lessons: the technical one (secrets scanning and short-lived credentials over hardcoded long-lived keys) and the governance one (breach response and disclosure obligations cannot be substituted with an informal payoff).

How Safeguard Helps

Secrets and credential scanning across source repositories is a standard SCA capability aimed directly at catching hardcoded credentials like this before they reach production, or flagging them for rotation if already committed.

References

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.