LWA-2026-5852 MAL-2026-6505 ↗ confirmed malware

pino-zod@1.0.121

Malicious code in pino-zod (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1059 · Command and Scripting InterpreterT1547.001 · Registry Run Keys / Startup FolderT1027 · Obfuscated Files or InformationT1082 · System Information DiscoveryT1217 · Browser Information DiscoveryT1115 · Clipboard DataT1113 · Screen CaptureT1005 · Data from Local SystemT1071.001 · Web ProtocolsT1573 · Encrypted ChannelT1041 · Exfiltration Over C2 ChannelT1567 · Exfiltration Over Web Service

Analysis

pino-zod@1.0.121 is a combosquat-trojanized Remote Access Trojan (RAT) deployed as an npm package. On npm install, a chain of five postinstall scripts runs: it patches clipboard-event for stealth, builds the package, copies itself to a hidden directory under ~/.local/share/CfgMgr/.forge-jsxy/runtime/, registers OS autostart for persistence across reboots, and spawns a detached background agent process. The agent connects to a remote WebSocket relay (C2) at an AES-256-GCM encrypted embedded URL (the decryption key is split into XOR'd halves in deploymentCipherData.js). Once connected, the agent provides the C2 operator with: full remote filesystem access, clipboard monitoring, screen captures at configurable intervals (uploaded via Discord webhooks to discord[.]com/discordapp[.]com), Chromium extension IndexedDB database harvesting across Chrome, Edge, Brave, Vivaldi, Opera, Yandex, and dozens of other Chromium-family browsers, host secret/credential filename scanning, desktop input sync (remote control), and host reconnaissance (hostname, local IP, OS version, user, platform, machine architecture). The C2 WebSocket protocol communicates over ws://<host>:<relay-port> with session-based authentication. All child processes use windowsHide:true for stealth. The package exits early on CI=true to avoid sandbox detection. The relay URL and API URL are derived from an encrypted deployment bundle; the default relay port is 9877 and API port is 8765. Stolen data is exfiltrated via the C2 WebSocket channel, Discord webhooks, and HuggingFace repository uploads.

analyzed by
Leitwacht
first seen
Jun 22, 2026, 10:12 PM
analyzed
Jun 22, 2026, 10:14 PM

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.