Supply-chain security for the AI era

Know exactly what your AI installs.

AI assistants install packages you never chose. ShadowCanopy blocks every dependency by default and only lets through what it can verify.

30 days unlimited scansNo credit card requiredMac · Windows · Linux
$ scanopy npm install left-pad reqests
✔ left-pad@1.3.0 verified · integrity ok
✘ BLOCKED reqests@2.0.0
possible typosquat of “requests”
→ safe alternative: requests
scanopy pip install requests
Verdict
1 blocked · 1 approved
typosquat

Why now

The npm you trusted yesterday isn't the npm you install today

Recent supply-chain attacks that signature-and-advisory tools were slow to catch.

Sep 2025

Shai-Hulud worm

Self-propagating npm malware that steals tokens and republishes itself.

Nov 2025

Shai-Hulud 2.0

1,190+ packages compromised in a single coordinated wave.

May 2026

TanStack attestation abuse

Valid SLSA attestations attached to malicious releases.

Jun 2026

Phantom Gyp

Malware delivered through binding.gyp, not lifecycle scripts.

The platform

Protection at the moment code enters your project

One local gate, backed by the cloud, standing between every install and your disk.

Deny by default

Block malware before it installs

Every package is checked against live malicious-package feeds and a battery of static and behavioral rules. Bad packages never reach disk.

  • Typosquat and lookalike detection
  • Malicious install-script and obfuscation analysis
  • A verified alternative when something is rejected
$ scanopy npm install chalk lodahs
✔ chalk@5.3.0 approved
✘ BLOCKED lodahs@1.0.1
known-malicious · advisory MAL-2025-14320
→ did you mean: lodash

AI guardrails

Put a gate in front of every AI agent

ShadowCanopy detects Cursor, Claude Code, Codex, Gemini, and Windsurf and pins them to install only through the gate — and scans the skills and instruction files those agents trust, so malware can't hide in SKILL.md or hooks.

  • MCP server returns a verdict before install
  • Shell hook blocks raw npm, pip, and cargo
  • Skills & agent-context scan for TrapDoor-class attacks
$ scanopy skills
✘ SKILL-001 zero-width Unicode in CLAUDE.md
✘ SKILL-004 ANTHROPIC_BASE_URL hijack
$ npm install analytics-helper
⛔ blocked by ShadowCanopy hook
$ scanopy npm install analytics-helper
✔ verified · installed

Provable trust

Verify the bytes, not just the name

Approved npm and crates downloads carry a hash the agent recomputes at the proxy. Any mismatch, whether a tampered mirror, cache poisoning, or MITM, is refused.

  • Per-artifact integrity verification
  • Version-pinned allow-list
  • Signed agent installers
approvedexpress@4.19.2
integritysha512-9x2c…a7f1
recomputed at proxymatch
sourceregistry.npmjs.org

How it works

Live in about a minute

Install-time protection, not an after-the-fact audit.

1

Install the agent

One native binary (no Node.js required) gates npm, pnpm, pip, cargo, go, gem, and more before any artifact touches disk.

2

Verify in the cloud

Known-malicious intel, static rules, sandbox behavior, and AI analysis decide every unknown package.

3

Ship safely

Only approved packages install, and your AI agents are pinned to build through the gate.

Live
Malicious-package intelligence, all ecosystems
8
Package ecosystems covered
3
Platforms: macOS, Windows, Linux
<1s
Typical verdict at install time

Comparison

Why teams move beyond npm audit

Capabilitynpm auditShadowCanopy
Default policyAllow allDeny all
Ecosystems coverednpm onlynpm, PyPI, crates, Go +more
Known-malicious intelAdvisory lagLive malicious-package feeds
Zero-day malwareMissesAI + behavioral scan
Artifact hash verificationNoStrict (npm · crates)
Blocks before installNoYes
AI agent guardrailsNoneHooks, rules + skills scan
Cross-platform agentNoMac · Win · Linux

Coverage

Everything the security review asks for

8 package ecosystems

npm, PyPI, crates.io, Go, RubyGems, NuGet, Maven, Packagist.

CVE & license scanning

Flag known vulnerabilities and license violations against policy.

SBOM export

CycloneDX and SPDX for every project and scan.

AI skills scanning

Detect malicious SKILL.md, hooks, and instruction files before agents follow them.

SSO & RBAC

Enterprise SSO with domain routing and role-based access.

Audit logs

Every verdict and action recorded, with IP capture.

Our approach

“Every dependency is untrusted until it’s verified. That’s the only model that holds up when AI is writing the code.”
ShadowCanopy engineering principle

Security & compliance

Built to pass the security review

Signed installers, HttpOnly session cookies, audit logging, and enterprise SSO.

SOCSOC 2
Type II (in progress)
GDPGDPR
Data export & retention
ISOISO 27001
Roadmap
SSOSSO / SAML
OIDC + domain routing

FAQ

Frequently asked questions

Will this slow down my installs?
No. Cached verdicts return in well under a second, and only unknown packages trigger a full scan. Day to day, installs feel the same.
What about false positives?
A legitimate package that gets flagged can be approved from the dashboard or allow-listed for your org in seconds. We tune rules against real-world usage.
Does it work offline and in CI?
Yes. Configurable offline modes (strict, cached, grace) keep you productive without a connection, and a GitHub Action enforces the same policy in CI.
What do you do with my code and data?
We store account details, package metadata, and verdicts. Your source code is not uploaded. You can export or delete your data at any time.
Do you cover malicious AI skills?
Yes. ShadowCanopy can scan SKILL.md, CLAUDE.md, .cursorrules, hooks, and MCP configs for TrapDoor-class attacks — hidden Unicode, exfil directives, shell execution, and API base-URL hijacks — with audit or block policy.
How long does setup take?
About a minute. Create an account, run one install command, and your terminal and AI tools are protected automatically.

Ship with AI, without shipping malware

Start free with 30 days of unlimited scans.

Installs in about 60 seconds. No credit card required.