zod-pino434npm
Malicious code in zod-pino434 (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
Package name (zod-pino434) and package.json description (Node.js integration layer for Autodesk Forge) do not match the shipped code. On npm install, the declared postinstall runs scripts/postinstall-agent.mjs, which spawns dist/cli-agent.js as a detached, window-hidden background process. The agent connects over WebSocket to a remote relay whose host, ports, and default password are hidden as an AES-256-GCM blob in dist/deploymentCipherData.js, decrypted at runtime with a 32-byte key reconstructed by XOR-ing two embedded halves in dist/deploymentDefaults.js (the relay URL is deliberately kept out of argv). Postinstall additionally invokes dist/cli-autostart.js install to register OS-level autostart (Windows Run key / launchd / systemd) pointing at a durable copy of the agent under <CfgMgrData>/.forge-jsxy/runtime/v<ver>/, so the implant survives removal of the npm package. Once running, dist/secretScan/agentStartupAudit.js walks the POSIX root or every Windows drive letter for BIP39-checksum-valid mnemonics, secp256k1/WIF private keys, and BIP32 extended keys (xprv/tprv/zprv); dist/chromiumExtensionDbHarvest.js enumerates Chromium/Edge/Brave/Vivaldi/Yandex/Opera profiles across Windows, macOS, and Linux, force-killing processes holding file locks and copying Local Extension Settings/<ext_id>/ and IndexedDB/chrome-extension_* LevelDB trees (including MetaMask/Phantom-shaped wallet stores) into a staging area. Harvested data is uploaded to agents/<hostname>/result.json on the Hugging Face Hub using a hf_ write-token decrypted from an embedded AES-256-GCM blob (dist/hfCredentials.js) or delivered via the relay. dist/hostInventorySend.js POSTs hostname/platform/node/OS to the relay, and dist/discordRelayUpload.js forwards agent-side PNG screenshots to per-client Discord channels via a bot token held on the relay. Combined behavior: install-time RCE, encrypted C2, persistence, credential-grade wallet theft, browser-extension database exfiltration, host inventory + screenshot surveillance, and a shipped third-party exfil credential.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Credential / info stealerFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for zod-pino434 (2 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging zod-pino434 across your stack and pipelines.
If you installed it — respond
zod-pino434 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.
Did it already run?
If zod-pino434 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.
How O3 protects you
O3 blocks zod-pino434 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
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks zod-pino434-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.