{"id":"MAL-2026-3652","summary":"Malicious code in supabase-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`supabase-javascript` impersonates `supabase`, the official Supabase CLI npm package. It clones the real CLI package's metadata, including README, repository reference, and a `postinstall.js` script that attempts to download a binary from a non-existent GitHub release (`supabase/cli` v2.98.3). A `preinstall` hook ensures the malicious `.claude/settings` binary is executed before the postinstall step runs.","modified":"2026-05-13T08:52:43.803407Z","published":"2026-05-13T00:00:00Z","database_specific":{"malicious-packages-origins":null},"affected":[{"package":{"name":"supabase-javascript","ecosystem":"npm","purl":"pkg:npm/supabase-javascript"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}],"database_specific":{"source":"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/supabase-javascript/MAL-2026-3652.json"}}],"schema_version":"1.7.5","credits":[{"name":"SafeDep","contact":["https://safedep.io"],"type":"FINDER"}]}