{ "modified": "2026-06-04T23:12:21Z", "published": "2026-05-26T00:59:18Z", "schema_version": "1.7.4", "id": "MAL-2026-4723", "summary": "Malicious code in weavedb-sdk (npm)", "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (c25ff456baf684075b65ecf808bbfe36cbf91811fb4b04b70c13a3dd9d8a9403)\npackage.json declares `\"preinstall\": \"./tools/setup\"`, where tools/setup is a 976KB stripped Linux x86-64 ELF binary (sha256 36abd242ddaa27f0160c539377a0e92cf781c1695137850acc87e3892b436d36) shipped directly in the tarball. The package self-describes as a JavaScript SDK for an Arweave-backed database; it has no native component, no binding.gyp, no C/C++/Rust source, and no build system that would justify a precompiled binary. The binary is not fetched from a publisher CDN, not version-pinned, and not hash-verified — it simply runs unconditionally with the installer's privileges on every `npm install`. Strings extracted from the binary include a PuTTY private-key header (`BEGINPRIV...KEYPuTTY-`), `RSA_PKCS1_`, `Ed25519`, `cookie`, `Authorization`, `HTTP/1.1`, `POST`, `XMLH` (XMLHttpRequest), `USERPROFILE`, `HOME`, `/proc`, `id_`, `ssh`, and a second embedded ELF header at offset ~270 (UPX-packed loader pattern). This fingerprint set — SSH/PuTTY private-key parsing primitives + browser cookie/Authorization-header scraping + HTTP POST exfil scaffolding + home-directory and /proc traversal — is the canonical shape of a credential and SSH-key stealer. Installing this package on Linux compromises stored SSH/PuTTY keys, browser session cookies, and any credentials reachable from the user's home directory and environment.\n\n## Source: google-open-source-security (146faaf0d97c6a533a969bc3f3f117811f9317dc865ed4ab37f1679842ddeaae)\nThis package was compromised as part of 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", "affected": [ { "package": { "ecosystem": "npm", "name": "weavedb-sdk" }, "versions": [ "0.45.3" ], "database_specific": { "cwes": [ { "cweId": "CWE-506", "description": "The product contains code that appears to be malicious in nature.", "name": "Embedded Malicious Code" } ], "indicators": { "evidence_files": [ { "path": "package.json", "sha256": "e5316c8599e2913d7fc0464b8adf574aaf793f662308dea1e694e7b6e4caa48c", "tlsh": "aa112971dda4deb319e4229864764152726599074d88f8cc33d3e30d8f4cabb217aa6d" }, { "path": "tools/setup", "sha256": "36abd242ddaa27f0160c539377a0e92cf781c1695137850acc87e3892b436d36", "tlsh": "0c2533ab0025062b904d957a58963bd279c17c81afcc3662664dae742fb59c3cf63fc3" } ], "package_integrity": [ { "filename": "weavedb-sdk-0.45.3.tgz", "hashes": { "sha1": "7750bab1a6c48831b5a889e6b799d1684d0a4f2a", "sha512_sri": "sha512-FCBSwsE2Bfl03hau2iW5jFB5Yuaw0Bj6mCS7ir6PEBoEY3cY7iGCHzkFsZZwoFAx6J+gBXEbeTyquC/rh4KR7Q==" } } ] } } } ], "references": [ { "type": "PACKAGE", "url": "https://www.npmjs.com/package/weavedb-sdk/v/0.45.3" }, { "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/" } ], "credits": [ { "name": "Amazon Inspector", "type": "FINDER", "contact": [ "actran@amazon.com" ] } ], "database_specific": { "malicious-packages-origins": [ { "source": "amazon-inspector", "sha256": "c25ff456baf684075b65ecf808bbfe36cbf91811fb4b04b70c13a3dd9d8a9403", "import_time": "2026-05-26T05:53:19.478332473Z", "id": "IN-MAL-2026-004809", "modified_time": "2026-05-26T00:59:18Z", "versions": [ "0.45.3" ] }, { "source": "google-open-source-security", "sha256": "146faaf0d97c6a533a969bc3f3f117811f9317dc865ed4ab37f1679842ddeaae", "import_time": "2026-06-04T22:42:01.227855Z", "modified_time": "2026-06-04T22:28:51.769005667Z", "versions": [ "0.45.3" ] } ] } }