# pino-zod - compromised npm versions

> pino-zod on the npm registry has 2 versions flagged in 1 tracked supply-chain incident. Only the exact versions listed below were named by the source advisories. pino-zod never had a legitimate version. It was published to be mistaken for a real package, so any install of it was an install of the payload.

- Package: pino-zod
- Ecosystem: npm
- Highest severity: high
- Kind: Typosquat
- Compromised versions: 1.0.122, 1.0.121
- Check what you have installed: `npm ls pino-zod`

## The incident that flagged it

| Date | Severity | Kind | Incident | Versions named |
|---|---|---|---|---|
| 2026-06-26 | high | Typosquat | [npm typosquat sweep - `pump-stream-logger`, `pump-laserstream-parser`, `pino-zod`, `rollup-plugin-polyfill-connect` yanked](https://dependencywatch.io/incident/npm-2026-06-26-pump-pino-rollup-typosquat-sweep) | 1.0.121, 1.0.122 |

## What to do if you installed one of these

1. Treat the machine as compromised rather than simply upgrading. Packages in these incidents typically execute at install time, so the payload has already run with whatever credentials were in the environment.
2. Rotate every credential that machine or CI job could reach - registry tokens, cloud keys, SSH keys, CI secrets - from a *different* machine.
3. Pin to a version not listed above, then reinstall from a clean lockfile.
4. Clear caches and private mirrors. Artifactory, Nexus, Verdaccio, and devpi routinely keep serving a tarball after the public registry has pulled it.
5. Read the incident write-up linked above - recommended actions differ per incident, and some have specific indicators of compromise worth grepping your logs for.

## Check your whole project

A compromised package is often a transitive dependency rather than one you installed directly. Paste your package-lock.json to check every dependency at once: https://dependencywatch.io/check/package-lock-json

All flagged npm packages: https://dependencywatch.io/package/npm

## Other packages in the same incident

If pino-zod is in your tree, these are worth checking too - they were published by the same campaign.

- [pump-laserstream-parser](https://dependencywatch.io/package/npm/pump-laserstream-parser) (npm)
- [pump-stream-logger](https://dependencywatch.io/package/npm/pump-stream-logger) (npm)
- [rollup-plugin-polyfill-connect](https://dependencywatch.io/package/npm/rollup-plugin-polyfill-connect) (npm)

Full incident: https://dependencywatch.io/incident/npm-2026-06-26-pump-pino-rollup-typosquat-sweep

## Sourcing

Version data comes from the public advisories cited on each incident page. We list only versions those advisories name - we don't infer additional ones. Corrections: https://dependencywatch.io/submit

---

Canonical page: https://dependencywatch.io/package/npm/pino-zod
Markdown version: https://dependencywatch.io/package/npm/pino-zod.md
Site index for agents: https://dependencywatch.io/llms.txt
DependencyWatch.io is operated by Precursor Security (https://precursorsecurity.com).
