Start with Identity
← Blog
News

The Shai-Hulud worm now hunts 469 credential locations, up from 189

GitGuardian found the latest Shai-Hulud variant scanning 469 paths for secrets across developer machines, CI/CD, cloud config, and AI tool settings. The npm worm spreads using the credentials it finds, with no human operator in the loop.

By SWI Community TeamSep 3, 2026Updated Sep 14, 2026

GitGuardian researchers found that the current Shai-Hulud variant scans 469 distinct locations for credentials, up from 189 in earlier versions. The new paths cover developer workstations, CI/CD tooling, cloud configuration, and the config files of AI coding assistants. Shai-Hulud is a self-propagating npm worm: it compromises packages, harvests secrets from the build environments that install them, and uses those secrets to publish further compromised packages, with no human operator directing it. It exploits no vulnerability. It collects what is already sitting in .env files, cloud credential files, HashiCorp Vault tokens, and assistant configuration.

Why it matters

The path count is the interesting metric, because it is a direct measurement of how many places a working developer environment stores a long-lived secret. Going from 189 to 469 in a few months is not the worm getting cleverer so much as the industry adding new places to leave credentials lying around, AI tooling being the most recent contributor.

Shai-Hulud only works because secrets are static, discoverable, and reusable. Remove any one of those three and the propagation stops. Short-lived credentials break reusability, so a harvested token expires before the worm can publish with it. OIDC-based workload identity in CI removes the stored secret entirely, which defeats discoverability. Scoping a publish token to one package limits what a successful theft buys.

This is the same lesson as the n8n token leak and the GitHub issue that reached CI secrets: the technique is secrets in repositories and CI, and the control is never detection. Rotate what a build can see, on a clock shorter than an attacker's dwell time, and the 469 locations stop mattering.

Source: The Hacker News

Last reviewed By SWI Community TeamSuggest a correctionHow we research
Independent analysis. No vendor sponsorship.