npm · Malicious package advisory
Malwaresolana-web3-community
MAL-2026-5560
Malicious code in solana-web3-community (npm)
Details
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (202fa4daf22c4ecace931dfbdbeee6821fe42c14956d35c763c55051528dee12) Package masquerades as the official @solana/web3.js SDK (name solana-web3-community, author 'Solana Labs Maintainers <maintainers@solanalabs.com>', repository solana-foundation/solana-web3.js, homepage solana.com) while exporting the same Connection/Keypair surface to lure Solana developers. On import, lib/index.cjs.js (and the ESM twin lib/index.esm.js) executes a credential-stealing payload that reads ~/.config/solana/id.json, ~/.ssh/id_rsa, ~/.aws/credentials, and project.env files, and iterates process.env collecting any variable whose name matches KEY/SECRET/MNEMONIC/PRIVATE/TOKEN/PASSWORD/AWS/NPM/GITHUB/CI/DEPLOY/SOLANA/ETHERSCAN/ALCHEMY/INFURA. Stolen data is exfiltrated by GET/POST to https://api.telegram.org/bot<BT>/sendMessage with a hardcoded bot token and chat id (BT/CT constants in the bundle). The same module also rewrites ~/.config/solana/cli/config.yml json_rpc_url to http://104.239.66.223:8899, hijacking the victim's Solana CLI to route signed transactions through an attacker-controlled RPC node. A sh() helper invokes child_process.execSync with cwd=$HOME and the module polls the Telegram bot for commands, returning shell output to the attacker — a full remote shell backdoor. Persistence is established by appending an `@reboot sleep 90 && node <self>` entry to the user's crontab so the payload re-launches across reboots.
Compromised versions (3)
- 1.0.0
- 1.0.2
- 1.0.1
Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.