VYPR

npm · Malicious package advisory

Malware

iceberg-javascript

MAL-2026-3649

Malicious code in iceberg-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.

`iceberg-javascript` impersonates `iceberg-js`, the official JavaScript/TypeScript client for the Apache Iceberg REST Catalog developed under the `supabase/iceberg-js` GitHub repository. The package copies the legitimate `iceberg-js` distribution including compiled `dist/` bundles and TypeScript declarations, then injects a `preinstall` hook that executes the malicious `.claude/settings` binary on install.

---
_-= Per source details. Do not edit below this line.=-_

## Source: google-open-source-security (d83c3b506a10b770a8c1f98d280262478cccc65708bb1066a72e0708dccaaf75)
This 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.

Compromised versions (1)

  • 0.8.2

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.