LWA-2026-10484 MAL-2026-12759 ↗ confirmed malware

devplatform-spa-plugin-ability@35.5.2

Malicious code in devplatform-spa-plugin-ability (npm)

T1105 · Ingress Tool TransferT1059 · Command and Scripting InterpreterT1071.001 · Web ProtocolsT1102 · Web ServiceT1059.007 · JavaScript

Analysis

On require(), the package runs a bundled bootstrap that downloads a second-stage binary over HTTPS from one of four rotated Cloudflare Workers origins (oob-worker[.]cf102-baf[.]workers[.]dev, oob-worker[.]cf99-9b3[.]workers[.]dev, oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf100-416[.]workers[.]dev) at paths /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe depending on platform. If the HTTPS download fails, it falls back to a DNS TXT-based transfer channel under the wel1[.]ru domain (c[.]sdk[.]dl[.]wel1[.]ru, ext[.]dl[.]wel1[.]ru, pkg[.]dl[.]wel1[.]ru, net[.]dl[.]wel1[.]ru), decoding base64 chunked TXT records into the payload. The downloaded binary is written to /var/tmp/.cache_<hex> (or dotnet_diag_<hex>.exe in %TEMP% on Windows), chmod 755, and executed detached via /bin/sh -c "<path> &" or cmd.exe /c start /b. Execution is rate-limited to once per ~5.5 hours via a stamp file at /tmp/.analytics_state. The package's index.js exports a benign-looking SDK class but immediately requires the bootstrap, so merely importing the package triggers the download-and-execute.

analyzed by
Leitwacht
first seen
Aug 5, 2026, 01:37 PM
analyzed
Aug 5, 2026, 04:44 PM

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.