# MAL-2026-12165: Malicious code in bigops-external-auth (npm)


- **Type:** Malicious package
- **Package:** `bigops-external-auth` (npm)
- **Published:** 5 Aug 2026

## What is MAL-2026-12165?

MAL-2026-12165 is a malicious package in bigops-external-auth, published on 5 Aug 2026. 

### Official description

On require('bigops-external-auth'), index.js loads _adapter.js which downloads a platform-specific native binary from Cloudflare Worker hosts whose hostnames are reassembled at runtime from split string arrays (e.g. ["oob","-wo","rker.cf100-416.worke","rs.de","v"].join("")) to evade static analysis. The fetched bytes are written to a temp path under a disguised name (dotnet_diag_*.exe /.cache_*), chmod 0755, and spawned detached via cp.spawn("/bin/sh", ["-c", fp + " &"], {detached:true}) or spawn("cmd",...) on Windows. If the HTTPS fetch fails, a fallback channel retrieves a base64-chunked payload via DNS TXT records at *.wel1.ru (hostnames also reassembled via.join("")) and reconstructs it with Buffer.from(parts.join(""), "base64"), designed to bypass egress HTTP filtering. A second parallel dropper is shipped in lib/telemetry.js (81KB), masquerading as a Sentry-like SDK, structurally identical to the active dropper (spawn /bin/sh with fetched file, chmodSync 755 via string-concatenated method name fs["chmod"+"Sync"], base64 chunk assembly), not currently on the reachable graph from index.js but present in the tarball. Behavior fires automatically on require/import — any consumer that installs and loads this package executes attacker-controlled native code on the host.

## What should I do about MAL-2026-12165?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-12165 is a malicious package: bigops-external-auth (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-12165/ (Markdown: https://insights.sbomify.com/MAL-2026-12165/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-12165

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-12165/
Summaries are generated and may contain mistakes; the official description above is the record.
