MAL-2026-12147 Malicious code in beaver-ui-icon-lock (npm)

Malicious package Published
Package
beaver-ui-icon-lock
Registry
npm

What is MAL-2026-12147?

MAL-2026-12147 is a malicious package in beaver-ui-icon-lock, published on 5 Aug 2026.

Official description

The package's postinstall script setup.js selects a platform-specific asset path and fetches an executable from a list 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) whose hostnames are reassembled at runtime from split-string arrays such as ["oob-wor","ker.cf","99-9b3.wor","kers",".dev"].join(""). A DNS-TXT-over-.well1.site fallback channel (tin.dl.well1.site, tina.dl.well1.site, ldr.dl.well1.site, win.dl.well1.site) reconstructs a base64-encoded payload from numbered TXT records (c.<domain> for count, then i.<domain> chunks base64-decoded and concatenated). The fetched bytes are written to /tmp/.cache_<hex> or %TEMP%\dotnet_diag_<hex>.exe, chmod 0o755 on POSIX, and launched with execFile(fp, [], { detached: true, stdio: ["ignore", out, out] }); child.unref() — output redirected to /dev/null and the child detached from the parent. No hash or signature verification is performed and the payload's purpose is unrelated to the package's stated visual-components function. index.js additionally contains try { require("./setup"); } catch (_) {} at the bottom of the entrypoint, so requiring or importing beaver-ui-icon-lock re-runs the same fetch-and-execute chain (gated by a 6-hour stamp file) even when installs use –ignore-scripts. Cloudflare Workers subdomains and DNS-TXT-over-.well1.site are attacker-controlled distribution infrastructure with no relationship to the package's declared publisher or purpose.

What should I do about MAL-2026-12147?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-12147 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free