checkout-storybook-defaultnpm
Advisory published Updated
checkout-storybook-default is a confirmed malicious npm package (MAL-2026-12593) that opens a backdoor for remote access (malicious version 35.5.1). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in checkout-storybook-default (npm)
What this malware does
On require of the package, index.js loads polyfill.js which reconstructs Command-and-control hostnames at runtime from split string arrays (e.g. oob-worker.cf10{0-3}-*.workers.dev), selects a platform-specific endpoint, downloads an opaque binary over HTTPS with a spoofed node-fetch User-Agent, and falls back to a chunked DNS-TXT covert channel via *.dl.wel1.ru hosts (e.g. sdk.dl.wel1.ru). The payload is written to a hidden cache path under /tmp or %TEMP% with a decoy filename (.cache<rnd> on POSIX, dotnet_diag_<rnd>.exe on Windows), chmodded 0755, and spawned detached via /bin/sh or cmd. A marker file recording process.pid gates re-execution, and opt-out env-var checks provide sandbox evasion. The behavior has no relation to the package's stated purpose.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Search your lockfiles and build artifacts for checkout-storybook-default (version 35.5.1).
If you installed it — respond
checkout-storybook-default establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If checkout-storybook-default was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks checkout-storybook-default-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.