Local-first · Zero-trust · Pre-commit
Stop malicious packages before they touch your disk
ThreatShield runs as a daemon on your machine and intercepts every package install. Detection happens locally in microseconds. Nothing about your code is uploaded — the cloud handles licensing and, only when you ask, AI review of a file you choose, with secrets stripped.
Free tier — no card required.
Works with the tools you already use
Capabilities
Built to catch what ships by accident
$ npm install left-pad
Gate 1 — checking OSV mirror, lockfile Merkle root, typosquat corpus…
✕ blocked: known malicious postinstall script
0 packages written to disk
Blocks before install, not after
Gate 1 intercepts npm/pip/cargo through $PATH shims and checks a local OSV mirror, lockfile Merkle roots, and a 10,000-package typosquat corpus — in microseconds, before a single byte reaches disk.
Honey-token deception
Plants convincing fake credentials. When malware exfiltrates one, the connection is allowed through so the destination is revealed, and the attempt lands in your trap feed.
Example trap feed — illustrative
Your source never leaves the machine
OSV syncs directly from your machine to osv.dev. Only when you explicitly ask for an AI review does a file leave (secret files like .env are refused), with secrets stripped first.
Git and lockfile forensics
Detects lockfile tampering, submodule URL changes, hooks installed by lifecycle scripts, and IDE task-injection in .vscode / .cursor / .zed.
How it works
Four steps, all of them local
Install attempt
npm, pip, or cargo install runs through ThreatShield's $PATH shim first — before the package manager itself ever sees it.
Gate 1 check
A local OSV mirror, lockfile Merkle roots, and a 10,000-package typosquat corpus are checked in microseconds — entirely on your machine.
Allow or block
Clean installs pass straight through with no added latency. A match stops it before a single byte reaches disk.
If it's exfiltrating
A honey-token is left in place. When malware tries to use it, the connection is allowed through so the destination is revealed — and it lands in your trap feed.
Estimate
Quantify what manual vetting would cost
That's ~108 packages a month — checking each one by hand would cost ~9.0 hours/month your team doesn't have.
ThreatShield checks every install automatically, in microseconds, before it reaches disk — no one has to find the time.
Integrations
Fits into what you're already running
npm, pip, and cargo are intercepted through $PATH shims the daemon installs once — no changes to your project, no wrapper scripts to maintain.
The VS Code, Cursor, and Zed extension surfaces findings inline as you work and adds a Report All Issues command, on top of whatever the daemon already caught at install time.
tp-daemon crawl --path . runs the full Audit profile — all 9 checks — against a repository, so the same detection that guards local installs also gates a deploy.
Why ThreatShield
Security that doesn't get in your way
Blocks before install
Gate 1 stops a malicious package before it reaches disk, not after a postmortem.
Zero source upload by default
Detection runs entirely offline. Nothing leaves your machine unless you explicitly ask for an AI review.
Honey-token deception
Fake credentials reveal where malware is trying to send your data, and land the attempt in your trap feed.
Git & lockfile forensics
Catches lockfile tampering, submodule URL changes, and IDE task-injection most scanners never look for.
Works with your stack
npm, pip, cargo, and your editor — no new workflow to learn, no project files to change.
Local-first, always on
Detection doesn't depend on a cloud round-trip, a CI run, or anyone remembering to scan first.
Compare
Why ThreatShield
Most scanners
- Scan after install, often hours later in CI
- Upload your source to scan it
- Generic signature matching
- Nothing to catch an active exfiltration attempt
ThreatShield
- Blocks before a single byte reaches disk
- Nothing leaves your machine by default
- OSV mirror + lockfile Merkle roots + typosquat corpus
- Honey-tokens reveal where an exfiltration attempt was headed
Pricing
Plans built for every team size
Local scanning is free forever. Paid plans lift the AI review limits.
FAQ
Frequently asked questions
Nothing, by default. The OSV mirror syncs directly from your machine to osv.dev. The only thing that ever leaves is a file you explicitly choose for an AI review — and secret files like .env are refused outright, with secrets stripped from whatever is sent.
npm, pip, and cargo today, intercepted through $PATH shims that the daemon installs once.
No — Gate 1 checks a local OSV mirror, lockfile Merkle roots, and a typosquat corpus, all on-disk, in microseconds.
Audit runs all 9 checks and is meant for CI / pre-deploy. Watch runs only the critical checks, for real-time use while you're actively coding.
Yes — local scanning is free forever. Paid plans lift the daily AI-review limits and payload size.
Ship code, not a backdoor.
Install the daemon, and every npm, pip, or cargo install gets checked before it reaches disk.