drop-in npm registry proxy
npm install,
without the malware.
One config line, and every npm install skips packages with known vulnerabilities and malware. Nothing else about your workflow changes.
14 days free · cancel anytime · advisory data by OSV.dev
clean installs served
vulnerable & malicious versions filtered
packages in the May 2026 attack — all blocked
case study · may 2026
314 npm packages were compromised.
Our users never saw them.
The “mini Shai-Hulud” attack slipped malicious versions of 314 popular packages onto npm — stealing cloud credentials, tokens and SSH keys from every machine that installed them.
Within hours, the advisories reached OSV.dev — and every compromised version vanished behind Install Safe. No update. No patch. Nothing to do.
Weeks later, four of those versions were still live on the public registry. Behind Install Safe, they never existed.
$ npm install jest-canvas-mock@2.5.3 npm error code ETARGET npm error notarget No matching version found └─ malicious version · MAL-2026-4136 · filtered $ npm install jest-canvas-mock@^2 added 1 package in 380ms └─ resolved to 2.5.2 — last clean release
the ai era
Your AI installs dependencies.
Who's checking them?
Coding agents run npm install on their own, at a pace no human reviews. They pick packages by pattern, not by provenance.
Attackers know it. They register the package names LLMs tend to hallucinate (“slopsquatting”), publish typosquats, and hijack abandoned libraries. To a model predicting tokens, malware looks fine.
Point your agent at Install Safe and that attack surface disappears: hallucinated, typosquatted and compromised packages simply don't exist behind the proxy.
◆ agent: adding dependencies… $ npm install express helmet lodahs npm error 404 'lodahs' is not in this registry └─ typosquat — flagged as malware, filtered ◆ agent: correcting… $ npm install express helmet lodash added 64 packages in 2.1s └─ every version checked against live advisories ✓
how it works
A firewall for your dependency tree
npm config set registry …Point npm at the proxy
One command on your machine or CI. npm, yarn and pnpm all respect it — lockfiles included.
lodash@4.17.11 → ∅We filter the metadata
Every request is checked against live advisory data. Vulnerable versions are removed before npm sees them.
lodash@^4 → 4.18.1 ✓npm picks a safe version
Ranges resolve to the nearest clean release automatically. Known-bad pins fail with a clear error.
what you get
Security that stays out of your way
Always current
Advisories are matched live against OSV.dev. A new threat protects every user within minutes.
Malware erased
When every version of a package is malicious, it simply doesn't exist for you.
Zero workflow change
It's just a registry URL. Your package.json, lockfiles and CI stay untouched.
Full audit trail
See every install — and every vulnerable version that was kept out of your builds.
Your policy
Block everything with an advisory, or only high and critical. You set the threshold.
Never in your way
If advisory data is unreachable, installs pass through — logged, never stuck.
the platform
Your registry, under your command
Filtering is automatic. Everything around it — policy, visibility, team control — lives in one dashboard.
block policies
Decide what “too risky” means
- Severity threshold — block every advisory, or only high & critical — your call.
- Release quarantine — ignore versions younger than N days; most supply-chain malware is caught within a week of publishing.
- Allow & block rules — whitelist or ban any package, down to a semver range. Applied live within a minute.
protection policy
activity monitoring
See every install. And every save.
- Live audit trail — every install, every secured resolution, every blocked download — with the advisory IDs that triggered them.
- Download analytics — 14-day activity, data transferred, all attributed per token.
- Registry tokens — one per machine or CI pipeline, stored as hashes, revocable in one click.
teams
One policy. Every engineer.
- Org policy floor — your policy is the team baseline — members can tighten it, never weaken it.
- Slack alerts — every blocked install posts to your channel, with who, what, and which advisory.
- Centralized control — invite by email, see the whole team’s activity, revoke any member’s token instantly.
Install Safe APP · now
⛔ jest-canvas-mock@2.5.3 download denied for dev@acme.io — MAL-2026-4136
pricing
Cheaper than one incident response
Pro starts with a 14-day free trial — cancel anytime before it ends and pay nothing. Team is billed from day one.
Pro
For developers who ship to production.
- Unlimited installs through the proxy
- Live vulnerability & malware filtering
- Severity policy & release quarantine
- Package allow / block rules
- Activity dashboard & full audit log
- Unlimited registry tokens
Team
Org-wide protection for engineering teams.
- Everything in Pro
- Org-wide policy: severity, quarantine, allow/block rules
- Slack alerts on blocked installs
- Centralized member & token management
- Team-wide audit log
Do I have to change my workflow?
No. You set the registry once with npm config (or in a project .npmrc) and everything else stays the same — same commands, same lockfiles, same CI.
How does the free trial work?
The Pro plan starts with a 14-day free trial: you enter card details once at checkout and get full access for 14 days, free. Cancel before the trial ends and you pay nothing. Team plans are billed from day one. If your subscription lapses, your tokens stop authenticating — remove the one config line and npm goes back to the public registry. Nothing breaks.
Where does the vulnerability data come from?
OSV.dev — the open-source aggregator that combines the GitHub Advisory Database (the data behind npm audit) with the OpenSSF malicious-packages feed. CVEs and confirmed malware, updated continuously.
What happens when a version I need is vulnerable?
If your version range allows a safe release, npm resolves to it automatically — you usually won’t notice. If you pin an exactly-vulnerable version, the install fails with a clear error. That’s the point.
Are my packages modified?
Never. Tarballs are served byte-for-byte from registry.npmjs.org, so lockfile integrity hashes keep matching. We only filter which versions are visible.
What if Install Safe goes down?
The proxy fails open: installs pass through and the event is logged. Teams that prefer strict blocking can fail closed instead.
Does it work with yarn and pnpm?
Yes — anything that respects the npm registry setting works: yarn, pnpm, bun, and CI bots like Renovate.
I let AI agents write my code. Does this help?
Especially then. Agents install packages without vetting them, and attackers target exactly that — typosquats and hallucinated package names. Behind the proxy those packages don’t exist, so an agent can’t install them no matter what it was told. Works with any agent that runs npm.
Ship code, not CVEs.
Two minutes from now, every npm install on your machine can be immune to known vulnerabilities and malware.
Start your 14-day free trial →14 days free · cancel anytime