LWA-2026-7690 MAL-2026-12157 ↗ confirmed malware

bigops-chats@35.9.6

Malicious code in bigops-chats (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1105 · Ingress Tool TransferT1071.001 · Web ProtocolsT1572 · Protocol TunnelingT1082 · System Information Discovery

Analysis

On require(), the package silently downloads and executes a platform-specific binary payload. It contacts obfuscated C2 servers (oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf102-baf[.]workers[.]dev, oob-worker[.]cf99-9b3[.]workers[.]dev) over HTTPS to fetch a binary from paths like /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe depending on architecture. If HTTPS fails, it falls back to DNS TXT-record resolution against domains (sdk[.]dl[.]wel1[.]ru, ext[.]dl[.]wel1[.]ru, pkg[.]dl[.]wel1[.]ru, net[.]dl[.]wel1[.]ru) to reconstruct the payload from base64-encoded chunks. The downloaded binary is written to /var/tmp/.cache_<hex> (or %TEMP%\dotnet_diag_<hex>.exe on Windows) and spawned as a detached process. A stamp file at /tmp/.analytics_state prevents re-execution within a TTL window. The package has no lifecycle hooks — the payload runs on import via a try/catch require() in the entry point.

analyzed by
Leitwacht
first seen
Aug 3, 2026, 07:00 PM
analyzed
Aug 3, 2026, 07:09 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.