TL;DR: Shai Hulud 2.0 is compromising the npm ecosystem by stealing API keys, cloud credentials, and npm or GitHub tokens, then self-replicating through malicious package updates and randomly named GitHub repositories, according to Cycode. The pattern shows that supply chain worming and secrets theft now reinforce each other, so detection without rapid secret revocation leaves organisations exposed.
NHIMG editorial — based on content published by Cycode: Shai Hulud 2.0 and the second coming of the supply chain attack
By the numbers:
- Cycode reports more than 25,000 compromised GitHub repositories tied to the campaign's spread.
- Cycode says the attack has affected roughly 350 maintainers as it moved through the npm ecosystem.
Questions worth separating out
Q: What breaks when a malicious npm package can read developer secrets during install?
A: The main failure is that package execution inherits identity context it should never need.
Q: Why do npm supply chain attacks create such a large blast radius?
A: Because install-time code can inherit access from developer laptops and CI runners, which often already hold cloud tokens, GitHub credentials, and automation secrets.
Q: How do security teams know if exposed secrets are becoming a real risk?
A: The clearest signal is whether the secret can still authenticate and whether it can reach high-value actions after login.
Practitioner guidance
- Audit npm dependency trust paths Scan projects for the compromised packages referenced in the campaign, pin known-good versions, and review post-install execution paths for unexpected scripts.
- Rotate all exposed developer and pipeline secrets Assume GitHub PATs, npm automation tokens, cloud credentials, and database passwords on developer machines or in CI/CD may already be compromised.
- Restrict package publishing and repository write access Limit who and what can publish packages, create GitHub Actions workflows, or republish from a maintainer account, and remove broad standing permissions.
What's in the full article
Cycode's full blog post covers the operational detail this post intentionally leaves for the source:
- The full compromised package list and indicators of compromise used for exposure checks
- Examples of the malicious GitHub repository naming patterns and workflow artefacts
- Cycode's remediation workflow for secret detection, priority ranking, and pipeline investigation
- The published impact table showing affected packages, maintainers, repos, and stolen key types
👉 Read Cycode's analysis of Shai Hulud 2.0 and npm secret theft →
Shai Hulud 2.0 and npm secrets exposure: what teams must fix?
Explore further
Shai Hulud 2.0 is a credential governance failure, not just a malware event. The campaign succeeds because developer tokens, cloud keys, and package publishing rights are treated as separate control planes when they are really one trust chain. Once a compromised npm package can reach secrets, GitHub, and CI/CD in one flow, lifecycle controls become the deciding factor. Practitioners should manage these credentials as linked non-human identities rather than isolated secrets.
A few things that frame the scale:
- AI-related credential leaks surged 81.5% year-over-year in 2025, with the surrounding AI infrastructure leaking 5x faster than core LLM providers, according to The State of Secrets Sprawl 2026.
- 64% of valid secrets leaked in 2022 are still valid and exploitable today, proving that detection without rotation leaves a standing attack path.
A question worth separating out:
Q: Who is accountable when a supply chain worm uses stolen tokens to create infrastructure?
A: Accountability sits with the teams that own software supply chain controls, CI/CD identity governance, and secrets lifecycle management. If a compromised token can create repositories or modify workflows, the issue is not only malware response. It is a governance failure across token scope, revocation speed, and build-system trust.
👉 Read our full editorial: Shai Hulud 2.0 exposes how npm worm attacks amplify secret risk