Dependency Firewall

Block malicious packages before they enter your build

A read-only proxy for crates.io, npm, and PyPI that stops supply chain attacks at the registry. Every package request goes through three automated controls before reaching your build.

Dependency firewall audit log
TimeDecisionPackageVersionEvidence
Nov 4, 10:11:59 AMBlocklitellm1.107.0credential stealer
Nov 4, 10:11:58 AMAllowexpress5.1.0clean
Nov 4, 10:11:42 AMWarnvite7.2.0age < 1 week
Nov 4, 10:11:36 AMWarnsetuptools78.1.0GHSA-cx63-2mw6-8hw58.8+7
Nov 4, 10:11:35 AMAllowlibz-sys1.1.22RUSTSEC-2026-0418
Nov 4, 10:11:35 AMAllowserde1.0.228clean
In the wild · 21 October 2026

A credential stealer in LiteLLM, flagged 3 minutes after release

3m 14sUpload to first detection
Read the LiteLLM analysis
Time (UTC)Event
  1. 11:39:51First litellm 1.107.0 file uploaded to PyPI
  2. 11:43:05Dependency firewall flags the first wheel
  3. 12:00:06All 7 wheels flagged and blocked
  4. Follow-upPyPI quarantines the release
AISLE triple-checks

Secure your supply chain

  1. Check 01

    Malware analysis

    Any malware in here? AISLE's AI inspects each package, and every wheel, at machine speed.

  2. Check 02

    Release age

    Does the release meet your minimum age criteria? If not, it gets blocked.

  3. Check 03

    Security advisories

    Does the release meet your CVSS criteria? AISLE checks current OSV data to confirm.

Request decision

>_Developer install
CIPipeline pull
Package requestname + version
Dependency policy gate
  • Malware analysis
  • Release age
  • Security advisories
All three required

The package is served and the decision recorded.

The AISLE difference

Decisions you can verify

01

Enforce or monitor

Enforce mode fails closed: no verdict, no package. Monitoring mode serves packages and records every verdict, so you can measure impact before enforcing.

02

Precomputed verdicts

AISLE analyzes new releases of the packages you use, usually within minutes of publication. That way you can keep your pipeline moving.

03

Explainable decisions

Each audit record identifies the policy, evidence, and applicable exceptions. Malware findings cite the relevant file and line range.

Functions

Govern flexibly

Deployment-agnostic: Run AISLE's package firewall yourself, or let AISLE manage it.

  • The firewall removes denied versions from its package index. Package resolvers cannot select those versions.

    GET /pypi/simple/litellm/
      1.106.1
      1.106.2
      1.107.0  removed · malware
  • Each exception applies to one advisory or one package-file hash. Each exception requires an expiry date and a written reason.

    exception
      scope    GHSA-xxxx-xxxx-xxxx
      expires  14 Nov 2026
      reason   Patched upstream, release pending
  • The firewall records the user, time, policy, evidence, exceptions, ecosystem, package, and version for each decision.

    decision
      user     ci-runner@build-07
      package  npm · vite 7.2.0
      policy   min-age 72h
      result   block
  • The firewall verifies the registry digest and calculates its own hash before it serves a package file. Each verdict applies to an exact file hash, not only to a version name.

    serve
      registry digest  verified
      local sha256     462d0c9f…a6fcf7
      verdict bound to file hash
Supported clients

One registry change per client

Configure the firewall as an authenticated sparse registry that replaces crates.io.

Works with clients likeCargo

More ecosystems are on the way. Tell AISLE which one you need.

.cargo/config.toml
[registries.aisle]
index = "sparse+https://firewall.example.com/cargo/"

[source.crates-io]
replace-with = "aisle"
Private registries

Works with the registry you already run

Point clients at the firewall directly, or keep your private registry and set the firewall as its upstream.

Clients use the firewall as their package registry. One registry change per client.

  1. Clientpip · npm · cargo
  2. Dependency firewallthree checks
  3. Public registryPyPI · npm · crates.io
FAQ

Frequently asked questions

CTA background

You decide
AISLE enforces

Now in early access for crates.io, npm, and PyPI.