Affected Systems

npm packages: keyv@6.0.0 and at least 353 poisoned versions across 79 package names (SafeDep verified); broader estimates reach 868 packages. Affects developers and CI/CD environments using npm clients prior to npm 12, Claude Code, and VS Code. Keyv 5.x line and @keyv/* adapters confirmed clean.

Exploitation Status

Active exploitation confirmed. Worm spread autonomously on August 4, 2026, using stolen npm publishing credentials. Preinstall scripts executed in developer workstations and CI runners. Claude Code and VS Code repository hooks present but require user trust/workspace approval to execute.

Business Impact

Credential exposure across GitHub, npm, cloud providers (AWS/Azure/GCP), HashiCorp Vault, Kubernetes, databases, and SSH private keys. Compromised npm publishing tokens enable further supply chain propagation. CI/CD pipelines and developer workstations that installed affected versions between initial compromise and registry cleanup are exposed. npm 12 blocks unapproved lifecycle scripts by default, but earlier clients remain vulnerable. Rotating credentials before removing the malware's revocation watcher triggers attacker-supplied handlers.

Urgency

🔴 Immediate

Recommended Actions

  • Audit package-lock.json, yarn.lock, or pnpm-lock.yaml for exact resolved versions of keyv, flat-cache, cache-manager, and dependencies; compare against SafeDep's verified list of 79 poisoned package names rather than relying on 'latest' tags
  • Treat any workstation or CI runner that executed affected versions as fully compromised; remove the credential-revocation watcher at ~/.config or equivalent before rotating any tokens or keys
  • Rotate all credentials accessible from compromised environments: GitHub tokens, npm publish tokens, cloud provider keys (AWS/Azure/GCP), Vault tokens, Kubernetes service accounts, database credentials, and SSH private keys
  • Review npm audit logs and GitHub Actions runner memory dumps for evidence of credential harvesting; check for unauthorized package publishes from organizational npm accounts between August 4, 2026 and present
  • Upgrade to npm 12 or configure npm clients to block lifecycle scripts by default (npm config set ignore-scripts true); review VS Code and Claude Code workspace trust settings to prevent automatic task execution in untrusted repositories