Skip to content
OpenAdvisories
Malicious MAL-2026-12604

claims-accounts-lib

npm package · versions 35.6.6

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 (05a3c4efb40a47a58bad33fece7aad0799560c3af1722173078224d0f1c3ec7f)
index.js unconditionally require()s./setup.js when the package is loaded. setup.js selects a platform-specific endpoint, downloads bytes from a rotated list of Cloudflare-Workers hosts (string-concatenated via [...].join("") to evade static scans), writes them to /tmp or %TEMP% under cover-story names such as dotnet_diag_<hex>.exe on Windows and.cache_<hex> on Unix, chmods 0755, and detached-spawns them via cmd.exe or /bin/sh. No hash or signature verification is performed. When the HTTPS mirrors fail, setup.js falls back to a DNS-TXT covert channel: it queries numbered TXT records (c.<domain>, 0.<domain>, 1.<domain>,...) under *.dl.wel1.ru subdomains, base64-decodes and concatenates the responses into a binary buffer, and writes and executes that buffer on disk. A sibling module lib/telemetry.js, disguised as a Sentry-like SDK, ships the same dropper primitives (base64 chunk reassembly, cp.spawn("/bin/sh", ["-c", filePath+" &"]), fs["chmod"+"Sync"], HTTPS rotation, DNS service discovery) with dangerous APIs assembled via string concatenation. Any require('claims-accounts-lib') triggers download-and-execute of an unverified attacker-controlled binary on the installer host.