Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in postcss-initial-provider (npm)

The npm package postcss-initial-provider contains obfuscated malicious code that executes arbitrary remote payloads at require time. The code queries Ethereum RPC endpoints to retrieve C2 instructions encoded in blockchain transactions, fetches encrypted payloads, and executes them via eval() and child_process.spawn().

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
Any system that installs postcss-initial-provider receives arbitrary code execution at install/require time.
Ecosystems
Attack vectors
Affected entities
  • postcss-initial-providernpm package containing malicious code in index.js

The npm package postcss-initial-provider was found to contain malicious code in its index.js file. The code uses unicode-escape obfuscation to hide sensitive strings and evade detection.

When the package is required, the malicious code queries public Ethereum RPC endpoints (1rpc.io/eth, eth.drpc.org, ethereum-rpc.publicnode.com, eth-mainnet.public.blastapi.io, eth.blockscout.com/api) for the latest transaction of a hardcoded wallet address (0xa322E5f3D311D3080e6f0121063e9aDC2490Ef1a). It then parses the transaction data to extract two IPv4 addresses, fetches an XOR-encrypted payload from those hosts over HTTP, decrypts it, and executes it both via in-process eval() and via detached node process spawning.

All sensitive strings—including module names (http, https, child_process), HTTP methods, paths, wallet address, RPC hostnames, and headers—are hidden using \uXXXX unicode escapes to evade tarball string scanning tools.

A PostCSS plugin for the initial CSS keyword has no legitimate reason to interact with Ethereum state, resolve IPs from blockchain transactions, or execute remote code. This represents a supply-chain compromise where any system installing this package receives arbitrary attacker-controlled code execution, with the C2 rendezvous point rotatable by the attacker via new on-chain transactions.

Indicators of compromise

Packages
  • postcss-initial-provider
Domains
  • 1rpc.io
  • eth.drpc.org
  • ethereum-rpc.publicnode.com
  • eth-mainnet.public.blastapi.io
  • eth.blockscout.com

Remediation

  • Immediately uninstall postcss-initial-provider from all systems
  • Audit npm install logs and package-lock.json to identify all systems that may have installed this package
  • Review process execution logs on affected systems for signs of unauthorized code execution
  • Rotate credentials and secrets on any system that installed this package
  • Consider using npm audit and supply-chain security tools to detect similar obfuscated malicious packages
  • Monitor for suspicious outbound HTTP connections to the identified RPC endpoints and C2 hosts

Sources

  1. GitHub Advisory GHSA-9qww-697m-3rg3 · GitHub Advisory Database

Cite this entry

"Malicious code in postcss-initial-provider (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 10, 2026; last updated August 10, 2026. https://supplychainattack.org/incident/malicious-code-in-postcss-initial-provider-npm-uj3e29

Suggest a correction

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

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

    Malware in @sdgdfgdfhhhfd/multiviewr

    Malware discovered in the npm package @sdgdfgdfhhhfd/multiviewr. Systems with this package installed are considered fully compromised and require immediate remediation.

    npmCompromised package
  4. 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