Resources/Research

29 Million Secrets Leaked: The State of API Key Security in 2026

GitGuardian's 2026 State of Secrets Sprawl report is the most detailed public dataset on credential leaks ever published. The headline figure - 29 million secrets leaked on GitHub alone - understates the full scope. This is a deep dive into what the data shows, why the trend is accelerating, and the architectural responses that actually close the gap.

12 min read·April 2026·KeyVault Edge Team

The numbers: what GitGuardian found in 2026

GitGuardian scanned over 3 billion commits in 2025. They found 29.1 million unique secrets across public GitHub repositories - a 25% increase over 2024. That is one secret leaked every 1.1 seconds, around the clock, every day of the year.

29M+
Secrets leaked
8 min
Avg exploit time
AI tool increase
#2
Breach root cause

The 29 million figure covers only what GitGuardian can detect in real time. It does not include private repository leaks, leaks through internal tooling, secrets committed and immediately deleted (still present in git history), or leaks that occurred in enterprise CI pipelines with public build logs.

The true number of leaked credentials in active development environments is estimated to be 5–10× the public figure. Most organisations have no visibility into this. GitGuardian's enterprise scanning product consistently finds more secrets in private repos than developers expect.

Year-over-year trend

  • 2022: 6 million secrets
  • 2023: 12.7 million secrets (+112%)
  • 2024: 23.2 million secrets (+83%)
  • 2025: 29.1 million secrets (+25%)

The AI coding assistant multiplier

The most significant finding in the 2026 report is the correlation between AI coding assistant adoption and secret leak rates. Commits from repositories with GitHub Copilot, Cursor, or similar tools enabled leaked credentials at 2.1× the baseline rate.

The mechanism is not mysterious. AI tools generate code faster, which means developers push more commits per day. The suggestion–accept loop in AI-assisted coding reduces code review friction. When an AI completes a code block that happens to use an environment variable, it sometimes suggests inline examples using real-looking key formats - and developers accept the suggestion without noticing the example became real.

There is also a subtler factor: AI tools read context from open editor windows. A developer with a .env file open in a split pane may inadvertently allow the AI tool to reference that context in generated code.

The solution is not to stop using AI tools. The solution is to ensure that the credentials being committed are safe to commit by design - not by discipline.

The 8-minute exploit window

GitGuardian measures the “time-to-exploit” metric by tracking when a secret appears in a public commit versus when it first receives an unauthorized API call. The median time in 2025 was 8 minutes. The fastest observed exploit was 23 seconds after commit.

This is not humans manually watching GitHub. Automated scraping infrastructure monitors the GitHub event stream via the public API, applies regex patterns for known secret formats, and immediately submits them to trial-request bots. The entire pipeline is automated and operates at scale.

The implication is that “I'll rotate it immediately” is not a viable response to an accidental commit. By the time you notice and act, the key has already been tested. The detection window is shorter than most developers' commit-to-review cycle.

Which secrets are leaking most

The top leaked secret categories by volume, per GitGuardian 2026:

1OpenAI API keys18%
2AWS credentials14%
3GitHub tokens12%
4Stripe API keys9%
5Generic API keys22%
6+All other types25%

OpenAI keys ranking first is a new development in 2026 - they were fifth in 2023. The explosive growth of LLM-integrated applications drove a corresponding explosion in OpenAI key handling, and a corresponding increase in mishandling.

Why existing tools aren't enough

The tooling ecosystem for secret security has expanded substantially since 2020. GitHub's native secret scanning, Gitleaks, TruffleHog, HashiCorp Vault, Doppler, AWS Secrets Manager - the gap is not from a lack of tools.

The gap is architectural. Every existing tool operates in one of two modes:

Detection tools (Gitleaks, GitHub Scanning)

Scan for secrets after they exist. Cannot prevent leaks at the source. Alert-then-rotate is slower than the 8-minute exploit window. History retention in git means “deleted” secrets remain accessible.

Storage tools (Vault, Doppler, AWS SM)

Store secrets securely but still inject real credentials into deployment environments. The real key exists somewhere - in CI env vars, in a running process, in memory. A supply chain compromise or misconfigured pipeline exposes it.

Neither category makes the credential safe to commit. Neither category eliminates the real key from the deployment surface. Both require perfect operational discipline from every engineer, every time.

The architecture that actually works

The only architecture that removes the real credential from the developer's environment entirely is a host-bound token proxy. Instead of storing the real key anywhere in your codebase or deployment, you store a sanitized token - a proxy credential that is cryptographically bound to your domain and useless from any other origin.

.env (safe to commit - token is useless if stolen)
OPENAI_API_KEY=kve_hb_<YOUR_TOKEN_HERE>
OPENAI_BASE_URL=https://openai.keyvaultedge.com/v1

The real OpenAI key is stored encrypted in an HSM. The edge proxy validates the token, checks the request origin, decrypts the real key in isolated memory, and forwards to OpenAI. The developer's deployment never holds the real credential.

This approach does not require changing your SDK code. It does not require a backend rewrite. The migration is two environment variable changes.

Real key never in your codebase, CI, or deployment env
Token is worthless from unauthorized origins - leaking it has zero consequence
Breach alerts fire the moment an unauthorized origin attempts to use the token

Stop being a statistic in the 2027 report

KeyVault Edge gives your API keys host-binding protection in under 5 minutes. The sanitized token is designed to be committed - leaking it has zero consequences. Free for up to 3 tokens and 100K requests per month.

Get started free