MAL-2026-13941 Malicious code in @solana-js/web3 (npm)
Malicious package
Published
MAL-2026-13941 is a malicious package: @solana-js/web3 (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-13941/ (Markdown: https://insights.sbomify.com/MAL-2026-13941/index.md)
- Package
- @solana-js/web3
- Registry
- npm
What is MAL-2026-13941?
MAL-2026-13941 is a malicious package in @solana-js/web3, published on 13 Aug 2026.
Official description
Package name @solana-js/web3 impersonates the legitimate @solana/web3.js SDK, and package.json falsely attributes authorship to 'Solana Labs' with a solana.com homepage. The exported API is a non-functional stub (Connection.getBalance returns 0, sendTransaction returns random bytes) — no real Solana client functionality is present. On install, scripts/postinstall.js detects Windows and spawns a hidden PowerShell (
-NoP -W Hidden -Exec Bypass) with a base64-encoded command. The decoded PowerShell performs an AMSI bypass via reflection over System.Management.Automation.AmsiUtils, downloads a binary payload from https://files.catbox.moe/a3loxy.bin, and executes it in-process using VirtualAlloc/CreateThread. The postinstall script further hex-escapes API names ('child_process', 'powershell', 'platform', 'win32') and fragments the PowerShell payload to hinder review. The result is arbitrary remote code execution on any Windows host that runs npm install against this package, with the shellcode fetched from an anonymous, mutable file host (files.catbox.moe) — a known-bad-infrastructure dropper pattern.What should I do about MAL-2026-13941?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.