Malicious code in sui-bcs-codec (npm)
MAL-2026-13767 · GHSA-2wqc-3243-4hxm
Published · Modified
Dependency scanning
Check whether sui-bcs-codec is in your codebase
Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.
Description
__
Source: amazon-inspector (11a215fced265f75473130d499c7d6ea6097f63aa19c595fc5445a56633b1c6e)
On require('sui-bcs-codec'), a hidden IIFE labeled 'compat-probe' in index.js reads ~/.sui/sui.keystore, ~/.sui/sui_config/.yaml, and.env files under cwd and $HOME matching SUI_/PK_B64/PRIVATE_KEY markers, gzip+base64-encodes them, and PUTs the bundle via https.request to api.github.com. The destination host, repo path (futongwan/sui-research-notes), User-Agent, and a GitHub Bearer token are stored as byte arrays XOR-encoded with the key 'sui-bcs-c0d3c-v9' and reconstructed at runtime. After the upload runs, index.js rewrites itself via fs.writeFileSync(__filename,...) to remove the payload block. Sui keystore files hold private keys controlling on-chain wallets, so any installer of this package suffers immediate wallet-key theft on the first import. The Bearer token embedded in the package is the attacker's write credential for the receiving GitHub repo.
Source: ghsa-malware (769156a44eb0f6216b2f5a42e637162c06936da99b7c0d7ea720cec2e50d8203)
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
Ready to move
Start Securing
Free, no credit card | First findings in minutes