Malicious code in core-tailwindcss-utility (npm)
core-tailwindcss-utility, an npm package falsely advertised as a Tailwind CSS utility, contains malicious code that fetches and executes arbitrary Node.js code from a remote C2 server. The package includes suspicious dependencies for credential theft and remote communication.
- Disclosed
- Last updated
- Blast radius
- Any npm consumer of core-tailwindcss-utility
- Ecosystems
- Attack vectors
- Affected entities
- core-tailwindcss-utilitynpm package
core-tailwindcss-utility is a malicious npm package that masquerades as a Tailwind CSS utility library but contains no actual CSS utilities. Instead, its index.js exports a getPlugin() function that fetches JSON from a hardcoded bare-IP endpoint (https://31.97.137.157:45000/icons/108) and executes the response's credits field as arbitrary Node.js code using new Function(...) with access to require, process, and Buffer.\n\nThe package includes a decoy setDefaultModule() function that constructs CDN URLs (cloudflare.com, fastly.net) to disguise itself as a font-awesome or CDN helper, but the actual invoked path targets the bare-IP command-and-control server. The declared dependencies—@primno/dpapi (Windows DPAPI decryption), better-sqlite3/sqlite3, node-machine-id, socket.io-client, and axios—are inconsistent with any legitimate Tailwind purpose and pre-stage the infrastructure for credential theft and remote C2 communication.\n\nThe package was identified by Amazon Inspector and credited to the OpenSSF's malicious-packages repository. Any system that installs and uses this package would execute attacker-controlled code with full Node.js privileges, enabling credential theft, data exfiltration, and further compromise.
Indicators of compromise
- Packages
- core-tailwindcss-utility
- IPs
- 31.97.137.157
Remediation
- Immediately uninstall core-tailwindcss-utility from all systems and projects
- Audit npm package.json and lock files for any presence of core-tailwindcss-utility or similar typosquatting variants
- Review npm audit logs and CI/CD logs for any execution of this package
- Assume any system that installed this package is compromised; rotate credentials, review access logs, and scan for lateral movement
- Use npm security tools (npm audit, Snyk, Dependabot) to detect and prevent installation of known malicious packages
- Consider using a private npm registry or allowlist to control package sources
Sources
- GitHub Advisory GHSA-4j6f-r8pw-g5w5 · GitHub Advisory Database
Cite this entry
"Malicious code in core-tailwindcss-utility (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 18, 2026; last updated August 18, 2026. https://supplychainattack.org/incident/malicious-code-in-core-tailwindcss-utility-npm-1o1krs
Suggest a correction
Found an error or have a newer source? Corrections to factual errors take priority over new entries.
Related incidents
- 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 - 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 - resolvedcritical
Malicious code in create-coin (npm)
create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.
npmCompromised packageTyposquatting - 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