Malicious code in forge-extended (npm)
The npm package forge-extended contained malicious code in its preinstall script that exfiltrated system information and sensitive files to an attacker-controlled endpoint during installation. The package collected hostname, username, home directory, DNS servers, /etc/passwd, and /etc/hosts, sending them via HTTPS POST to a Burp Collaborator subdomain.
- Disclosed
- Last updated
- Blast radius
- Any developer or CI/CD system that installed forge-extended via npm
- Ecosystems
- Attack vectors
- Affected entities
- forge-extendednpm package with malicious preinstall script
The npm package forge-extended was found to contain malicious code embedded in its preinstall script (index.js). Upon installation via npm install, the script automatically executed as a lifecycle hook without requiring user action.
The malicious script performed reconnaissance by collecting sensitive system data from the installer's environment, including os.hostname(), os.userInfo().username, home directory path, DNS server configuration, and package metadata. It also read sensitive files from the installer's filesystem: /etc/passwd and /etc/hosts.
All collected data was aggregated into a JSON payload and exfiltrated via HTTPS POST to the attacker-controlled endpoint 67bqctsh977zz60hiszvr1pbc2iu6ku9.oastify.com, a Burp Collaborator subdomain unrelated to any documented package functionality. The payload structure and destination are consistent with dependency-confusion attacks and reconnaissance beacons.
The incident was identified and credited to the OpenSSF malicious-packages repository (MAL-2026-12040).
Indicators of compromise
- Packages
- forge-extended
- Domains
- 67bqctsh977zz60hiszvr1pbc2iu6ku9.oastify.com
Remediation
- Immediately uninstall forge-extended from all development machines and CI/CD systems
- Review npm install logs and audit systems that may have installed this package for signs of compromise
- Rotate credentials and secrets that may have been exposed on affected systems
- Monitor systems for suspicious outbound HTTPS connections to oastify.com domains
- Use npm audit to check for this malicious package in dependency trees
- Consider implementing npm package verification and allowlisting in your organization's dependency management
Sources
- GitHub Advisory GHSA-3pph-gj9f-37j7 · GitHub Advisory Database
Cite this entry
"Malicious code in forge-extended (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 5, 2026; last updated August 5, 2026. https://supplychainattack.org/incident/malicious-code-in-forge-extended-npm-1ruju0
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- resolvedcritical
Malicious code in santana-baileys (npm)
Malicious code discovered in santana-baileys npm package that covertly relays WhatsApp messaging data to an attacker-controlled endpoint (https://fiora.nixel.my.id/) via obfuscated character-code reconstruction in the message-send code path.
npmCompromised package - resolvedcritical
Malicious code in elephant-tusk-runner (npm)
The npm package elephant-tusk-runner contained malicious code that exposed a remote shell and remote code execution surface via an unauthenticated Express + WebSocket server binding to 0.0.0.0:4201 with fully open CORS. Any peer able to reach the port could execute arbitrary commands on the host.
npmCompromised package - resolvedcritical
Malicious code in @cats-cdf/browser-metrics-meter (npm)
The npm package @cats-cdf/browser-metrics-meter contained malicious code in its preinstall lifecycle script that exfiltrated system reconnaissance data (username, hostname, public IP) to an OAST collector domain. The package executed this behavior unconditionally on installation without consent or documented purpose.
npmCompromised package - resolvedcritical
Malicious code in @ks-video/kwai-player-web (npm)
The npm package @ks-video/kwai-player-web contained malicious code in its postinstall hook that exfiltrated system reconnaissance data (hostname, username, working directory, network interfaces, environment variable names) over plain HTTP to an unrelated third-party domain. The package has no legitimate relationship to the declared publisher Kwai/@ks-video.
npmCompromised package