Dependency Firewallfor NuGet
Your rules check every package dotnet restore pulls and block risky versions before they reach the build.
- Built in Sweden and hosted in the EU
- Supply chain security since 2018
Supported NuGet upstreams
Any NuGet-compatible feed can be an upstream.
Rules that run before dotnet restore
Block packages with known CVEs
- Newtonsoft.Json 12.0.3CVE-2024-21907 · CVSS 7.5Blocked
- Newtonsoft.Json 13.0.1Served
Hold new versions until they have cooled off
<PackageReference Include="Polly" Version="8.*" />- Polly 8.6.42 days oldHeld
- Polly 8.6.324 days oldRestored
Resolve internal packages from your own feed
dotnet add package Acme.Billing- Azure Artifacts, internal2.4.1Restored
- nuget.org99.0.0Not asked
Set the rules once for every .NET team
nuget-baselineBaseline rulesnuget-ciinheritsnuget-team-ainherits
Connect one project or the whole company
Package manager config
Set the registry per project
The clear element removes nuget.org, so restore only uses the firewall. nuget.exe reads the same file.
<packageSources> <clear / > <add key="firewall" value="https:/ / FIREWALL_HOST/ v1/ NAMESPACE_ID/ nuget/ FIREWALL_ID/ index. json" / ></ packageSources>Best for: trying it on one project, CI pipelines, teams that own their config.
Web proxy chaining
Route the company through your web proxy
Your web proxy hands NuGet traffic to the firewall. Nothing changes on developer machines.
- Laptop, CI or agentPackage managernuget.
org - Web proxyZscaler, Prisma Access, Squid
- Your rulesDependency Firewall
Best for: every laptop and agent at once, including machines nobody has configured.
Web proxy chainingWhat your team sees after a block
1 of 3 · Logs
Live firewall logs
Every request is logged: package name, version, status, ecosystem, which firewall evaluated it, which rule triggered and who requested it. Filter by firewall or user, and tail live during incidents or CI/CD runs.
Developers get a fast answer when an install fails, and AppSec gets an audit trail for every decision.
Why a package was blocked
Open a blocked request to see the package, how old the release is, the rule that stopped it and when it will be allowed.
Add or request a time-limited exception from the same drawer to let one package or version through while the rule keeps applying to everything else. The decision stays attached to the original request, so nothing has to be reconstructed from CI output later.
Every package that passed through
See which packages each firewall served over a period, with ecosystem, version, first-seen and last-seen time, vulnerability signals and request counts.
When a new advisory or malware report appears, search for the package and see where it was observed and when exposure started.
NuGet incidents and the rule that covers each
Malicious NuGet packages
Security researchers documented campaigns uploading hundreds of malicious NuGet packages that impersonated popular Microsoft and community packages. Many contained obfuscated PowerShell payloads in MSBuild targets.
Malware blockingMSBuild target injection
NuGet packages can include MSBuild .targets and .props files that run automatically during restore and build. Malicious packages have used this to execute arbitrary code at build time without any explicit install step.
Release delayDependency confusion
Researchers published packages with the same names as internal .NET packages used at large enterprises. The dotnet restore command resolved the public version from NuGet.org over the internal one, silently installing attacker-controlled code.
Dependency confusion
Clients, proxies and deployment
Clients
dotnet CLI, nuget.exe, Visual Studio and MSBuild restore.
Web proxies
Zscaler, Prisma Access, Squid and other web proxies that decrypt TLS.
Deployment
Cloud as EU-hosted SaaS. Enterprise as Managed Cloud, BYO Cloud or On-Premise.
Explore supported ecosystems
See the setup, rules and incidents for each package ecosystem.
Questions
How do I configure dotnet to restore through Bytesafe Dependency Firewall?
Can I proxy my private Azure Artifacts feed through Bytesafe Dependency Firewall?
Does it intercept MSBuild target execution from packages?
Will package version pinning in packages.lock.json still work?
Can different NuGet projects have different policies?
Can NuGet installs go through the firewall without changing developer machines?
What happens if a NuGet package passes through but malware is found later?
Can firewall rules be automated?
Does Dependency Firewall work with enterprise repository platforms?
How is licensing structured?
Put NuGet installs behind the firewall
Point one pipeline at Dependency Firewall and read the decisions in the log. The trial runs for 14 days.