Skip to content
OpenAdvisories
Malicious MAL-2026-12158

bigops-chats-client

npm package · versions 35.2.4

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 (eb764a83c5f69d414a640397df2acd34a25e83c8829a63040046661fd4e33a69)
On require() of the package, index.js loads _init.js which performs OS/arch detection, downloads a native binary from hardcoded Cloudflare Workers endpoints (oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf102-baf.workers.dev), writes it to a temp path with a masqueraded filename (e.g. dotnet_diag_*.exe,.cache_*), chmods 0755 on Unix, and spawns it detached via /bin/sh -c or cmd.exe /c start /b. C2 hostnames are assembled at runtime from arrays of substrings joined together to evade static string search. If HTTPS retrieval fails, _init.js falls back to a DNS-TXT covert channel under *.dl.wel1.ru sub-zones (sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru): it resolves c.<domain> to obtain a chunk count, resolves <i>.<domain> for each chunk, base64-decodes the concatenated payload, writes it to disk and executes it. A cache flag (.analytics_state) is used to run once per TTL. The package advertises itself as a chats client SDK; there is no legitimate reason for such a package to fetch and execute an opaque native binary at load time.