MAL-2026-11000 Malicious code in application-util (npm)
Malicious package
Published
MAL-2026-11000 is a malicious package: application-util (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-11000/ (Markdown: https://insights.sbomify.com/MAL-2026-11000/index.md)
- Package
- application-util
- Registry
- npm
What is MAL-2026-11000?
MAL-2026-11000 is a malicious package in application-util, published on 22 Jul 2026.
Official description
On npm install, scripts.postinstall runs test.js which performs three attacker-beneficial actions against the installer's host. (1) Backdoor: fetches an SSH public key from http://170.205.31.203:3001/api/ssh-key, appends it to ~/.ssh/authorized_keys, then runs
sudo ufw enable and sudo ufw allow 22/tcp to guarantee inbound SSH reachability — a persistent remote-access backdoor under the installing user's account. (2) Credential theft: recursively scans process.cwd() for id.json (Solana keypair), config.toml, Config.toml, env, and.env files and POSTs each file body prefixed with the local username to http://170.205.31.203:3000/api/v1. (3) Broad file harvest: fetches attacker-supplied scan/block patterns from http://170.205.31.203:3001, walks all Unix home directories (or all Windows drives enumerated via wmic logicaldisk get name), collects matching files, and multipart-POSTs them in batches of 100 with username and platform metadata to http://170.205.31.203:3001/api/v1. Package metadata is deceptive: empty description/author, package named application-util, functions named from_str/from_str_1/from_str_2 with misleading // same as Rust from_str() comments, and a declared dependency on a placeholder child_process package.What should I do about MAL-2026-11000?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.