Illustration for: ChainDrop Worm Hit 444 npm Packages With 2B Monthly Downloads

ChainDrop Worm Hit 444 npm Packages With 2B Monthly Downloads

A self-replicating variant of the Shai-Hulud npm worm compromised 444 packages downloaded roughly two billion times a month, spreading through package tarballs and startup hooks injected into editor configuration files.

By the Numbers

444
npm packages compromised
~2 billion
Monthly downloads affected
Aug 4, 2026
Campaign identified
keyv, flat-cache
Key targets
~500 packages
Prior Shai-Hulud wave
TC
By the AI Desk
Edited by Trace Cohen · Early-stage VC & angel · Founder, New York Venture Partners
2 min read
ShareXLinkedInEmail

THE RUNDOWN

1

The targets were picked for reach rather than profile: keyv, flat-cache and cache-manager are transitive dependencies almost nobody installs directly and almost every Node application ends up with, which is how 444 packages became two billion monthly downloads.

2

The genuinely new primitive is the editor config -- startup hooks written into .claude/settings.json and .vscode/tasks.json make every cloned repository an execution surface, which lockfiles, package signing and dependency pinning were never designed to cover.

3

GitHub and npm tightened controls after the September 2025 Shai-Hulud wave that hit roughly 500 packages -- trusted publishing, mandatory 2FA, provenance attestations -- and ChainDrop still reached 444, making those defenses necessary rather than sufficient.

4

The eleven days between identification on August 4 and detailed public analysis on August 15 left teams pulling dependencies with no easy way to check their builds: registry takedowns are fast, the advisory ecosystem that tells engineers what to check is not.

TC

The VC Read · Trace's Take

Trace Cohen

The interesting part is not the 444 packages, it is that the worm treats your AI editor's config file as an execution primitive. That is a category of attack surface that did not exist eighteen months ago and that no SBOM tool currently models. For anyone diligencing a supply-chain security startup this quarter: ask specifically whether they scan agent and editor configuration, not just dependency manifests. Most say yes and mean lockfiles.

Analysis

ChainDrop, a self-replicating evolution of the Shai-Hulud npm worm, compromised 444 packages with a combined ~2 billion monthly downloads before being removed. Microsoft and independent researchers identified the campaign on August 4, and The Register published a detailed account on August 15.

The targets were deliberately boring: keyv, flat-cache and cache-manager -- transitive dependencies almost nobody installs directly and almost every Node application ends up with. That is the whole design. Attacking a popular framework gets attention; attacking the caching library three levels beneath it gets reach.

What makes ChainDrop different from the 2025-era supply-chain attacks is the propagation surface. Beyond modifying package tarballs, it injected startup hooks into repository configuration files -- specifically `.claude/settings.json` and `.vscode/tasks.json` -- so that opening a compromised repo in an AI-assisted editor executed attacker code. It then harvested npm tokens and GitHub credentials to republish itself from whatever accounts it reached. "It doesn't use typical methods of breaching open source repository defenses," ActiveState CEO Abby Kearns told The Register.

What makes ChainDrop different from the 2025-era supply-chain attacks is the propagation surface.

That editor-config vector is the genuinely new thing, and it exists because of how developers now work. Agentic coding tools read project-local configuration and execute it with the developer's full permissions. Every repository cloned is now potentially an execution surface, not just a source of code -- a threat model that lockfiles, package signing and dependency pinning were never designed to cover.

The defensive picture is uneven. npm provenance attestations and trusted publishing help against tarball tampering but do nothing about a config file committed to a repo. GitHub has been tightening token scoping since the September 2025 Shai-Hulud wave, which hit roughly 500 packages. Socket, Snyk and Phylum sell behavioral scanning for exactly this. None of it catches a JSON file that tells your editor to run a command.

The practical control that works today: audit `.vscode` and `.claude` directories in every repository you clone, and treat editor configuration as executable code in code review.

The economics favor the attacker in a way most boards still do not appreciate. Publishing to npm costs nothing, the registry serves billions of downloads a month, and a single compromised maintainer token can republish dozens of packages before anyone notices. GitHub and npm have both tightened publishing controls since the September 2025 Shai-Hulud wave -- trusted publishing, mandatory 2FA for high-impact maintainers, provenance attestations -- and ChainDrop still reached 444 packages, which suggests the controls are necessary rather than sufficient.

For venture investors the relevant read is that software supply-chain security is no longer a single category. Dependency scanning (Snyk, Socket, Phylum), artifact signing (Sigstore, npm provenance) and runtime detection are all separate products, and the agentic-editor vector this worm exploited belongs to none of them cleanly. That gap is where the next set of security companies gets funded.

The disclosure timeline is its own lesson. The campaign was identified on August 4 and infected packages were pulled quickly, but detailed public analysis did not appear until August 15 -- eleven days during which teams pulling dependencies had no easy way to know whether their build was affected. Registry takedowns are fast; the advisory ecosystem that tells engineering leaders what to actually check is not, and that gap is where most real-world compromise happens.

ShareXLinkedInEmail

Key Sources

2 sources

THE WIRE in your inbox— Tech, startup & VC news with Trace's take. Free, no spam.