Stop risky dependencies before they reach your machine.

Supply-chain protection for npm and PyPI, for developers, CI and AI coding agents. New versions wait in the Lazaretto, every package is scanned, and installs are served from Scrutyn’s own scanned copy.

Works with npm, pnpm, Yarn, Bun, pip, uv and Poetry. Scanning and waiting lower the risk; they can’t guarantee a package is safe.

Claude Code, terminal sessionExample
$ npm install sample-left-pad@1.3.0
npm error notarget No matching version found for sample-left-pad@1.3.0.
$ scrutyn why sample-left-pad@1.3.0
sample-left-pad@1.3.0 — in the Lazaretto until 2026-10-06. Allowed now: 1.2.0
$ npm install sample-left-pad@1.2.0
added 1 package: sample-left-pad@1.2.0, from Scrutyn’s scanned copy
The pinned version is held, so that install stops. The agent asks why and installs the newest allowed version.In Lazaretto

Every dependency brings code you didn’t write

A compromised maintainer or a lookalike package can put malicious code on developer machines and in CI. Scrutyn adds quarantine, threat screening and policy-controlled delivery before a dependency reaches your workflow.

  • A hijacked release

    Someone takes over a maintainer account and publishes a new version. Version ranges and agents pick it up on the next install.

  • A lookalike name

    A typo, or a name an agent half-remembers, resolves to someone else’s package.

  • Code that runs early

    Depending on the ecosystem and your settings, install scripts, build steps or import-time code can run before anyone has read it.

Follow one install through Scrutyn

It has already happened

  • Axios

    March 31, 2026

    Two malicious npm versions were published through a compromised maintainer account.

    Maintainer post-mortem

  • LiteLLM

    March 24, 2026

    Two malicious releases reached PyPI. The project’s disclosure traces them to release credentials exposed in its CI pipeline.

    LiteLLM security update

  • Shai-Hulud

    September 23, 2025

    CISA warned of a self-replicating npm worm that harvested credentials and used them to publish compromised versions of other packages.

    CISA alert

Historical examples from the projects’ own reports and CISA. They don’t describe those projects’ current releases, and they aren’t claims about what Scrutyn would have done.

One service, three capabilities

Every plan includes all three. They work as one flow, not as separate products.

  • Lazaretto

    Package quarantine

    New versions wait before they are admitted, so a malicious release has time to be discovered and blocked first. 7 days by default.

  • Depot

    Package registry & delivery

    The package you vetted is the package you get: a managed npm and PyPI registry serving our validated, immutable copy, never silently replaced.

  • Lens

    Multi-engine threat analysis

    Screens every package for malware, suspicious install-time behaviour and known threats; AI reviews only the uncertain cases.

See the whole flow

Built for AI coding agents too

Agents install packages on their own. Scrutyn gives Claude Code, Cursor, Codex, Copilot, Windsurf, Hermes and OpenClaw the same protection, and a way to ask why a version is held.

Scrutyn for AI agents

Security model & limits

Scrutyn lowers the risk; it doesn’t make a package safe. Scanners can miss things, waiting only buys time, and a matching hash shows a file is unchanged, not that its code is harmless. Only installs that go through Scrutyn with a device token are covered.

Read the security model and its limits