MAL-2026-15904 Malicious code in tailwind-scrollbar-styles (npm)

Malicious package Published
Package
tailwind-scrollbar-styles
Registry
npm

What is MAL-2026-15904?

MAL-2026-15904 is a malicious package in tailwind-scrollbar-styles, published on 4 Sep 2026.

Official description

dist/index.js exports a small tailwind plugin and then runs eval(atob("Z2x…")) on an embedded base64 blob at module load time. The decoded loader queries Ethereum RPC endpoints (1rpc.io/eth, drpc.org, publicnode, blastapi.io) and Blockscout for the most recent transaction sent by hardcoded address 0xa322E5f3D311D3080e6f0121063e9aDC2490Ef1a, decodes four bytes of that transaction's to field into an IPv4 address, HTTP-GETs http://<decoded-ip>:443/0x/cls and http://<decoded-ip>:443/0x/ls, XOR-decodes the response with literal keys, and executes it via eval() and via a detached spawn(&#34;node&#34;, [&#34;-e&#34;,...], {detached:true, stdio:&#34;ignore&#34;, windowsHide:true}).unref(). After first execution the loader reads its own file, locates the eval(atob(&#34;Z2x... region, and rewrites dist/index.js with the region removed, so the malicious line disappears from disk. The Ethereum-transaction-based resolver lets the operator rotate the C2 IP at any time by publishing a new transaction from the controlling address, and the self-erasing stub defeats post-incident inspection of the installed copy.

What should I do about MAL-2026-15904?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-15904 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free