OpenSSF/OSV advisory MAL-2026-12130 confirms this npm version as malicious. On require of the package's main, index.js loads _platform.js, which fetches a platform-specific native binary from Cloudflare Workers hosts assembled via String.split+join obfuscation (oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev). If HTTPS retrieval fails, the loader falls back to a DNS-TXT covert channel under *.dl.well1.site (tin/tina/ldr/win.dl.well1.site),...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in accounts-card-design-picker (npm)
Details
On require of the package's main, index.js loads _platform.js, which fetches a platform-specific native binary from Cloudflare Workers hosts assembled via String.split+join obfuscation (oob-worker.cf101-adf.workers.dev, oob-worker.cf99-9b3.workers.dev, oob-worker.cf103-070.workers.dev). If HTTPS retrieval fails, the loader falls back to a DNS-TXT covert channel under *.dl.well1.site (tin/tina/ldr/win.dl.well1.site), reading a chunk count from c.<domain> TXT records and reassembling base64 fragments from <i>.<domain> TXT records. The reconstructed bytes are written to a temp path with a deceptive name (dotnet_diag_<hex>.exe on Windows,.cache_<hex> on Unix), chmodded to 0755, and spawned detached via /bin/sh -c or cmd. A persistence marker file.analytics_state is used, and env-var names impersonate telemetry/analytics opt-out semantics. The declared package purpose is a 'card design picker', unrelated to any of this behavior. A second dropper variant with the same write+chmod+spawn chain (using property-name concatenation like 'chmod'+'Sync' and require('child_'+'process')) is bundled at lib/telemetry.js but not reached from main.
Decision reason
OpenSSF Malicious Packages via OSV confirms accounts-card-design-picker@0.0.2 as malicious (MAL-2026-12130): Malicious code in accounts-card-design-picker (npm)