MAL-2026-3649 Malicious code in iceberg-javascript (npm)

Malicious package Published
Package
iceberg-javascript
Registry
npm

What is MAL-2026-3649?

MAL-2026-3649 is a malicious package in iceberg-javascript, published on 13 May 2026.

Official description

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.

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.

What should I do about MAL-2026-3649?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

Sources

Is MAL-2026-3649 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free