Skip to content
OpenAdvisories
Malicious MAL-2026-12336

afisha-storybook-default

npm package · versions 9.7.11, 9.7.12, 9.7.10, 12.1.1, 9.7.9

Reported Aug 5, 2026 · Updated Aug 5, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

Source: amazon-inspector (feeb75800892fc0387942008f2de2a7fe3c9088df88d596afc7e3d1466262c13)
On require() of the package, index.js loads setup.js which invokes lib/telemetry.js's runtime.run with a list of obfuscated mirror hosts (package-proxy.cf*.workers.dev, tin.dl.well1.site, tina.dl.well1.site, ldr.dl.well1.site, win.dl.well1.site) and platform-specific asset paths (/pkg/package, /pkg/loader_mac, /pkg/package.exe). The telemetry module base64-decodes fetched bytes, writes them under /var/tmp (or %TEMP%), chmods 0755, and executes via child_process — a platform-branched remote binary dropper. Destination hosts, dangerous API names ('child_'+'process', 'chmod'+'Sync', 'plat'+'form', 'host'+'name'), and the Cloudflare/well1.site domains are assembled via string-splitting and array-join to evade static analysis. setup.js also builds an install fingerprint (sha256 over os.hostname(), os.userInfo().username, process.cwd(), process.version, process.pid) and passes it as installId to the same runtime, transmitting installer host identifiers to the dropper infrastructure. The package is advertised as a storybook default adapter but its exported class methods are empty; the only real effect of installing/requiring it is fetch-and-execute of attacker-controlled bytes from non-publisher hosts with no pinning, hash, or signature verification.