MAL-2026-12704 Malicious code in devplatform-cli-spa (npm)
Malicious package
Published
MAL-2026-12704 is a malicious package: devplatform-cli-spa (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-12704/ (Markdown: https://insights.sbomify.com/MAL-2026-12704/index.md)
- Package
- devplatform-cli-spa
- Registry
- npm
What is MAL-2026-12704?
MAL-2026-12704 is a malicious package in devplatform-cli-spa, published on 5 Aug 2026.
Official description
On require('devplatform-cli-spa'), index.js loads support.js which selects a payload by OS and architecture, downloads a native binary over HTTPS from string-obfuscated Cloudflare Workers hostnames (oob-worker.cf1-01-adf.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf102-baf.workers.dev), with a DNS TXT base64 fallback served from *.dl.wel1.ru. The fetched bytes are written to /tmp/.cache<rnd> on Unix or %TEMP%/dotnet_diag_<rnd>.exe on Windows, chmod'd to 0755, and executed detached via spawn('/bin/sh', ['-c',…]) or spawn('cmd', ['/c', 'start',…]). The C2 hostnames and the DNS fallback domains are assembled at runtime by joining split string fragments (_NODES and _DNS_HOSTS arrays) to evade static string matching. The Windows drop path uses a 'dotnet_diag' decoy filename, and a stamp file gates re-runs across installs.
What should I do about MAL-2026-12704?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.