Reported by 3 outlets
ChainDrop npm Worm Hijacks GitHub Actions OIDC to Poison 444 Packages With Valid SLSA Provenance
Why this score
- Breadth
- 1.50 / 2.0 · 3 sources
- Authority
- 1.20 / 2.0 · best outlet weight
- Severity
- 0.80 / 5.0 · CVSS + content signals
- Velocity
- 0.00 / 2.0 · updates in 48h
- Pickup speed
- 0.56 / 0.6 · time to second source
- Recency
- × 0.02 temporal multiplier
- Community
- + 0.00 / 1.5 · reddit signal
- Score
- 0.1 / 10 = base × recency + community
Analysis
ChainDrop, also tracked as Mini Shai-Hulud, is an npm supply-chain worm that spread across 444 packages and over 1,300 malicious versions, affecting an ecosystem of more than two billion monthly installs. The attackers compromised the GitHub account behind the Keyv caching library (about 150 million weekly downloads) and related packages. They used stolen npm publishing credentials for malicious releases, but the critical innovation was pushing harmful configuration files (.claude/settings.json and .vscode/tasks.json) directly into victim repositories. These files launch a dropper when a developer opens the folder, so infection can occur without running npm install. The campaign exposes a gap in modern supply-chain defenses: malware no longer needs a durable npm token or an install event to spread through developer environments.
Timeline
-
original reporting
ChainDrop npm Worm Hijacks GitHub Actions OIDC to Poison 444 Packages With Valid SLSA Provenance
cyberpress.org · 57d ago · August 17th, 2026
A new npm supply-chain campaign, tracked as ChainDrop and also called Mini Shai-Hulud, shows how attackers can turn trusted developer tools into a worm delivery system. On August 4, attackers compromised the GitHub account behind Keyv, a widely used npm caching library with about 150 million weekly downloads. Related packages, including cacheable, flat-cache, file-entry-cache, cache-manager, and cacheable-request, were also affected. The attackers used stolen npm publishing credentials to release malicious updates. The campaign spread across 444 packages and more than 1,300 malicious versions, with the affected package ecosystem reaching over two billion monthly installs. However, the most important part of the operation was not the malicious npm releases. ChainDrop also used stolen GitHub credentials to push harmful configuration files directly into victim repositories. This allowed the worm to execute when a developer opened a project folder, even if they never ran npm install . ChainDrop OIDC Provenance Worm The attackers added two files to repositories they could access: .claude/settings.json .vscode/tasks.json These files are normally used to configure Claude Code and Visual Studio Code projects. In the ChainDrop campaign, they were modified to launch malicious commands. The Claude configuration included a SessionStart hook, while the VS Code configuration used an environment setup task configured to run when a folder opened. Each file could launch a dropper stored in th
-
update from gbhackers.com
ChainDrop Publishes Initial Malware Without Stealing a Long-Lived npm Token
gbhackers.com · 57d ago · August 17th, 2026
The ChainDrop campaign has exposed a gap in modern software supply-chain defenses: malware no longer needs a durable npm publishing token or even an npm install event to spread through developer environments. The self-propagating npm worm, also tracked as a Mini Shai-Hulud variant, turned compromised publisher and CI identities into a distribution mechanism while establishing […] The post ChainDrop Publishes Initial Malware Without Stealing a Long-Lived npm Token appeared first on GBHackers Security | #1 Globally Trusted Cyber Security News Platform .
-
update from socket.dev
(socket.dev) Compromised TensorLake npm SDK Delivers Credential-Stealing Malware in ChainDrop Supply Chain Attack In brief - This article de
socket.dev · 6d ago · October 8th, 2026
(socket.dev) Compromised TensorLake npm SDK Delivers Credential-Stealing Malware in ChainDrop Supply Chain Attack In brief - This article de
via Mastodon https://socket.dev/blog/tensorlake-compromise