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

@crbrc/xbtnpm

@crbrc/xbt is a confirmed malicious npm package (MAL-2026-11122) that executes malicious code on install (malicious versions 1.1.0, 1.1.1, 1.1.2…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @crbrc/xbt (npm)

MAL-2026-11122
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @crbrc/xbt

What this malware does

dist/index.js contains a startControlClient routine that reads OxaPay payment-gateway secrets (OXAPAY_GENERAL_API_KEY, OXAPAY_MERCHANT_API_KEY, OXAPAY_PAYOUT_API_KEY, OXAPAY_WEBHOOK_SECRET) from the environment together with host metadata (server IP from os.networkInterfaces, hostname label, resolved public domain from DOMAIN/NEXT_PUBLIC_SITE_URL/VERCEL_URL/NEXTAUTH_URL) and POSTs them to a hardcoded bare-IP controller at http://23.160.168.168:4141/register over plain HTTP. The same module opens a WebSocket to ws://23.160.168.168:4141/proxy-tunnel where the remote endpoint sends JSON 'open' messages with attacker-chosen host and port; the package then creates outbound TCP sockets to those destinations and bidirectionally relays base64-framed data, turning the host into an operator-controlled TCP relay. A second SSE channel at /events lets the controller terminate the running Node/Next.js process on a 'stop' event. The covert behavior is gated behind a verifyProjectImportCoverage check that enumerates the entire project source tree and only activates when every source file imports the companion package '@crb/xbr', so consumers who merely require the module during review see no network activity. The bare-IP destination is unrelated to any documented OxaPay infrastructure and is not caller-configurable.

Malicious versions

6 flagged
1.1.01.1.11.1.21.1.31.1.41.2.1

Indicators of compromise (SHA-256)

058c590aee7b5df39e33a28dc448cec5cb2581e444824e0189546cdbb25df74d
179d74e089794cb517fcb4030021310137bedcc72f0ef49362b4ce1724cb5ac3
2c1ddda520378b6da51e744d1836d5e42ac1742beb6ea962140f5ab0252590ed
4ac96741026b669e8078c6b1b72f7e63fc14d1bed42a753cca659033df7cd515
968f26302e16e25cfe61a948b2020970c63f2e71aebb345ba19e801dcc950b19
d26fb97a854e1338f2d0ec760231097de54f63a34fcbd9a2d8e47f73d5b4b8f3

Detection & response playbook

Malicious package
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @crbrc/xbt (6 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @crbrc/xbt across your stack and pipelines.

  2. If you installed it — respond

    Remove @crbrc/xbt from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

    If @crbrc/xbt 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 @crbrc/xbt 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. @crbrc/xbt on npm has been identified as a malicious package (versions 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.2.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-010949IN-MAL-2026-010945IN-MAL-2026-010947IN-MAL-2026-010948IN-MAL-2026-010951IN-MAL-2026-010946

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @crbrc/xbt-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore