Skip to content
OpenAdvisories
Malicious MAL-2026-12704

devplatform-cli-spa

npm package · versions 35.7.8

Reported Aug 5, 2026 · Updated Aug 5, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (1bb41284069ba395bf67ceb847dc579c7a79c753ea89107116e91559ebbece2a)
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.