Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@solana-labs/web3.jsnpm

Malicious code in @solana-labs/web3.js (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-5525
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @solana-labs/web3.js

What this malware does

Package @solana-labs/web3.js impersonates the legitimate @solana/web3.js and re-exports it as cover while running a malicious postinstall (node install.js). On npm install, install.js performs sandbox-evasion checks (hostname pattern scoring for Docker/AWS/CI runners, /proc/uptime, presence of strace/tcpdump/auditd, AWS metadata 169.254.169.254, security-tooling dependencies) and aborts if it detects analysis. Otherwise it enumerates installer secrets — ~/.ssh/id_rsa, ~/.aws/credentials, ~/.config/solana/id.json, .env files, and scrapes process.env for KEY/SECRET/MNEMONIC/NPM/GITHUB tokens — and harvests crypto material including ETH private keys (/0x[a-fA-F0-9]{64}/), Solana 64-byte arrays, and AWS keys. Stolen data is tagged [ETH]/[SOLANA]/[AWS]/[SSH]/[NPM]/[GITHUB] and exfiltrated to api.telegram.org/bot<token>/... using XOR-obfuscated bot token, chat ID, and HMAC auth secret embedded in install.js. install.js then enters a long-poll loop against Telegram getUpdates accepting commands /keys, /ssh, /env, /wallet, /sh <cmd>, and bare text, executing them via execSync (PowerShell on Windows) and returning output to the attacker — a full reverse-shell C2 backdoor. Persistence is established via a @reboot sleep 90 && node <path> crontab entry. A hardcoded Solana drain address D4hGgKKaBFZV1NUTWvYRwbpu8HHr3qmDfHyKCTLqbaE7 is present for wallet theft.

Malicious versions

6 flagged
1.0.01.0.61.0.71.0.81.0.101.98.112

Indicators of compromise (SHA-256)

91b0523027116b3981b0f1dfe925f01d8956eb19817aae6ea7d0022d5357fba4
ecbc63549cc76fd907dd706b2179b18cd8c55b268dd09d8d9251bf809959d0ff
4d8c1fbfa898eecbdb8a68ea66a8df992831e3e5162eaddefc00aac759bbeca6
71cb6a46817602611ef7fff42f375bd177bcb9e0a896cf29dfdbd7e637ca8f11
91b279bb9db78faa1c5e6093b86517d3203181c5b832cbc8a5389b10173eb9aa
a72f1201ef049594dc4486cbb51dab1a840d8ff0ba9a9b54cabfd28bc16c0c60
e2d5a23bad2592218c4af9410b15a1f7f5cf1700cf5a8241e3ffeec8106c53e6

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @solana-labs/web3.js (6 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @solana-labs/web3.js across your stack and pipelines.

  2. If you installed it — respond

    @solana-labs/web3.js is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If @solana-labs/web3.js was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks @solana-labs/web3.js before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. @solana-labs/web3.js on npm has been identified as a malicious package (versions 1.0.0, 1.0.6, 1.0.7, 1.0.8, 1.0.10, 1.98.112 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-005289IN-MAL-2026-005412IN-MAL-2026-005413IN-MAL-2026-005411IN-MAL-2026-005415IN-MAL-2026-005414IN-MAL-2026-005410

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @solana-labs/web3.js-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

@solana-labs/web3.js (npm) malicious package — MAL-2026-5525 | O3 Security