81% of leaked API keys Truffle Security reported still worked six months later. Now it wants key issuers to revoke them directly
A leaked key keeps working until the company that issued it turns it off, and most never get turned off.
What happened
Truffle Security launched its Secrets Revocation Program on November 4. It says it has confirmed 1.4 million live secrets leaked since 2022 across GitHub, Docker Hub, npm, Hugging Face and other public sources, and it is inviting every company that issues API keys to revoke them for free.
The reason is blunt. Last year Truffle reported 21,981 live keys it found on GitLab and Bitbucket. Six months later, 81% still worked. Issuers can either give Truffle a revocation endpoint so keys die as soon as they are verified, or receive verified keys by webhook and revoke them within 14 days. Sixteen issuers have joined, including Vercel, Hugging Face, Notion, Resend, RubyGems and Twilio.
Two findings matter for anyone using AI coding tools. Since January 2025, Truffle found 2,655 working keys in AI coding tools' config files, including a GitLab token inside .claude/settings.local.json in a published Docker image. And by May 2026, 6.8% of commits that leaked a working key were signed by an AI coding agent, up from none before mid 2025. Three out of four Resend keys it delivered came from Docker images, not repos.
My take
An automation stack is a pile of keys: CRM, email, SMS, payment, model APIs. Every one is a credential someone can use if it leaks, and this data says nobody will turn it off for you.
What I do on client builds:
- Keep secrets in the platform's credential store, never in workflow JSON, exported templates or config files.
- Add AI tool folders like
.claudeand any.envfiles to.dockerignoreand.gitignorebefore the first build. - Run a secret scanner on images and repos before anything is published.
- Issue one key per client per integration, so revoking one does not break five workflows.
- Keep a list of every key, where it lives and the exact page where you revoke it.
Point 5 is the one most teams skip, and it is the one you need at 2 AM when a key shows up in public.
I build automations with that inventory in place from day one. If you want a second pair of eyes on how your keys are stored, see what I do at romielwillautomate.dev.
More posts
- Uber says AI agents booked four rides in its busiest week of October. Its app takes about 50 seconds to book oneNov 5, 2026
- A 2B parameter model beat frontier LLMs at pulling fields from invoices and IDs in its makers' benchmark, at 6 to 147 times lower costNov 5, 2026
- The best AI agent finished 29 of 45 real AWS tasks. About 80% of failures came from stopping too early, not from missing knowledgeNov 5, 2026
