Malicious code in streak-map-cache (npm)
The npm package streak-map-cache contained malicious code disguised as a native math accelerator. The package's main entrypoint executed a bundled Linux ELF binary (RedShell C2 implant) on every import, enabling remote command execution, reverse shell, credential harvesting, and data exfiltration.
- Disclosed
- Last updated
- Blast radius
- Any npm project that installed streak-map-cache
- Ecosystems
- Attack vectors
- Affected entities
- streak-map-cachenpm package containing malicious binary
The npm package streak-map-cache advertised itself as a dependency-free day/streak math library but contained a malicious Linux ELF binary bundled at dist/internal/calc-map.bin. On every import or require, the main entrypoint (dist/index.mjs) executed a top-level async IIFE that unconditionally changed the binary's permissions to 0755 and spawned it as a detached child process.
The actual JavaScript day-math logic in dist/internal/daymath.mjs was pure and functional, never invoking the binary. A placeholder _ensureEngine() function simply returned true, and code comments acknowledged the binary was cosmetic. This framing—combined with a README and log strings labeling the binary as a 'native math accelerator' and a fake sha256 'integrity gate'—was designed to defeat cursory review.
The bundled ELF was a RedShell C2 implant that beaconed to hardcoded C2 server 217.60.77.63 over plain HTTP. It accepted shell commands and implemented reverse shell, SOCKS5 proxy, TCP port-forwarding, memfd_create-based ELF/shellcode download-and-exec capabilities, chunked file exfiltration, and operator commands for harvesting SSH keys, credentials, database contents, environment variables, clipboard data, and arbitrary files. The implant also established systemd --user persistence.
The malicious package was identified and reported by the OpenSSF.
Indicators of compromise
- Packages
- streak-map-cache
- IPs
- 217.60.77.63
Remediation
- Immediately uninstall streak-map-cache from all projects and environments
- Audit npm install logs and dependency trees to identify all affected projects
- Assume any system that imported streak-map-cache has been compromised; perform forensic analysis and credential rotation
- Check for outbound HTTP connections to 217.60.77.63 in network logs
- Revoke and rotate all SSH keys, API tokens, database credentials, and secrets on affected systems
- Review system logs for evidence of reverse shells, port-forwarding, or file exfiltration
- Update npm lockfiles and re-install dependencies from a clean, verified source
- Consider using npm audit and supply-chain security tools to detect similar malicious packages
Sources
- GitHub Advisory GHSA-jrfj-4vf7-xrg3 · GitHub Advisory Database
Cite this entry
"Malicious code in streak-map-cache (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 7, 2026; last updated August 7, 2026. https://supplychainattack.org/incident/malicious-code-in-streak-map-cache-npm-xa5qli
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malware in svelte-dim-kit
The npm package svelte-dim-kit was found to contain malware, potentially giving attackers full control of affected systems. All systems with this package installed should be considered compromised and secrets/keys rotated immediately from a different computer.
npmCompromised package - containedcritical
Malicious code in @syncraft-labs/react (npm)
The npm package @syncraft-labs/react contained obfuscated malicious code in its ESM distribution that implements the EtherHiding pattern, fetching and executing arbitrary code from an Ethereum smart contract via RPC endpoints. The tampering occurred post-build in the dist/index.js artifact.
npmCompromised package - containedcritical
Malicious code in stillm4ddpocs-demo-sprocket (npm)
The npm package stillm4ddpocs-demo-sprocket version 999.9.12 contains malicious code that exfiltrates system and project metadata via multiple channels (HTTPS, HTTP, and DNS) to a hardcoded callback host. The package uses a high version number to exploit dependency-confusion attacks against organizations with internal packages of the same name.
npmCompromised packageDependency confusion - resolvedcritical
Malicious code in stillm4ddpocs-rtest-bravo (npm)
The npm package stillm4ddpocs-rtest-bravo contained malicious code in its preinstall script that automatically executed during installation, collecting system information and internal package metadata and exfiltrating it to a third-party Interactsh collector via HTTPS and DNS tunneling.
npmCompromised package