Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in carbon-monorepo (npm)

The npm package carbon-monorepo contained malicious code that executed a postinstall hook to collect and exfiltrate sensitive host and credential data via HTTP to an OAST domain. The package was disguised as an esbuild build artifact but contained no legitimate library code.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any developer or CI/CD system that installed the malicious carbon-monorepo package would have had sensitive data exfiltrated, including npm auth tokens, environment variables, system information, and potentially /etc/shadow contents.
Ecosystems
Attack vectors
Affected entities
  • carbon-monorepoMasqueraded as esbuild netbsd-x64 build but contained only reconnaissance and exfiltration payload

The npm package carbon-monorepo was published with a malicious postinstall hook that executed during package installation. The hook ran a reconnaissance and data exfiltration script that collected sensitive information from the host system and the installing user's environment.\n\nThe script gathered: system hostname, full process environment variables, platform/architecture details, current working directory, package.json contents, node_modules directory listing, and output from shell commands (whoami, uname, id, cat /etc/passwd, cat /etc/shadow). It also read the ~/.npmrc file, which typically contains npm authentication tokens, and recent logs from ~/.npm/_logs.\n\nAll collected data was exfiltrated via plain HTTP POST requests to the hardcoded domain ywy8qnd4a931ga4v74k70b9g67c00qof.oastify.com, a Burp Collaborator out-of-band data exfiltration (OAST) subdomain. The package metadata falsely described it as a netbsd-x64 build for esbuild, but the tarball contained only the malicious script with no legitimate build artifacts or library code.\n\nThe incident was identified and credited to the OpenSSF malicious-packages repository.

Indicators of compromise

Packages
  • carbon-monorepo
Domains
  • ywy8qnd4a931ga4v74k70b9g67c00qof.oastify.com

Remediation

  • Immediately uninstall carbon-monorepo from all systems where it was installed
  • Rotate all npm authentication tokens and credentials that may have been exposed via ~/.npmrc
  • Review and rotate any other credentials or secrets that may have been in environment variables or shell command outputs
  • Audit system logs and process history for any suspicious activity during the installation period
  • Check for any unauthorized access to systems or accounts that had the package installed
  • Implement package verification and scanning in CI/CD pipelines to detect malicious packages before installation
  • Use npm audit and third-party supply chain security tools to monitor for similar threats

Sources

  1. GitHub Advisory GHSA-qqpg-vxw2-32f8 · GitHub Advisory Database

Cite this entry

"Malicious code in carbon-monorepo (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-carbon-monorepo-npm-1jpoz1

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. containedcritical

    Malicious code in 3-buildsight-web (npm)

    The npm package 3-buildsight-web contains malicious code that fetches and executes arbitrary JavaScript from a remote Bitbucket URL on module load, granting full page privileges to an unverified third party.

    npmCompromised package
  2. resolvedcritical

    Malicious code in @usaa-grp-personal-profile/personal-profile-common (npm)

    Malicious package @usaa-grp-personal-profile/personal-profile-common version 999.0.0 published to public npm as a dependency-confusion attack targeting an organization's internal registry. The package contains preinstall and postinstall hooks that exfiltrate hostname, username, and working directory to an attacker-controlled OAST endpoint on every install.

    npmDependency confusionCompromised package
  3. 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
  4. resolvedcritical

    Malicious code in @syncraft-labs/vue (npm)

    The npm package @syncraft-labs/vue version 0.4.1 contained malicious obfuscated code in its ESM build that implements a blockchain-hosted C2 dropper (EtherHiding pattern), enabling remote code execution on any consumer importing the package.

    npmCompromised package