VDB

GCVE-110-OSM-2026-8015

GCVE-110-OSM-2026-8015
Advisory PublishedCVSS 9.6/10
Vulnetix · Advisory published July 14, 2026
The package contains a clearly labeled '// ═══ PHANTOM DROPPER ═══' section in index.js that, after a 37-second delay, reads a base64-encoded payload from test/fixtures/keypairs.dat, decodes and writes it as an executable to ~/.cache-db/.node-sync/syncd.js, then establishes cross-platform persistence via cron (Linux), schtasks (Windows), and a LaunchAgent plist masquerading as 'com.apple.syncd' (macOS), before spawning the dropped payload as a detached background process. The attacker model is a supply-chain dropper targeting crypto/blockchain developers: the package is disguised as a legitimate Arbitrum L2 toolkit, and the payload is fetched/staged from a GitHub Gist (https://gist.githubusercontent.com/juang55/b298754cb72942b1cdcf02ccd45cde2f/raw/cfg.txt) with IPFS as a fallback delivery mechanism. The publisher 'solbuilder_io' already has a confirmed critical-severity malicious package (eth-wallet-helpers) in OSM, establishing a pattern of targeting the crypto developer ecosystem. The keypairs.dat file contains decoded URLs referencing child_process, token, and secret keywords, strongly indicating the second-stage payload performs credential theft. ENTRY index.js (main: index.js) PERSISTENCE - Cron Job Persistence in index.js: "crontab -" DESTINATION - custom-c2: https://arb1.arbitrum.io/rpc (primary, plaintext) in index.js - custom-c2: https://nova.arbitrum.io/rpc (plaintext) in index.js - custom-c2: https://sepolia.arbitrum.io/rpc (plaintext) in index.js - custom-c2: arb1.arbitrum.io (plaintext) in index.js - custom-c2: arbiscan.io (plaintext) in index.js - custom-c2: nova.arbitrum.io (plaintext) in index.js - custom-c2: nova.arbiscan.io (plaintext) in index.js - custom-c2: sepolia.arbiscan.io (plaintext) in index.js EXFIL - System Information Collection in index.js: "process.platform" OBFUSCATION - Decoded Base64 Content in test/fixtures/keypairs.dat - Dynamic Base64 Decoding in index.js: "Buffer.from(b64, "base64")" - Deobfuscation Failed in index.js - recovered 2 urls, 3 domains, 3 paths from decoded/deobfuscated content ADDITIONAL FINDINGS - Stealth Background Process Spawning in index.js: "spawn("node", [s], { detached: true, stdio: "ignore" }" - Download Execute Delete Pattern in index.js: "writeFileSync(s, Buffer.from(b64, "base64").toString("utf8"), { mode: 0o700 }); ..." - Shell Command Execution in index.js: "require("child_process")" - Silent Process Execution in index.js: "stdio: "ignore"" - Detached Child Process Payload in index.js: "spawn("node", [s], { detached: true" - Brand New Package (+2 more) PAYLOAD FILES index.js (+ test/fixtures/keypairs.dat) INDICATORS (IOCs) - urls: https://gist.githubusercontent.com/juang55/b298754cb72942b1cdcf02ccd45cde2f/raw/cfg.txt, https://${gw}/ipfs/${cid}` - domains: gist.githubusercontent.com, ipfs.io, cloudflare-ipfs.com - paths: ~/.cache-db/.node-sync/syncd.js, /usr/bin/node, /usr/local/bin/node</string><string>${scriptPath}</string></array> - payloadFileHash: e49d10ae4543c25c36705eee15b21cf16c9271a1cd515e7379951d7d2cea9acb

Weaknesses (CWE)

CWE-506Embedded Malicious Code

Risk Scores

CVSS 3.1
9.6/10
Critical · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H

Affected Products

VendorProductVersionsPlatforms
unknownarb-kit1.0.1 (affected)

References

vendor

Browse GCVE Records

75,874 records in the GCVE database · Updated August 4, 2026

No matching records found.

Explore Further

Investigate this vulnerability in the interactive console or download the raw GCVE record.

$ Console Community · 100/wk Open console ›