Attackers hijacked the GitHub account of maintainer Jared Wray and used legitimate GitHub Actions workflows to publish malicious npm releases for keyv and multiple cacheable-family packages, seeding a supply-chain worm now described as ChainDrop, a variant of Shai-Hulud. Researchers said the campaign expanded from an initial set of 11 malicious releases to 444 infected packages, touching dependencies such as keyv, flat-cache, and cache-manager that together see roughly 2 billion monthly downloads. The poisoned packages carried valid GitHub-signed provenance, but the malicious payload was inserted into npm tarballs and obfuscated preinstall paths, allowing the attack to evade checks that rely on source-repository visibility.
The malware stole npm tokens, GitHub credentials, cloud keys, environment variables, shell data, and secrets from memory, then encrypted and exfiltrated the data after resolving command-and-control infrastructure through an Ethereum smart contract. It also planted persistence in repository and IDE configuration files including .claude/settings.json and .vscode/tasks.json, meaning simply opening a seeded repository in tools such as VS Code or Claude Code could trigger compromise and further spread. With stolen GitHub access, the worm enumerated repositories and branches, committed malicious configuration files, and installed a revocation-triggered kill switch tied to stolen tokens; defenders were urged to roll back to known-safe versions, inspect branches for unauthorized config changes, remove persistence before revoking credentials, and treat any host that installed affected packages or opened a seeded repository as compromised.

Mallory correlates global threat intelligence with your attack surface — know if you’re exposed before adversaries strike.
9 events from the most recent confirmed update back to the earliest known activity.
Multiple security researchers identified a large-scale npm supply chain attack using the Shai-Hulud variant later dubbed ChainDrop. The campaign was reported as infecting 444 npm packages from multiple publishers.
Additional compromised packages in the cacheable family were published between 10:09 and 10:14 UTC, followed by ecto at 10:28 UTC. Cycode identified 11 malicious releases across the maintainer's packages in this wave.
A malicious version of keyv, version 6.0.0, was published to npm through the repository's legitimate GitHub Actions workflow with valid GitHub-signed provenance. The release contained the worm's install hook and payload files.
A giveaway test file was removed from the compromised repository, indicating the attacker cleaned up evidence during the intrusion. Cycode placed this action after the malicious commit and persistence additions.
The attacker added persistence hooks to repository configuration files including .claude/settings.json and .vscode/tasks.json. These changes enabled compromise to trigger when a seeded repository was opened in tools such as VS Code or Claude Code.
Public commit records showed a malicious commit was pushed to the main branch of the keyv repository using maintainer Jared Wray's compromised GitHub account. This marked the start of the documented package compromise sequence.
Reporting on the ChainDrop campaign said the compromise ultimately involved more than 1,300 malicious npm releases across 444 packages representing over two billion monthly installs. The article also identified additional affected packages including flat-cache, file-entry-cache, and cacheable-request.
The exfiltration host npm-cache[.]com, later used by the malware's on-chain command-and-control setup, was registered. Cycode identified this domain as part of the campaign infrastructure.
The compromised packages were quickly removed from npm after the attack was identified. Reporting also noted that SafeDep published a list of affected packages and version numbers for defenders.
Vulnerabilities, threat actors, malware, products, organizations, breaches, and observables Mallory has linked to this story. Indicator values are masked here and available in full in the app.
Indicator values are masked on this page. View all 11 in Mallory Domains, IPs, hashes, and URLs are exportable to your SIEM.
5 references tracked. Mallory keeps watching after this page renders.
scworld.com
Open sourcenetskope.com
Open sourcecybersecuritynews.com
Open sourcetheregister.com
Open sourcecycode.com
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.