Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

tailwind-form-kitnpm

Advisory published Updated

tailwind-form-kit is a confirmed malicious npm package (MAL-2026-16139) that typosquats a legitimate package to trick installs (malicious versions 0.5.1, 0.6.2, 0.6.3…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in tailwind-form-kit (npm)

MAL-2026-16139
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall tailwind-form-kit

What this malware does

The package presents itself as a Tailwind CSS forms plugin but its main entry src/index.js is a heavily obfuscated module (obfuscator.io-style rotating string array with 303 entries, hex identifiers, control-flow dispatchers) that on require/import dynamically loads node:http, node:https, node:zlib, and node:child_process via createRequire and stashes them on the global object. On module load it issues POST requests carrying a custom x-payload-* header and a spoofed Chrome/Windows User-Agent to a hardcoded blockchain indexer (etherscan/blockscout-style) and to public Ethereum RPC providers (publicnode.com, drpc.org, 1rpc.io, eth-mainnet), reading process.env.ETH_RPC_URL to augment the RPC list, and references a hardcoded Ethereum sender address. None of this behavior is disclosed and none of it corresponds to a Tailwind CSS forms plugin; the repository field also impersonates tailwindlabs. The combination of heavy obfuscation, dynamic-require caching on global, spawn availability, and unsolicited outbound blockchain network I/O at library-load is a covert import-time channel unrelated to the advertised purpose.

Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.

Malicious versions

5 flagged
0.5.10.6.20.6.30.6.40.6.5

Indicators of compromise (SHA-256)

cccb2aed2f968e146b433d2a2600f17104f0dcacfd951190771f8e59aee3a252
2f393dd02d60e026717c58d23e86b376b0a47b73038607f8ddd9254442f0d1e6
92f4a69a3b50ac2347f8b3324abca2c0df1cf83422ee0f164b799cb748fa76b5
16c4df50dfdc0537867f4220f484267f1f4dfa452390580c87ce09966df097cc
51ff50380d53d3a3bee3d1b852aee71ff00eb73cf9c2983d241bd24764a228d9
8757a2cc276c11fe12b666a62b0a41583788fe1c6c9acd46a353c4edd2fbe3ff

Detection & response playbook

Typosquat
  1. Find it

    Search your lockfiles and build artifacts for tailwind-form-kit (5 malicious versions).

  2. If you installed it — respond

    tailwind-form-kit is a typosquat — you almost certainly intended a legitimately-named package. Remove tailwind-form-kit, install the correct package, and rotate any secrets exposed during the install since post-install scripts may have already run.

  3. Did it already run?

    If tailwind-form-kit was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

Frequently asked questions

No. tailwind-form-kit on npm has been identified as a malicious package (versions 0.5.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-020011GHSA-8p5f-pjcw-69mwIN-MAL-2026-020017IN-MAL-2026-020360IN-MAL-2026-020362IN-MAL-2026-020359

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks tailwind-form-kit-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore