MAL-2026-5788 Malicious code in @solana-labs/web3js (npm)
Malicious package
Published
MAL-2026-5788 is a malicious package: @solana-labs/web3js (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-5788/ (Markdown: https://insights.sbomify.com/MAL-2026-5788/index.md)
- Package
- @solana-labs/web3js
- Registry
- npm
What is MAL-2026-5788?
MAL-2026-5788 is a malicious package in @solana-labs/web3js, published on 15 Jun 2026.
Official description
Package name
@solana-labs/web3js closely resembles the well-known @solana/web3.js library (different scope, missing dot in module name). The bundled lib/index.cjs.js and lib/index.esm.js are large minified blobs that include require('child_process'), fetch(, POST, curl, and ping strings, but the bundle is consistent in shape with a Solana web3 client SDK (RPC client, websocket subscriptions, JSON-RPC POST calls to user-configured endpoints). The keyword co-occurrence in a minified rollup bundle does not by itself confirm exfiltration: a JSON-RPC client legitimately POSTs to caller-supplied RPC URLs, and child_process references can come from bundled diagnostics or test utilities pulled into the rollup. No lifecycle script, top-level network beacon, or hardcoded attacker endpoint has been confirmed in the traced code. The primary concern is name/scope confusion against the official @solana/web3.js package, which carries real installer risk if developers select the wrong dependency. Routing to human review to (a) confirm whether the scope @solana-labs is an official Solana publisher or a lookalike, and (b) de-minify the relevant spans of the bundle to confirm the network calls are caller-configured RPC endpoints rather than a hardcoded C2.What should I do about MAL-2026-5788?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.
Sources
Also known as GHSA-pqhf-q5g8-6jpm.