Dependency Firewall early access: 50% off the base fee. See pricing

What is a dependency firewall?

A dependency firewall checks every open source package before your developers, pipelines or AI agents install it. Packages that break your rules are blocked or held back. The rest install as usual.

Firewall log

npm ci · GitHub Actions · web-app

team-web
  • react@19.1.1

    Passed all rules

    Allowed
  • event-stream@3.3.6

    Known malware

    Blocked
  • express@5.1.0

    Passed all rules

    Allowed
  • lodash@4.17.20

    CVE-2021-23337, CVSS 7.2

    Blocked
  • vite@8.2.0

    Published 2 days ago, 7-day hold

    Delayed
  • zod@4.1.12

    Passed all rules

    Allowed
6 requests3 allowed2 blocked1 delayed

It sits between your builds and the registries

Developers, pipelines and AI agents keep using npm, pip, Maven and Docker. Each request goes to the firewall first. It fetches the package, checks it and serves it only if your rules allow it.

Who installs

  • Developer laptops
  • CI/CD pipelines
  • AI coding agents
install request

Dependency firewall

Checks each package and version against your rules

  • Malware
  • CVE score
  • License
  • Release age
  • Provenance
  • Internal names
AllowedBlockedDelayed
fetch

Where packages come from

  • Package registriesnpm, PyPI, Maven Central and more
  • Container registriesDocker Hub, GHCR, Amazon ECR
  • Your repository managerArtifactory, Nexus

Setup is one line

Point the package manager at the firewall. pip, Maven, NuGet, Go and Docker take the same kind of change.

npm config set registry
https://<firewall-host>/v1/<namespace-id>/npm/<firewall-id>/

Every package is checked

Direct and transitive dependencies go through the same rules. So do container images and their layers.

A block stops the build

The package manager reports that the version was not found. The firewall log names the rule, package, version and requester.

How it compares to SCA and repository managers

The three tools act at different moments. A dependency firewall decides what gets installed. An SCA scanner reports on what is already in your code. A repository manager stores and serves packages.

When it acts

Dependency firewall
On each package request, before install
SCA scanner
After install, on code, lockfiles and images
Repository manager
On each package request, to fetch and cache

Stops the install

Dependency firewall
Yes
SCA scanner
No, it reports and opens pull requests
Repository manager
Most often no, it serves what is requested

Malware with no CVE

Dependency firewall
Blocked from malware data
SCA scanner
Most often missed
Repository manager
Served like any other package

A version published yesterday

Dependency firewall
Held for a window you set
SCA scanner
Unchecked until an advisory exists
Repository manager
Most often served right away

Examples

Dependency firewall
Dependency Firewall by Bytesafe
SCA scanner
Snyk, Dependabot, OWASP Dependency-Check
Repository manager
Artifactory, Nexus, GitHub Packages, Azure Artifacts

They work together. Dependency Firewall sits in front of your repository manager, and your SCA scanner keeps checking code that already shipped.

Malware rarely gets a CVE

CVE databases track bugs in legitimate software. A package built to steal credentials is most often removed from the registry and never gets a CVE.

A scanner that matches CVEs has nothing to match. These checks work without one.

Package delay
Hold newly published versions for a window you set, so malware feeds can catch a bad release before your builds install it.
Known malware
Block packages that match malware data, including malicious payloads and suspicious install hooks.
Install scripts
Block packages that run scripts during install, on npm, PyPI and Composer.
Dependency confusion
Internal package names always resolve from your private registry. A public package with the same name cannot take its place.
Trust downgrades
Flag npm releases published with weaker provenance than the version before them, the pattern behind account takeovers. npm only today.

Half the base fee for your first 3 months

€49.50 instead of €99 per month, plus €100 usage credit. Start with a 14-day trial. See what's new

Dependency Firewall

The managed dependency firewall in the Bytesafe platform, hosted in the EU. It runs every check above, and works in front of Artifactory, Nexus, GitLab, GitHub Packages and Azure Artifacts.

How Dependency Firewall works

On top of the checks above

Vulnerability thresholds
Block CVEs above a CVSS or EPSS score, per team or registry. New advisories apply on the next request.
License rules
Block disallowed licenses before they reach a build.
A firewall per team
Each team, pipeline or registry gets its own rules. A shared baseline runs first and cannot be weakened.
Exceptions
Developers request one from the blocked install, and the team you choose unblocks the package for a set time, with the reason logged.
Audit log
Every allow, block and exception, with rule, requester and time. Exports to your SIEM.
Rules as code
JSON files in Git, a full API, and rollback to any earlier configuration.

Common questions

Does a dependency firewall replace SCA?

No. They act at different moments. The firewall decides what gets installed. An SCA scanner reports on code, lockfiles and images you already have. Run both.

What happens when a package is blocked?

The package manager reports that the version could not be found, and the build stops. The firewall log shows the rule, package, version, user and IP. A developer can request a time-limited exception from the log entry, and the team that owns the rules approves or denies it.

What do developers need to change?

The registry URL, once: in .npmrc, pip.conf, settings.xml or NuGet.config, or as the upstream of your repository manager. No code, lockfile or manifest changes.

Does it work with Artifactory or Nexus?

Yes. The firewall speaks the same protocols as your package managers, so it sits in front of JFrog Artifactory, Sonatype Nexus, GitLab, GitHub Packages and Azure Artifacts as an upstream.

Try a dependency firewall on one project

Point one package manager at Dependency Firewall and read the log after the next install. No agent installs and no workflow changes.