MAL-2026-13034 Malicious code in boxy-contract (npm)
Malicious package
Published
MAL-2026-13034 is a malicious package: boxy-contract (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-13034/ (Markdown: https://insights.sbomify.com/MAL-2026-13034/index.md)
- Package
- boxy-contract
- Registry
- npm
What is MAL-2026-13034?
MAL-2026-13034 is a malicious package in boxy-contract, published on 5 Aug 2026.
Official description
On require() of boxy-contract, index.js loads init.js which selects a platform-specific endpoint and downloads a binary over HTTPS from string-concatenated Cloudflare Workers hostnames (oob-worker.cf102-baf.workers.dev, cf99-9b3.workers.dev, cf103-070.workers.dev), with a DNS-TXT fallback under *.dl.wel1.ru. The downloaded bytes are written to /tmp or %TEMP% under disguised names such as dotnet_diag<hex>.exe and.cache_<hex>, chmod'd to 0755, and spawned detached via spawn("/bin/sh", ["-c", fp+" &"], {detached:true}) or cmd.exe /c start /b. Destination hostnames and dangerous API names (child_process, chmodSync) are assembled from fragmented literals joined at runtime to evade static analysis. A DISABLE_TELEMETRY environment gate and cover-story naming (.analytics_state marker, dotnet_diag_ filenames) present the behavior as diagnostics but do not represent user-consented telemetry. The dropped binary is an opaque, unpinned, unverified native executable from attacker-controlled infrastructure, granting arbitrary code execution on the installer's host on plain
npm install / require.What should I do about MAL-2026-13034?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.