devplatform-spa-plugin-ability@35.5.2
Malicious code in devplatform-spa-plugin-ability (npm)
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
- devplatform-cli-spa@35.7.8
- delivery-ci-upgrade-form@35.5.9
- devplatform-http-client@35.8.6
- bnpl-blocks-atom-bnpl-integrations-breadcrumbs@35.2.9
- devplatform-vite-plugin-preserve-css-modules@35.6.8
- dolyame-boxy-atom-bnpl-text@35.8.7
- dolyame-boxy-independent-bnpl-preset-container@35.3.7
- dolyame-boxy-independent-bnpl-mobile-application@35.9.2
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.