Malicious code in tailwind-container-queries (npm)
Description
The npm package tailwind-container-queries version 0.1.1 contains malicious code that, upon requiring the package, executes an obfuscated payload. This payload queries Ethereum RPC endpoints to retrieve IP addresses, fetches XOR-encrypted code from attacker-controlled servers, decrypts and executes it, and establishes a persistent detached Node.js process on the host. The package impersonates a legitimate Tailwind CSS package by copying its README and repository metadata. After execution, the malicious code removes itself from the package file to evade detection. The attacker can rotate command-and-control IP addresses by publishing new Ethereum transactions, maintaining control over the fetched payloads.
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The tailwind-container-queries npm package version 0.1.1 includes an appended eval(atob(...)) block in its dist/index.js file that queries Ethereum RPC endpoints for the last transaction from a hardcoded Ethereum address. It decodes the transaction's recipient field into two IPv4 addresses, which it uses to fetch XOR-encrypted payloads over HTTP. These payloads are decrypted with hardcoded keys; one is executed in-process via eval, and the other is launched as a detached Node.js process to maintain persistence. After execution, the malicious loader rewrites dist/index.js to remove the eval block, hindering analysis. The package mimics the legitimate @tailwindcss/container-queries package by copying its README and repository link. The use of on-chain Ethereum transactions as a command-and-control mechanism allows the attacker to dynamically update the IP addresses serving the payloads, enabling full attacker control over the malicious code delivered to victims.
Potential Impact
This malicious package can execute arbitrary code on the host system, establish persistent backdoor processes, and evade detection by removing its payload from disk after execution. The attacker maintains dynamic control over the payloads via Ethereum blockchain transactions, enabling ongoing compromise and potential further malicious activities on affected systems.
Mitigation Recommendations
No official patch or remediation is currently documented for this malicious package. Users should immediately remove the tailwind-container-queries package version 0.1.1 from their environments and avoid using this package. Verify dependencies and sources before installation, and prefer official packages from trusted maintainers. Monitor for any unauthorized Node.js processes spawned as described and investigate affected systems for compromise. Patch status is not yet confirmed — check vendor advisories or npm security advisories for updates.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- MAL-2026-15903
- Osv Schema Version
- 1.7.4
- Ecosystems
- ["npm"]
Threat ID: 6a9ad4edacd9273b49b67820
Added to database: 09/04/2026, 14:25:49 UTC
Last enriched: 09/07/2026, 16:24:13 UTC
Last updated: 10/04/2026, 01:59:06 UTC
Views: 23
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.