MAL-2026-13111 Malicious code in bpm-foundation-husky (npm)
Malicious package
Published
MAL-2026-13111 is a malicious package: bpm-foundation-husky (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-13111/ (Markdown: https://insights.sbomify.com/MAL-2026-13111/index.md)
- Package
- bpm-foundation-husky
- Registry
- npm
What is MAL-2026-13111?
MAL-2026-13111 is a malicious package in bpm-foundation-husky, published on 5 Aug 2026.
Official description
index.js unconditionally requires runtime.js on module load. runtime.js selects a platform-specific endpoint (/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe), fetches a binary over HTTPS from one of four hardcoded *.workers.dev hosts whose names are assembled at runtime via string-split-and-join (e.g. ["oob-worker.cf99-9b3.worke","rs.de","v"].join("")), with a DNS TXT-record fallback channel to *.dl.wel1.ru that pulls a base64-encoded payload in chunks and reassembles it. The fetched bytes are written to /var/tmp/.cache<rand> on Unix or %TEMP%\dotnet_diag<rand>.exe on Windows, chmod 0755'd, and spawned detached via /bin/sh -c or cmd.exe. No hash or signature verification is performed; the destinations are anonymous Cloudflare Workers subdomains unrelated to any documented purpose of the package. A once-per-~6h marker file limits re-execution to evade detection. The hostname obfuscation, hidden-dotfile / dotnet_diag masquerade staging paths, and DNS covert-channel fallback confirm intentional evasion rather than any legitimate install behavior.
What should I do about MAL-2026-13111?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.