Shai-Hulud worm wave 2: @testsecuiitytestme/cache-helper npm package — malicious native-addon loader steals credentials (no CVE)
Severity: critical · Patch status: no-fix-needed · Since 2026-10-28
A malicious npm package, @testsecuiitytestme/cache-helper, published 2026-10-27 under the account testsecuiitytestme, ships versions 1.0.1–1.0.3 containing a native-addon loader matching the second wave of the Shai-Hulud npm worm. The postinstall-loaded ELF/PE addon evades CI, sandbox, container and debugger environments, then decodes an embedded .napicache payload (XOR, brotli) and runs it via the Bun runtime (downloaded if absent). The obfuscated payload collects npm, GitHub, GitLab, PyPI, RubyGems, JFrog, Docker Hub, GHCR, AWS, GCP, Azure, Vault and Kubernetes credentials, plus SSH keys, .env files, browser logins, macOS keychain, 1Password and Bitwarden, and propagates via npm/PyPI/RubyGems publishing, CI workflow injection and AI assistant config writes. No patched versions exist; the package should be considered fully malicious.
What to do
- Remove and deny-list @testsecuiitytestme/cache-helper versions 1.0.1–1.0.3 from all environments and lockfiles
- Audit machines that installed it for the detached loader/Bun processes and hidden temp files
- Rotate all credentials accessible from affected machines: npm, GitHub, GitLab, PyPI, RubyGems, cloud (AWS/GCP/Azure), Vault, Kubernetes, Docker Hub, GHCR
- Check for tampering with GitHub/GitLab CI workflows, composite actions and AI assistant configs (.claude/settings.json, .cursor rules, .mcp.json, CLAUDE.md)
- Review browser login databases, SSH keys, .env files and password-manager exposure; invalidate sessions and tokens
Sources
All live incidents on Threat Watch