MAL-2026-12158 Malicious code in bigops-chats-client (npm)
Malicious package
Published
MAL-2026-12158 is a malicious package: bigops-chats-client (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-12158/ (Markdown: https://insights.sbomify.com/MAL-2026-12158/index.md)
- Package
- bigops-chats-client
- Registry
- npm
What is MAL-2026-12158?
MAL-2026-12158 is a malicious package in bigops-chats-client, published on 5 Aug 2026.
Official description
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.
What should I do about MAL-2026-12158?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.