Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

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.

ShareXLinkedInHacker News
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

  1. 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.

  1. containedcritical

    Malware in userbotjs

    The npm package userbotjs contained malware that could fully compromise any system on which it was installed. The advisory recommends treating affected systems as fully compromised and rotating all secrets and keys from a different computer.

    npmCompromised package
  2. containedcritical

    Malware in @junofficial/baileys

    The npm package @junofficial/baileys contained malware that fully compromised any system with the package installed or running. The malicious package has been identified and removed from distribution.

    npmCompromised package
  3. containedcritical

    Malware in a.poltoradnev-package-a

    The npm package a.poltoradnev-package-a contains malware that grants full system compromise to attackers. Any computer with this package installed should be considered fully compromised and all secrets and keys rotated immediately from a different machine.

    npmCompromised package
  4. activecritical

    Malware in @zynkit/probe

    Malware discovered in the npm package @zynkit/probe. Systems with this package installed or running are considered fully compromised, with potential for complete system takeover.

    npmCompromised package