beaver-ui-drawernpm
Advisory published Updated
beaver-ui-drawer is a confirmed malicious npm package (MAL-2026-12144) that runs destructive / sabotage code (malicious versions 0.0.1, 9.4.7, 9.4.8…). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in beaver-ui-drawer (npm)
What this malware does
[email protected] ships a postinstall script (setup.js) that assembles network destinations at runtime by joining split string fragments to hide them from static inspection, resolving to a rotating set of Cloudflare Workers subdomains (oob-worker.cf99-9b3.workers.dev, oob-worker.cf100-416.workers.dev, oob-worker.cf101-adf.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf103-070.workers.dev) with a DNS TXT fallback under *.dl.well1.site (e.g. tin.dl.well1.site). The script downloads a platform-specific binary, writes it to /var/tmp/.cache_<rand> on Unix or %TEMP%\dotnet_diag_<rand>.exe on Windows, chmods 0755, launches it detached with stdio redirected to /dev/null, and unlinks the file. index.js contains a top-level try { require('./setup'); } catch(_) {} that re-invokes the same drop-and-execute path on require(), providing a second execution path when npm install --ignore-scripts is used; a mtime marker at /tmp/.analytics_state with a 6-hour TTL suppresses repeated downloads. The package is advertised only as a UI drawer component; there is no legitimate reason for a UI library to fetch and execute unsigned binaries from anonymous Cloudflare Workers hosts. The payload is unversioned, unhashed, delivered from infrastructure unrelated to the stated package purpose, staged to hidden filenames mimicking system tooling (dotnet_diag_,.cache_,.analytics_state), and self-deletes after launch.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Destructive / sabotageFind it
Search your lockfiles and build artifacts for beaver-ui-drawer (10 malicious versions).
If you installed it — respond
beaver-ui-drawer carries a destructive/sabotage payload. Remove it immediately, restore any affected data from clean backups, and verify integrity of build outputs that may have been tampered with.
Did it already run?
If beaver-ui-drawer 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 beaver-ui-drawer-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.