Background guardian

Block malicious packages before they land.

A background guardian for npm install and pip install. Install once. Protected forever. Zero security knowledge required.

One command covers Python and Node
pip install packshield && shield init

What it does

Checks every install. Blocks what's wrong. Otherwise, silent.

Before any install completes, packshield resolves the full dependency tree and checks every new or changed package against known threats and any policies you've set. If something's wrong, the install is blocked before a single file is extracted. If everything is fine, you see nothing.

Silence is the signal. Most of your installs should look the same as they do today.

When it fires

Clear verdict. Safe version called out. No jargon.

$ npm install axios@1.14.1

  shield  BLOCKED

  axios@1.14.1 was published by an account whose credentials
  appear to have been compromised. The version injects a new
  dependency that did not exist in any prior axios release.

  Latest safe version: axios@1.14.0

  To install the safe version:
    npm install axios@1.14.0

How it works

Three steps. All local, all before files hit disk.

packshield wraps your package manager with a lightweight check that runs before anything is written. It ships with a threat database updated in real time from publish-time metadata — the stuff that disappears after attackers get caught.

01

Resolve the full tree

Every direct and transitive dependency, pinned to the versions your lockfile will actually install.

02

Check every package

Known threats, compromised publishers, dependency-injection anomalies, and your own opt-in policies.

03

Block or pass through

A blocked install halts before extraction. A clean install runs exactly as it did before packshield was there.

Policies

Sensible defaults. Tighten when you want.

Out of the box, packshield blocks known malicious versions and blatant compromise patterns — nothing else. Enable any of these policies in ~/.packshield/config.toml to raise the bar for your own machine.

Trust

Open source. Public incidents. Runs entirely on your machine.

Free for individual developers. Forever. The CLI is open source, the detection heuristics are open source, and every false positive we produce gets published at packshield.dev/incidents. Checks run 100% locally — the CLI syncs a threat database in the background and matches against it offline. Your install data never leaves your machine.

FAQ

Short answers.

Will it slow my installs down?

No. The check runs in parallel with resolution and finishes before extraction starts. Clean installs feel identical.

Where does the check run?

100% on your machine. The CLI ships with a local threat database it keeps in sync in the background. Nothing about your install leaves your laptop.

Does it work with lockfiles?

Yes. packshield reads package-lock.json, pnpm-lock.yaml, yarn.lock, and poetry.lock/uv.lock to check the exact tree you'd install.

What does it cost?

Free for individual developers, forever. Paid tiers for teams will focus on shared policies and audit history — never on gatekeeping safety.