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().
- 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
- 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.
Related incidents
- 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 - 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 - 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 - 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