Skip to content
OpenAdvisories
Malicious MAL-2026-12384

form-bnpl-dolyame-component-object

npm package · versions 20.8.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 (06f48cc3ab15e35aac9a2c38a8f16c695d84e17e2b742e99f5b0c0a3947a6cda)
On require() of the package, _polyfill.js selects a platform-specific binary and downloads it over HTTPS from Cloudflare Workers subdomains whose hostnames are assembled via array-join string splits to defeat static detection (e.g. oob-worker.cf102-baf.workers.dev, cf101-adf.workers.dev, cf103-070.workers.dev, cf99-9b3.workers.dev), with a DNS-TXT fallback under *.dl.well1.site. The downloaded bytes are written to /tmp or %TEMP% under a disguised name (dotnet_diag_<hex>.exe on Windows,.cache_<hex> on Unix), chmod 0755, and spawned detached via cp.spawn("/bin/sh", ["-c", fp + " &"], {detached:true}) or cmd.exe start /b. Environment-variable names such as DISABLE_TELEMETRY, ANALYTICS_OPT_OUT, and DO_NOT_TRACK are used as a cover story alongside an analytics_state TTL stamp. A second 81KB lib/telemetry.js bundle ships alongside containing the same cp.spawn + chmod 755 dropper pattern. The package's declared purpose is a BNPL form component, which does not require downloading and executing platform-specific binaries from anonymous workers.dev hosts.