Truffle Security has found more than 9,300 leaked AWS keys linked to corporate accounts that remain active and valid, the result of four years tracking credentials publicly exposed between August 2022 and August 2026. The scale of what is still live in the wild is, to put it plainly, a problem.

Of the 431,875 AWS secrets the company uncovered across code repositories, Git history, datasets, Docker images, registries, and CI logs, researchers extracted 64,024 unique AWS keys corresponding to 50,654 AWS accounts after removing duplicates. The subset for which complete credentials were available for re-verification came to 10,616 keys. As of 10 August, 88% of those keys continued to authenticate successfully.

Root keys, admin access, and leaked AWS keys in corporate accounts

Of the 817 keys linked to companies, 526 were AWS root keys. A further 242 keys were tied to Identity and Access Management (IAM) users carrying the AdministratorAccess policy, a role with full permissions to create, modify, delete, and view virtually all AWS services and resources within an account. Truffle Security notes that each of the 768 live keys across both sets grants full control of a company’s AWS account.

The enrichment picture is worse still. According to Yahoo Finance, of the keys verified as live, 84% carried full administrator access and 1 in 6 was a root key, which provides unrestricted access to an AWS account beyond what IAM policies can limit. Root keys sit above the normal permission hierarchy entirely.

Researchers also found that 3,343 keys were still live, with more than 900 of them able to list S3 buckets holding at least 51.7 TB of private data. That is not theoretical exposure; those are readable buckets, accessible right now with credentials that have never been revoked.

AWS quarantine flags ignored for years

Perhaps the most uncomfortable detail in the research: 929 of the exposed credentials had already been flagged by AWS’s own compromised-key quarantine policy, in some cases more than three years earlier, and every single one still authenticated. The existence of a quarantine flag clearly did not prompt the account holders to rotate or delete the keys.

Age is a recurring theme. For the 2,903 keys with available creation dates, the median age was 1,831 days, roughly five years. The oldest had existed for 17.4 years. Only 398 entries, representing 13.7% of those with creation dates, had a newer access key associated with the same user, which suggests the vast majority had never been rotated at any point in their lifetime.

Hugging Face was the largest single source

Hugging Face, the popular online platform where developers share AI models, datasets, and applications, was the single largest source of leaked AWS keys, accounting for 8,482 unique key exposures. Of those, 17.9% were root keys, the highest-privileged identity type, unrestricted by IAM permissions.

The potential consequences of valid credentials in the wrong hands are not abstract. An attacker with full account control could access, exfiltrate, or wipe cloud-hosted data, take over servers and applications, or create rogue administrator accounts for persistent access. Cryptomining is another known use: attackers deploy miners on compromised infrastructure and leave the legitimate account holder with the bill.

The financial risk is compounded by the fact that most of these accounts have no early-warning mechanisms in place. Of 2,754 readable accounts, only 262 had a budget alert configured, meaning the majority of organisations would have no automated signal that their cloud spend had suddenly spiked.

What Truffle Security recommends

The researchers recommend deleting all root access keys outright, reviewing IAM credentials by age, rotating or revoking any exposed keys, and configuring budget alerts across accounts. Their position on credentials that have appeared in public sources is unambiguous: any credential committed to a public repository should be treated as compromised, regardless of whether abuse has been detected.

Truffle Security says its testing was limited to read-only metadata, and that it has notified all identifiable owners of the exposed credentials. Whether those notifications translate into action is, based on the quarantine-flag data, an open question with a discouraging precedent: AWS already flagged 929 of these keys, and they are all still working.

Share.

Software engineer and video game uber-nerd.

Comments are closed.

Exit mobile version