# MAL-2026-12035: Malicious code in bigops-auth-utils (npm)


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

## What is MAL-2026-12035?

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

### Official description

bigops-auth-utils@35.4.5 executes an install-time binary dropper on any require/import of the package. index.js top-level runs require('./setup'), which selects an OS/arch-specific asset path and downloads a binary over HTTPS from one of three string-split-obfuscated Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf103-070.workers.dev, oob-worker.cf101-adf.workers.dev) with a DNS-TXT covert-channel fallback that reassembles base64-encoded chunks from sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, and net.dl.wel1.ru. The fetched bytes are written to /var/tmp or %TEMP% under a disguising name (.cache_<hex> on POSIX, dotnet_diag_<hex>.exe on Windows), chmod 0755, and spawned detached via /bin/sh -c... & or cmd.exe /c start /b. A TTL marker suppresses re-execution and env-var opt-out flags are named to resemble telemetry toggles. A second copy of the same drop-and-spawn logic is duplicated inside lib/telemetry.js framed as an 'Analytics SDK', with require("child_" + "process"), fs["chmod" + "Sync"], and cp.spawn('/bin/sh', ['-c', filePath + ' &']) using string concatenation to evade static matching. Host construction via array-join splitting, cover-story framing, telemetry-shaped opt-out names, DNS covert-channel fallback, and duplicated execution paths are all evasion signals characteristic of a supply-chain dropper, not a build helper.

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

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

## Sources

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

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