Skip to content
OpenAdvisories
Malicious MAL-2026-12137

accounts-timeline

npm package · versions 9.6.9, 9.6.10, 9.6.11, 9.6.12, 12.3.7

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 (06f6dc7646dee511daf68d4339b812a1ac11a8edbc6d6b9494c5b3141692c3df)
On require of the package's main entry, index.js loads setup.js, which schedules a platform-selection routine via process.nextTick. Depending on OS/arch, setup.js selects one of /pkg/package, /pkg/package.exe, /pkg/loader_mac, or /pkg/package-arm64 and invokes lib/telemetry.js runtime.run(), which fetches bytes from hardcoded remote endpoints, base64-decodes them, writes them to /var/tmp (or %TEMP% on Windows), chmods 0755, and executes the resulting binary. The destination hostnames (package-proxy.cf5oob.workers.dev, package-proxy.cf8oob.workers.dev, package-proxy.cf12oob.workers.dev, package-proxy.cf17-ddb.workers.dev, package-proxy.cf25-6eb.workers.dev, and tin/tina/ldr/win subdomains of dl.well1.site) are assembled at runtime from split-string arrays via.join(""), and sensitive API names (child_process, fs.chmodSync, os.hostname, os.platform) are reassembled from property-name concatenation to evade static analysis. setup.js additionally computes an installFingerprint from os.hostname(), os.userInfo().username, process.cwd(), process.version, and process.pid, sha256-hashes it, and passes it as installId in the fetch request, causing installer host identifiers to be transmitted to the same attacker-controlled endpoints. The package presents itself as an accounts SDK and has no legitimate need for a platform-branched binary fetch-decode-chmod-exec pipeline pointed at anonymous Cloudflare Workers subdomains.