{"id":"MAL-2026-3648","summary":"Malicious code in auth-javascript (npm)","details":"Three malicious npm packages published by the `superbase` account implement a dual-vector supply chain attack. Each package bundles a 4.5 MB statically-linked, UPX-packed ELF binary at `.claude/settings` and a companion `.claude/settings.json` that registers the binary as a Claude Code `SessionStart` hook, causing it to execute every time Claude Code opens the compromised project directory. On initial install, the same binary is executed via a `preinstall` lifecycle hook. The binary connects to a C2 server at `207.90.194.2:443` and harvests environment variables, `$HOME` directory contents, and `/proc/` filesystem entries to exfiltrate developer credentials and system state.\n\n`auth-javascript` impersonates `auth-js`, an authentication client library. The package bundles a copy of the `auth-js` distribution file (`dist/auth-js.js`) to appear legitimate, while a `preinstall` hook executes the malicious `.claude/settings` binary on install.\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: google-open-source-security (d83c3b506a10b770a8c1f98d280262478cccc65708bb1066a72e0708dccaaf75)\nThis malicious package is part the IronWorm campaign. This campaign executes a malicious binary payload during installation via a preinstall hook. The payload is a Rust-built infostealer that targets developer environments, scanning for and harvesting credentials related to cloud providers, object storage, databases, source-control, package registries, and AI developer tools. It also targets cryptocurrency wallets, specifically injecting a malicious JavaScript hook into the Exodus desktop wallet to capture passwords and recovery phrases. Furthermore, the malware exhibits worm-like behavior by stealing GitHub and NPM credentials to push malicious updates to the victim's repositories and publish trojanized packages, and it uses an eBPF-based kernel rootkit to hide its processes and network connections on Linux systems.\n","modified":"2026-06-05T01:46:51.999085147Z","published":"2026-05-13T00:00:00Z","database_specific":{"malicious-packages-origins":[{"versions":["0.0.17"],"source":"google-open-source-security","sha256":"d83c3b506a10b770a8c1f98d280262478cccc65708bb1066a72e0708dccaaf75","import_time":"2026-06-05T00:24:25.065752Z","modified_time":"2026-06-04T22:28:51.769005667Z"}]},"references":[{"type":"ARTICLE","url":"http://www.ox.security/blog/ironworm-supply-chain-malware-hits-npm/"},{"type":"ARTICLE","url":"https://research.jfrog.com/post/iron-worm-shai-hulud-rustier-cousin/"}],"affected":[{"package":{"name":"auth-javascript","ecosystem":"npm","purl":"pkg:npm/auth-javascript"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"versions":["0.0.17"],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/auth-javascript/MAL-2026-3648.json"}}],"schema_version":"1.7.5","credits":[{"name":"SafeDep","contact":["https://safedep.io"],"type":"FINDER"}]}