1. News
  2. Alerts
  3. Security · Leaked keys
AlertSecurity · Leaked keys3 min read

Thousands of working passwords for cloud and AI tools left in public code

A researcher tested keys found in public Gitee code and 26,400 still worked. Deleting a key from code does not cancel it, so old keys remain a risk.

By the Dashline deskSource: The Hacker News
Thousands of working passwords for cloud and AI tools left in public code
Photo: Victorgrigas, CC BY-SA 3.0
Act this week
What happenedA researcher found 26,400 still-working cloud and AI access keys left in public code projects on Gitee, and had not confirmed they were revoked.
Who is affectedDevelopers and companies using Alibaba Cloud, YouTube, DeepSeek, Zhipu BigModel, OpenAI, GitHub, AWS, Google Cloud or Gemini keys.
What to do
  1. 1Treat any key that was ever in a public code project as exposed.
  2. 2Revoke it at the provider and issue a new one.
  3. 3Do not rely on deleting the key from the code, since old versions keep it.
  4. 4Check your usage and billing for activity you do not recognize.

A researcher scanned 7.25 million public projects on Gitee, a Chinese code-hosting service, and found 26,400 working keys for cloud and AI services. These are the codes that let software log in to an account. Anyone who copied one could have used it. Independent researcher Ben Zimmermann reported the results on October 28.

What was found

Zimmermann ran two secret scanners, TruffleHog and Kingfisher, over every project. Both tried each key against the service that issued it and kept only the ones that worked. The biggest groups were:

  • 9,473 Alibaba Cloud AccessKey pairs
  • 3,805 YouTube API keys
  • 3,170 DeepSeek keys
  • 1,489 keys for Zhipu's BigModel AI platform
  • 1,348 OpenAI keys

Smaller numbers were found for GitHub, AWS, Google Cloud and Google's Gemini. One was an active organization-admin credential for a major enterprise AI platform. Zimmermann did not name the platform or say what it could reach.

Why deleting is not enough

The scanners read each project's full history of changes. A key that a developer later removed from the code can still be found there. Of the working keys, 12,242 came from 2025, nearly half the total. Some dated to the late 2000s. Truffle Security, which makes TruffleHog, notes that deleting a key or rewriting a project's history does not revoke it.

What a stolen key allows depends on the service. OpenAI says a compromised key lets another person use the account's quota without the owner's consent. That can mean data loss, unexpected charges, a used-up monthly quota and interrupted access. Google says a YouTube API key is a Google Cloud API key, and without restrictions it can work with every API that accepts such keys.

What is still unknown

Zimmermann sent the vendors with the most exposed keys a list of their credentials. He did not contact the developers who leaked them. When he published, he had not confirmed that any of the keys had been revoked. He did not give the test dates, so it is unclear how long ago the keys worked. He also did not say whether anyone else had used them.

The numbers do not show that Gitee leaks more than other sites. Its rate was 3.64 working keys per 1,000 projects, against 3.11 for GitLab and 2.39 for Bitbucket in earlier scans. Those scans used only TruffleHog. On TruffleHog alone, Gitee's rate is 1.76.

What to do

The steps are in the alert box above the article. The core idea is simple: a key that has been in public code should be treated as exposed, whatever the code looks like now.

Teams that use one scanner should also check what it misses. Each tool found about half of the total, and only 1,001 keys were found by both. TruffleHog has no detector for Zhipu's keys, so Kingfisher found all 1,489 of those.

The takeaway

If a key was ever in public code, assume someone copied it and revoke it with the provider, because deleting it from the code does not cancel it.

More articles

You should really read these.

Next step

Let’s talk