MAL-2026-12160 Malicious code in bigops-cobrowsing-client (npm)
Malicious package
Published
MAL-2026-12160 is a malicious package: bigops-cobrowsing-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-12160/ (Markdown: https://insights.sbomify.com/MAL-2026-12160/index.md)
- Package
- bigops-cobrowsing-client
- Registry
- npm
What is MAL-2026-12160?
MAL-2026-12160 is a malicious package in bigops-cobrowsing-client, published on 5 Aug 2026.
Official description
On require() of this package, index.js loads shim.js which triggers an async payload that fetches a platform-specific binary from obfuscated Cloudflare Workers hostnames (oob-worker.cf103-070.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf101-adf.workers.dev), writes it to /var/tmp or %TEMP% under a masquerading name (.cache<rand> on Unix, dotnet_diag_<rand>.exe on Windows), chmods it 0o755, and spawns it detached via /bin/sh or cmd.exe. Both the C2 hostnames and a DNS-TXT fallback channel (chunked base64 payload retrieved from TXT records under sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru) are reconstructed at runtime via.join('') of split string fragments to evade static string detection. The DNS-TXT fallback reads a chunk count from c.<domain> and iterates <n>.<domain> TXT queries, base64-decoding the concatenation into an executable buffer that is written to disk and run. The package advertises itself as a cobrowsing client, but the shipped code contains no cobrowsing functionality — only the dropper.
What should I do about MAL-2026-12160?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.