Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in tailwind-custom-templates (npm)

The npm package tailwind-custom-templates contains obfuscated malicious code that executes on import, performing Ethereum-related network activity including wallet address swapping or on-chain command-and-control. The package masquerades as a Tailwind CSS form-styling plugin but bundles obfuscated payload designed to interact with Ethereum RPC providers and blockchain explorers.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
All npm users who installed tailwind-custom-templates
Ecosystems
Attack vectors
Affected entities
  • tailwind-custom-templatesnpm package masquerading as Tailwind CSS form-styling plugin

The npm package tailwind-custom-templates was published with malicious code embedded in its main entry point (src/index.js). While the package advertises itself as a Tailwind CSS form-styling plugin and includes a copy of the legitimate tailwindcss-forms library, it appends obfuscated code generated by obfuscator.io that executes immediately upon import.

The malicious payload decodes to code that performs Ethereum-related network activity, including hardcoded references to an Ethereum RPC provider (drpc.org), Etherscan-style API endpoints, and a hardcoded Ethereum address (0xa322E5f3...). The code assembles HTTP requests with standard headers and User-Agent strings, consistent with wallet-address-swap/clipper malware or on-chain command-and-control functionality.

The package name does not match the bundled source code (tailwindcss-forms) or the referenced Tailwind Labs repository, indicating intentional masquerade. The declared purpose of Tailwind CSS form styling has no legitimate need for Ethereum RPC or blockchain explorer traffic, confirming the malicious intent.

This attack vector represents a supply chain compromise where a malicious package was published to npm with the intent to compromise installer machines at import time.

Indicators of compromise

Packages
  • tailwind-custom-templates
Domains
  • drpc.org

Remediation

  • Immediately uninstall tailwind-custom-templates from all projects and environments
  • Audit npm package.json and lock files for any presence of tailwind-custom-templates
  • Review any machines that installed this package for signs of unauthorized Ethereum wallet activity or network connections to drpc.org or Etherscan-style endpoints
  • If installed, consider the machine potentially compromised and review for wallet/private key exposure
  • Use npm audit to check for other malicious packages
  • Implement package verification and review processes before installation
  • Monitor for similar masquerade packages with similar naming patterns

Sources

  1. GitHub Advisory GHSA-7fqm-rw2q-w45v · GitHub Advisory Database

Cite this entry

"Malicious code in tailwind-custom-templates (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 19, 2026; last updated August 19, 2026. https://supplychainattack.org/incident/malicious-code-in-tailwind-custom-templates-npm-mx05n0

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. 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
  2. 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
  3. 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
  4. 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