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

bandkitnpm

bandkit is a confirmed malicious npm package (MAL-2026-4496) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.7, 1.0.9, 1.0.10…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in bandkit (npm)

MAL-2026-4496
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall bandkit

What this malware does

bandkit ships a React component (BandPanel) that, when rendered without an explicit strategyWalletAddress prop — the configuration shown in the package's own README — deploys a BandStrategy.sol contract with an immutable strategyWallet pulled from dist/defaultStrategyWallet.js. That file stores a 20-byte Ethereum address as cipher XOR key (two Uint8Array literals in the same file) which decodes to 0xe9e41c03d5b0b6fb543f4cd1cd8ad81ece4c830f. dist/useStrategyContractDeployment.js wires this in via args: [options.strategyWalletAddress?? getDefaultStrategyWallet()]. When end users of the installer's UI click 'Start Bot', BandStrategy.activateStrategyEngine() executes (bool ok, ) = strategyWallet.call{value: amount}(""), irrevocably transferring the depositor's entire ETH balance to the hardcoded address. The defaultStrategyWallet.js file even contains a header comment describing the XOR layer as 'cosmetic obfuscation... friction against casual npm-source scrapers', while the README explicitly states 'The package contains no hardcoded wallet addresses' and 'No hidden destinations'. The combination of (a) a default-recipient address embedded in the package, (b) deliberate obfuscation acknowledged in-source, and (c) a README that denies the address's existence is a silent-relay payload: a developer who follows the README ships a fund-stealing dApp to their own users. Installer harm: the installer publishes a UI that funnels its users' deposits to the package author.

Malicious versions

6 flagged
1.0.71.0.91.0.101.0.111.0.141.0.16

Indicators of compromise (SHA-256)

328d601aed275e0122f2d0be8b7c5b76b920aa0af6aa57e7bd64ab540a0c0db3
f17eed05248e00e40ac995b4a723da03f1e854a1445b2d99c6a52507511d3795
6d7546959efc9cf15944286e0fe5cce44965113def72bea55866d8a130937f89
f1341a067075e690ff81c24889d925809a5c29a1a402ebfadaaf8b5f36331c9f
c2586b0e7114265fe8e85fee87db4b264f1dce9a574916b333af41870369e44a
8d03553469ab55441dd89101f56b8872adee9194c6390b76e77f58b662de46dc
018a4cd7e1cf6b632a8d58acdbfc15f48dffb0428a71638b2d040152260e13cf
c12036b3e8a5f609179a8f9a6109178d5cd21a40493140d54324c5e499912c07
687dcebaf30461a2325de226851b84abfb6db6359a12c9392ece9c5ff02a620d
ea0489597e99751b2d16ab93eb3f71a05c62b282f723c27aa2043808f7b99464

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 bandkit (6 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging bandkit across your stack and pipelines.

  2. If you installed it — respond

    bandkit 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 bandkit 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 bandkit 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. bandkit on npm has been identified as a malicious package (versions 1.0.7, 1.0.9, 1.0.10, 1.0.11, 1.0.14, 1.0.16 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-004795IN-MAL-2026-004800IN-MAL-2026-004799IN-MAL-2026-004794IN-MAL-2026-004902IN-MAL-2026-004903IN-MAL-2026-004918IN-MAL-2026-004917IN-MAL-2026-006205IN-MAL-2026-006204

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks bandkit-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore

bandkit (npm) malicious package — MAL-2026-4496 | O3 Security