Malicious code in core-js-buffer (npm)
The npm package core-js-buffer contained malicious postinstall code that exfiltrated system information and executed encrypted Python payloads on developer machines. The package name mimics the legitimate core-js library.
- Disclosed
- Last updated
- Blast radius
- Potentially all npm users who installed core-js-buffer; actual impact limited by dev-machine detection and daily throttling.
- Ecosystems
- Attack vectors
- Affected entities
- core-js-bufferMalicious npm package mimicking core-js
The npm package core-js-buffer was found to contain malicious code in its postinstall script (declared in package.json as "postinstall": "node init.js"). Upon installation, the init.js script performed two hostile actions: first, it exfiltrated system identifiers including hostname, username, platform, architecture, Node version, OS release, package metadata, and timestamp to https://core-js-buffer.domaup-com.workers.dev/report with TLS verification disabled. Second, it fetched an AES-256-GCM encrypted blob from the same domain, decrypted it using a fixed seed-derived key, and wrote the resulting Python code to ~/.cache/core-js-buffer/modules/ before spawning a detached Python process to execute it.\n\nThe malicious behavior included evasion controls: execution was gated by a dev-machine check (detecting Desktop/Documents/Downloads directories) to avoid CI and sandbox environments, throttled to at most once per day via a cached marker, and conditional on the decrypted payload containing the string 'TelemetrySender'. These characteristics are consistent with a malicious dropper rather than legitimate telemetry.\n\nThe package name was chosen to mimic core-js, a widely used JavaScript polyfill library, suggesting a typosquatting attack. The incident was identified and credited to the OpenSSF malicious-packages repository.
Indicators of compromise
- Packages
- core-js-buffer
- Domains
- core-js-buffer.domaup-com.workers.dev
Remediation
- Immediately uninstall core-js-buffer from all systems
- Audit npm install logs to identify if core-js-buffer was installed
- Review ~/.cache/core-js-buffer/ for any dropped Python payloads and remove them
- Check system logs for suspicious Python process execution
- Verify that the legitimate core-js package (not core-js-buffer) is installed if polyfill functionality is needed
- Consider rotating credentials and reviewing system access logs on affected machines
- Use npm audit to check for other malicious packages
Sources
- GitHub Advisory GHSA-5mv3-qc29-h7w4 · GitHub Advisory Database
Cite this entry
"Malicious code in core-js-buffer (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 13, 2026; last updated August 13, 2026. https://supplychainattack.org/incident/malicious-code-in-core-js-buffer-npm-ufamun
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- containedcritical
Malicious code in chai-as-testkit (npm)
The npm package chai-as-testkit is a typosquat/impersonation attack delivering obfuscated malicious code that executes on import. The package falsely claims to be a vulnerability management tool but ships pino library files under a different author, with a synthetic stub that loads a 4MB+ obfuscated bundle containing attacker-controlled code.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in create-coin (npm)
create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.
npmCompromised packageTyposquatting - resolvedcritical
Malicious code in chai-as-soul (npm)
chai-as-soul@2.3.5 is a typosquat of the pino logging library containing malicious code that exfiltrates environment variables (including AWS/GCP/CI tokens) and executes arbitrary remote code on installation.
npmTyposquattingCompromised package - resolvedcritical
Malicious code in @next-fonts/font (npm)
@next-fonts/font is a typosquat package on npm that executes arbitrary attacker-controlled code via a blockchain-mediated C2 channel when its Inter() function is called. The malicious payload is base64-encoded and executed through Node.js spawn or eval, with no legitimate font functionality.
npmTyposquattingCompromised package