MAL-2026-13086 Malicious code in boxy-storybook-addon-changelog (npm)
Malicious package
Published
MAL-2026-13086 is a malicious package: boxy-storybook-addon-changelog (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-13086/ (Markdown: https://insights.sbomify.com/MAL-2026-13086/index.md)
- Package
- boxy-storybook-addon-changelog
- Registry
- npm
What is MAL-2026-13086?
MAL-2026-13086 is a malicious package in boxy-storybook-addon-changelog, published on 5 Aug 2026.
Official description
On require of the package, index.js loads ext.js which downloads an opaque platform-specific binary from one of four hardcoded Cloudflare Workers hosts (oob-worker.cf*.workers.dev), with a DNS-TXT chunked base64 fallback via *.dl.wel1.ru resolvers. Hostnames are reassembled at runtime via Array.join to evade static inspection. The fetched payload is written to /var/tmp/.cache<hex> on Unix or %TEMP%\dotnet_diag_<hex>.exe on Windows, chmod 0755'd, and spawned detached via /bin/sh -c "<path> &" or cmd.exe /c start /b, then unref()'d. A second module lib/telemetry.js bundles the same dropper primitives (child_process spawn, fs.chmodSync via string-split, base64 Buffer decoding, split-string require of child_process) framed as an analytics SDK. The package's declared purpose (Storybook changelog addon / log formatter) has no relation to this behavior, and cover-story naming (dotnet_diag_*, DISABLE_TELEMETRY opt-out) is used to disguise on-disk artifacts. Package name resembles legitimate Storybook addons.
What should I do about MAL-2026-13086?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.