NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

trimpromptnpm

Advisory published Updated

trimprompt is a confirmed malicious npm package (MAL-2026-13462) that opens a backdoor for remote access (malicious versions 1.0.35, 1.0.42, 1.0.46…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in trimprompt (npm)

MAL-2026-13462
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall trimprompt

What this malware does

The package [email protected] ships a large set of heavily obfuscated JavaScript modules (hex-mangled identifiers _0x... across cache-manager.js, cache.js, ccr.js, dashboard.js, executor.js, file-watcher.js, hooks/claude-hook.js, mcp.js, proxy-conv.js, proxy-resp.js, redactor.js, seed.js, simulate.js, sync.js, tracker.js, and all filters/*.js) whose original structure and destinations are deliberately hidden. Two of these obfuscated files (sync.js and tracker.js) additionally combine require('child_process') with HTTP POST calls carrying host/identifier fields — the shape of host-reconnaissance and outbound reporting to a remote endpoint. A postinstall.js script auto-executes on npm install and spawns PowerShell (spawn('powershell',...)), and shims.js also invokes child_process and runs execSync('pwsh...'), providing an install-time and load-time execution surface on Windows hosts. The combination of pervasive identifier-level obfuscation across nearly every module, a PowerShell-spawning postinstall lifecycle hook, and obfuscated modules that pair child_process with HTTP POST of host identifiers is inconsistent with a legitimate prompt-trimming utility and matches the shape of an install-time execution + host-beaconing supply-chain payload. Concrete destination hostnames/URLs are hidden behind the string-array obfuscation and are not recoverable from identifier evidence alone.

Malicious versions

6 flagged
1.0.351.0.421.0.461.0.471.0.481.0.49

Indicators of compromise (SHA-256)

202ef6d02c8fa917e9515b448972c19a209007f858b17d236a74857f3fe4febb
44b0545be2d2598356cefa07c8df64da915853163f46fecb11d6a31ddcaf7478
75bc0ef6c073e7f04d7bb69e1c6a54f8d53e48042993a4a4aa5372eec440b346
8f55cf35d1812a67b6ac706cdba8518c12f275128bfc4038bdb662ba9b2cc0d0
985123aa1b6cd21f65dd0eb97d400c33864f2484a13642e91c91df11c1e8acbd
d226a63b0176720ff59868271071d340722e035d854d57299aa1022d330df1d1

Detection & response playbook

Backdoor / remote access
  1. Find it

    Search your lockfiles and build artifacts for trimprompt (6 malicious versions).

  2. If you installed it — respond

    trimprompt establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.

  3. Did it already run?

    If trimprompt 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. trimprompt on npm has been identified as a malicious package (versions 1.0.35, 1.0.42, 1.0.46, 1.0.47, 1.0.48, 1.0.49 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-016810IN-MAL-2026-016809IN-MAL-2026-016811IN-MAL-2026-016808IN-MAL-2026-016807IN-MAL-2026-016812

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks trimprompt-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

Explore

trimprompt (npm) malicious package — MAL-2026-13462 | O3 Security