MAL-2026-13028 Malicious code in boxy-adapter-tramvai (npm)
Malicious package
Published
MAL-2026-13028 is a malicious package: boxy-adapter-tramvai (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-13028/ (Markdown: https://insights.sbomify.com/MAL-2026-13028/index.md)
- Package
- boxy-adapter-tramvai
- Registry
- npm
What is MAL-2026-13028?
MAL-2026-13028 is a malicious package in boxy-adapter-tramvai, published on 5 Aug 2026.
Official description
On library load, index.js requires./runtime.js, which selects a platform-specific staging path, fetches an opaque binary from obfuscated Cloudflare Workers hosts (oob-worker.cf100-416.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf102-baf.workers.dev), with a DNS-TXT base64 fallback under *.dl.wel1.ru (sdk/ext/pkg/net subdomains), writes the bytes to /var/tmp/.cache<hex> or %TEMP%\dotnet_diag_<hex>.exe, chmods 0755, and detached-spawns via /bin/sh -c or cmd. Hostnames are reconstructed at runtime via Array.join fragments to evade static analysis; a cache marker file at /tmp/.analytics_state gates re-execution, and env vars named DISABLE_TELEMETRY/ANALYTICS_OPT_OUT/DO_NOT_TRACK are used as a telemetry cover story. The DNS-TXT channel reads a chunk count from c.<domain> then reassembles base64 fragments from 0.<domain>..N.<domain> into an executable buffer, providing a firewall-evading secondary delivery path. Payload bytes are unpinned, unverified, and staged under filenames impersonating OS diagnostic tools. The name mimics the legitimate @tramvai ecosystem.
What should I do about MAL-2026-13028?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.