Poisoned Pipeline / Incidents / AS28
Keyv / Cacheable ChainDrop worm
npmGitHub ActionsDeveloper workstationAI coding agentsKubernetes
Maintainer Jared Wray's postmortem of the ChainDrop/Shai-Hulud wave on
keyv and cacheable. A leftover full-access GitHub PAT on an infected
developer machine pushed poisoned commits; the projects' own GitHub
Actions plus npm OIDC trusted publishing released them. Poisoned packages
therefore carried genuine SLSA/valid provenance. Provenance proved which
commit was built, not that the commit was authorized. First-wave payload
was a preinstall hook dropping a Bun second stage that harvested
npm/GitHub/AWS/Kubernetes/Vault credentials. About 444 package names /
2,212 versions in roughly four hours.
Mapped techniques
- T0153 Compromised developer workstation
- T0112 Compromised token
- T0166 Trigger pipeline execution
- T0202 Inadequate CI/CD workflow permissions
- T0206 Forge or omit build provenance
- T0109 Publish malicious artifact
- T0151 Installation scripts
- T0140 Harvest tokens from environment variables
supply-chain Maintainer machine and release workflow
Infected laptop held a stale full-access GitHub PAT.
The leftover PAT pushed poisoned commits to keyv/cacheable.
The project's own release workflow published the poison.
OIDC trusted publishing with write-capable automation.
Provenance was real and valid — and still described a malicious
commit. Presence of SLSA did not mean the commit was authorized.
Hundreds of package names published in hours.
preinstall downloaded a Bun second-stage harvester.
npm, GitHub, AWS, Kubernetes, and Vault creds.
Sources
- https://www.jaredwray.com/blog/keyv-and-cacheable-chaindrop-worm
- https://opensourcemalware.com/blog/new-npm-worm-keyv-cachable
- https://safedep.io/keyv-npm-supply-chain-compromise
- https://www.aikido.dev/blog/keyv-and-friends-compromised-in-npm-supply-chain-attack
- https://www.stepsecurity.io/blog/chaindrop-npm-worm
- https://socket.dev/blog/popular-npm-packages-in-the-keyv-and-cacheable-namespaces-compromised-in-active-supply-chain
- https://checkmarx.com/zero-post/shai-hulud-npm-supply-chain-attack-keyv-cacheable/
- https://unit42.paloaltonetworks.com/chaindrop-npm-worm-analysis/
- https://unit42.paloaltonetworks.com/web3-cloud-supply-chain-attacks/
- https://www.sonatype.com/blog/q3-2026-open-source-malware-index-when-compromise-compounds