# MAL-2026-13462: Malicious code in trimprompt (npm)


- **Type:** Malicious package
- **Package:** `trimprompt` (npm)
- **Published:** 6 Aug 2026

## What is MAL-2026-13462?

MAL-2026-13462 is a malicious package in trimprompt, published on 6 Aug 2026. 

### Official description

The package `trimprompt@1.0.47` 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.

## What should I do about MAL-2026-13462?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-13462 is a malicious package: trimprompt (npm). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-13462/ (Markdown: https://insights.sbomify.com/MAL-2026-13462/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-13462

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-13462/
Summaries are generated and may contain mistakes; the official description above is the record.
