scandoc-scandoc-core@20.8.5
Malicious code in scandoc-scandoc-core (npm)
Analysis
On require(), the package immediately fingerprints the host platform (OS, architecture, CPU count, memory) and attempts to download a platform-specific binary payload from three Cloudflare Workers C2 domains (oob-worker[.]cf100-416[.]workers[.]dev, oob-worker[.]cf102-baf[.]workers[.]dev, oob-worker[.]cf103-070[.]workers[.]dev) via HTTPS GET requests to paths like /pkg/package, /pkg/package-arm64, /pkg/loader_mac, and /pkg/package.exe. If HTTPS download fails, it falls back to a DNS TXT-based exfiltration channel using domains tin[.]dl[.]well1[.]site (and platform-specific variants tina[.]dl[.]well1[.]site, ldr[.]dl[.]well1[.]site, win[.]dl[.]well1[.]site) to reassemble a base64-encoded payload from multiple TXT records. The downloaded binary is written to /var/tmp/.cache_<random hex> (or %TEMP%\dotnet_diag_<random hex>.exe on Windows) and executed as a detached background process. A marker file at /tmp/.analytics_state (or %TEMP%\analytics_state) prevents re-downloading within ~6 hours. The package ships an 80KB decoy analytics SDK (lib/telemetry.js) as camouflage; the actual malicious code is in _vendor.js.
- analyzed by
- Leitwacht
- first seen
- Aug 2, 2026, 04:01 PM
- analyzed
- Aug 2, 2026, 04:02 PM
Related advisories
- tinkoff-pwa-confac-types@20.7.7
- pfp-block-mobile-steps@20.9.3
- statist-browser-typed-client-eventea.projects.pfpacquiring@20.5.8
- tinkoff-statist-browser-typed-client-automlplatform.nlppl.classica@20.4.1
- tinkoff-volna-zustate@20.9.2
- tinkoff-fb-app-frame-page-height-dippy@20.8.4
- specials-mvno-client@20.9.8
- prokit-core@20.6.6
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.