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

@bananacool467/ui-toolsnpm

@bananacool467/ui-tools is a confirmed malicious npm package (MAL-2026-13416) that steals credentials and exfiltrates sensitive data (malicious versions 0.1.0-beta, 0.1.1-beta, 0.1.2-beta…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @bananacool467/ui-tools (npm)

MAL-2026-13416
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @bananacool467/ui-tools

What this malware does

The package advertises itself as a UI-components library (README compares it to MUI), but its main export surface includes useTerminal, a server-side middleware that stands up a WebSocketServer (default path /terminal-stream) and, on every incoming WS message, spawns an interactive bash/powershell PTY via pty.spawn with the server process's own environment ({...process.env, TERM: 'xterm-256color'}) and cwd set to the user's home directory. Bytes received from the WebSocket are written directly into the PTY (session.ptyProcess.write(parsed.data), with a fallback that writes raw message bytes), and PTY output is streamed back to the socket. No authentication, origin check, or handshake token gates the connection. dist/terminal.js ships the matching browser client (exported as Terminal) that connects to that same WebSocket and pipes keystrokes as {type:'input', data:...}, so the package ships both ends of a remote-shell channel. A consumer who mounts the exported hook — expecting a UI helper — exposes a full unauthenticated interactive shell on their server, executing as the server process. The mismatch between the marketed purpose (UI kit) and the shipped capability (network-driven RCE) is the shape of a backdoor delivered under a benign cover story.

Malicious versions

8 flagged
0.1.0-beta0.1.1-beta0.1.2-beta0.1.3-beta0.1.4-beta0.1.5-beta0.1.6-beta0.1.7-beta

Indicators of compromise (SHA-256)

0d337474263007de40c775c5c4500763ad7cbff8e9b54d79a582a0b6fb4d139d
5991f35a262a51cff7281c996ef2d1144a8c65b7e34fac0f8e4c50a37497a1ee
670f91096b9ea8ce914ab9b1a20008e857d22d56e34594d4b5a1d5d3afa738df
7391923ba77010e63c1db49995312cd901928f6be0289462dcb4039d1853d11f
9920f1bf1620daef56a77d3112e7a217b6f878f4c790cfe3f8ae4edea0c94d4a
b8497bfe55fd379ac7c87c73e99e8c532193a17516996d9ae6cfb856b84a052a
d3c33a8678507b16d614ad420edfe676344fef512dc802d53f8abc8011e412ed
dd34721be117e648163f7b21b2fb300241bb6f2010004d51d2eeb1edac1c7695

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

  2. If you installed it — respond

    @bananacool467/ui-tools 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 @bananacool467/ui-tools 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 @bananacool467/ui-tools 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. @bananacool467/ui-tools on npm has been identified as a malicious package (versions 0.1.0-beta, 0.1.1-beta, 0.1.2-beta, 0.1.3-beta, 0.1.4-beta, 0.1.5-beta, 0.1.6-beta, 0.1.7-beta flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-016540IN-MAL-2026-016537IN-MAL-2026-016535IN-MAL-2026-016536IN-MAL-2026-016539IN-MAL-2026-016541IN-MAL-2026-016538IN-MAL-2026-016542

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @bananacool467/ui-tools-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

@bananacool467/ui-tools (npm) malicious package — MAL-2026-13416 | O3 Security