node-pino@2.3.2
Malicious code in node-pino (npm)
Analysis
node-pino@2.3.2 is a multi-stage dropper combosquatting the pino logger. On postinstall, it spawns a detached Node.js child process that reads a 211KB AES-256-CBC-encrypted blob (license.list), decrypts it using a hardcoded key/IV from lib/winston/parse.js, and passes the result to eval(). The package also shadows Node's built-in crypto module by declaring it as an npm dependency, ensuring the decryptor works. Publisher twenty47 ([account]) is a throwaway account. The attack chain: combosquat dependency confusion -> postinstall hook -> detached spawn -> AES decryption -> eval of unknown second-stage payload.
- analyzed by
- Leitwacht
- first seen
- Jun 11, 2026, 01:00 PM
- analyzed
- Jun 11, 2026, 01:03 PM
Related advisories
- chai-utils-test@4.5.4
- autotel-mongoose@2.0.5
- autotel-mongoose@3.0.1
- autotel-mongoose@6.0.1
- autotel-mongoose@4.0.1
- autotel-mongoose@5.0.2
- autotel-mongoose@1.0.2
- autotel-mcp@3.0.1
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.