tailwindcss-3d-styles@1.2.2
Malicious code in tailwindcss-3d-styles (npm)
Analysis
tailwindcss-3d-styles@1.2.2 ships an obfuscated Ethereum-drainer/C2 implant inside css-utilities/transform.js. The module's eval(atob(...)) decodes a payload that hardcodes attacker address 0xa322e5f3d311d3080e6f0121063e9adc2490ef1a, queries public Ethereum RPC endpoints (1rpc[.]io/eth, eth[.]drpc[.]org, ethereum-rpc[.]publicnode[.]com, eth-mainnet[.]public[.]blastapi[.]io) and the Blockscout API (hxxps://eth[.]blockscout[.]com/api) to locate the attacker's most recent outgoing transaction, then decodes the transaction's destination address into two IPv4 addresses used as C2 endpoints (hxxp://{ip}:80 and :443). The payload spawns detached `node -e` processes that fetch and eval a second-stage payload from the C2, and self-deletes the eval(atob(...)) block from its own source file after running. The implant executes when the package is required (index.js loads ./css-utilities).
- analyzed by
- Leitwacht
- first seen
- Aug 31, 2026, 06:32 PM
- analyzed
- Aug 31, 2026, 06:33 PM
- weekly installs
- 113
Related advisories
- devplatform-spa-plugin-module-loader@35.8.5
- entropyeasybots@2.0.2
- @marketfront/bannerpopup@7.0.0
- @digitalcnzz/embedded-sdk@1.0.7
- util-free-ports@3.1.2
- stringfy-utils-kit@1.0.0
- sort-btree@2.1.4
- macos-ci-utils@1.0.1
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.