Skip to content

Back to the catalog

keyv and cacheable npm Package Hijacked in Supply Chain Attack
wiz.iowriteup

keyv and cacheable npm Package Hijacked in Supply Chain Attack

Wiz Research documents an ongoing supply chain attack in which a compromised GitHub maintainer account was used to publish malicious versions of keyv, cacheable, and 400+ dependent npm packages. The payload is a variant of the open-sourced 'Mini' Shai-Hulud malware (linked to the TeamPCP and antv campaigns) that steals cloud, CI/CD, AI-agent, and cryptocurrency credentials, persists via Claude Code hooks and VS Code tasks.json, exfiltrates data to attacker-controlled GitHub repos, and retrieves its C2 domain dynamically via an Ethereum smart contract (StringListStore) eth_call rather than hardcoding it.

TL;DR A Mini Shai-Hulud-derived worm hijacked the keyv/cacheable npm ecosystem via a compromised maintainer account, spreading to 400+ packages and using an Ethereum smart contract to serve C2 domains.
Document

What it is

The Wiz page on the keyv/cacheable npm compromise carries concrete IOCs and detection artifacts the summary abstracts away. The attack began at 09:00 UTC (page dated August 4, 2026); the worm reached 400+ packages. The payload is a modified "Mini" Shai-Hulud variant.

Indicators the summary omits

  • C2 domain: the StringListStore contract initially returned three domains, then was updated to return only npm-cache[.]com. The contract owner was funded by an address previously flagged for scam activity.
  • Malicious user-agent: Bun/1.3.13 performing the malicious calls.
  • Lock file artifact: tmp.dpkg_14527.lock.
  • GitHub exfil repos use the default description Shai-Hulud: Here We Go Again.
  • Commit fingerprints: the intimidation string IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients in initial commits; IDE-persistence commits use the message chore: update config.

How the new features work

  • Dead-man's switch is now selectively armed by C2 response: the C2 returns a code specifying the command to arm the switch and which token to monitor for revocation. The revocation monitor checks api.github.com/user, so any token valid there can be watched.
  • Per-machine targeting: the malware sends a SHA256 hash of concatenated system properties alongside stolen credentials — Wiz believes this enables customized (targeted) dead-man switch delivery.
  • A new RSA key encrypts exfiltrated data, but the RSA key verifying fallback C2s posted to GitHub is unchanged.

Expanded credential targets (~70% more)

New additions: AI-agent credential stores for Claude, OpenAI, Codex, Cursor, Gemini; crypto keystores for Foundry, Solana, Monero; self-hosted CI/registry secrets — Jenkins master.key, Argo CD, Harbor; Alibaba Cloud and Tencent Cloud CLI configs; and system files including /etc/shadow.

What to do

Per Wiz: identify and remove affected package versions from dev/build/CI; treat affected systems as compromised and rebuild if malicious packages were installed; rotate exposed credentials (cloud, GitHub tokens, SSH keys, Kubernetes configs, Terraform creds); review cloud/source environments for unauthorized access post-install; monitor for the IOCs above; and enable dependency allowlisting, package integrity verification, and provenance controls. The full affected-package list is on Wiz's GitHub.

Caveats

The page is explicitly an initial, actively-updated investigation — affected packages, IOCs, and attribution may change.

Organisations named here

  • npm-cache[.]com
  • Shai-Hulud
  • StringListStore
  • Wiz Research

Technologies named here

  • Wiz Research
  • keyv
  • cacheable
  • GitHub
  • over 400 distinct npm packages
  • Ethereum smart contract
  • npm
  • Ethereum
  • Claude Code
  • VS Code
  • Bun
  • AntV

Techniques named here

  • Credential and secrets harvesting
  • Data exfiltration via GitHub repositories
  • Dynamic C2 resolution via blockchain smart contract
  • Dead-man's switch
  • Machine fingerprinting
  • CI/CD and cloud environment enumeration

Threat actors named here

  • "Mini" Shai-Hulud malware family
  • TeamPCP
  • antv supply chain campaign
  • Shai-Hulud
  • Mini Shai-Hulud