MAL-2026-3649

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/iceberg-javascript/MAL-2026-3649.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-3649
Published
2026-05-13T00:00:00Z
Modified
2026-06-05T01:46:50.717103682Z
Summary
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.

Database specific
{
    "malicious-packages-origins": [
        {
            "versions": [
                "0.8.2"
            ],
            "sha256": "d83c3b506a10b770a8c1f98d280262478cccc65708bb1066a72e0708dccaaf75",
            "import_time": "2026-06-05T00:24:25.065752Z",
            "modified_time": "2026-06-04T22:28:51.769005667Z",
            "source": "google-open-source-security"
        }
    ]
}
References
Credits

Affected packages

npm / iceberg-javascript

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

0.*
0.8.2

Database specific

source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/iceberg-javascript/MAL-2026-3649.json"