The install-time supply-chain firewall

Stop the next supply-chain zero-day.
Before a CVE exists.

A firewall in front of every package install, on laptops, in CI/CD and in Kubernetes. It reads the code and blocks malicious packages in about 80 ms, before any CVE exists. Now covering Go modules and Hugging Face models too.

// median proxy decision
~80ms fast enough to gate every install,
across laptops, CI and runtime.
// built on academic research CIT → MTU
Caught in the wild

We don't theorize about supply-chain attacks.
We catch them.

Real campaigns, blocked at install before any CVE existed. Here is the proxy log, the moment each one hit the wire, and the full dissection of each.

0packages scanned
0vulnerabilities indexed
0malicious packages catalogued
0installs blocked at the proxy

0 packages scanned this week

app.cyberxyz.io/proxy/findingsreplay · real attacks, re-run through the engine
Search package, IP, OS…All typesAll risk levels live
May 28, 10:40 AMnpmflatmap-stream@0.1.1BLOCKEDgha/CyberXYZ CI/CD Linux172.184.213.226CRITICAL
BLOCKED[known_malicious_version]Confirmed supply-chain attack: credential_stealer. Safe versions: 0.1.0CRITICAL
BLOCKED[vulnerability_match]GHSA-9x64-5r7x-2q53 · ranges ['= 0.1.1'] · fixed: noneCRITICAL
BLOCKED[vulnerability_match]GHSA-mh6f-8j2x-4483 · ranges ['>= 0'] · fixed: noneCRITICAL
May 26, 09:22 AMnpmaxios@1.14.1BLOCKEDMike’s MacBook DEV macOS169.254.169.126CRITICAL
BLOCKED[known_malicious_version]Confirmed supply-chain attack: RAT Dropper via compromised maintainer. Safe versions: 1.7.7, 1.7.6, 1.7.5CRITICAL
ALERT[vulnerability_match]GHSA-q8qp-cvcw-x6jj · ranges ['>=1.0.0', '<1.15.2'] · fixed: noneHIGH
QUARANTINE[version_jump_anomaly]axios jumped from 1.10.0 to 1.14.1 (skipped 4 minor versions overnight)MEDIUM
May 22, 12:15 PMnpmleft-pad@1.3.1BLOCKEDgitlab/cyber CI/CD Linux34.139.136.251CRITICAL
May 22, 12:15 PMGogo-weather-sdk@v0.4.0BLOCKEDgitlab/cyber CI/CD Linux34.139.136.251CRITICAL
May 22, 12:15 PMNuGetAeroWizard.Net@2.3.1BLOCKEDgitlab/cyber CI/CD Linux34.139.136.251CRITICAL
May 22, 12:15 PMPyPIdurabletask@1.4.1QUARANTINEgitlab/cyber CI/CD Linux34.139.136.251MEDIUM

fig. 02 · proxy findings. Real attacks replayed through the engine; the live feed is at app.cyberxyz.io

// npm · DPRK RAT dropper

axios@1.14.1 RAT dropper

A compromised maintainer shipped two malicious axios tags that pulled in a North Korean RAT dropper. Blocked at install, before any advisory existed.

9.4 XYZ score~100M weekly downloads0 CVE at block
Read the case study →
// npm · worm · credential theft

Mini Shai-Hulud AntV npm worm

One stolen npm token poisoned 323 packages across the AntV namespace in 27 minutes, with a credential harvester wired to run before any user script. Every version blocked on its lifecycle hook.

323 packages639 bad versions27 min window
Read the case study →

See every attack we caught →

Trusted & built with

Trusted by security teams. Built with the industry's best.

Engaged with enterprise security, payments and research teams across three continents, and integrated with the ecosystem your stack already runs on.

// trusted by

Accenture AthenaGuard Network International Etuteki Lab

// built with

SichGate Microsoft GitHub GitLab SentinelOne Elastic Harness Red Hat IBM
Try it · npm v12 ready

Check any package
before you approve it.

npm v12 makes you approve every install script by hand. Paste a package and see the XYZ verdict, the signals that fired, and whether its scripts are actually safe to approve.

npm
How we catch them

We read the code,
not just the scorecard.

Most supply-chain tools rate a package on project-health signals. CyberXYZ does that and reads the actual change, line by line, commit by commit, so a malicious hook is caught the moment it lands. This is where we catch the zero-day: at the commit and the pull request, before it ever reaches an install, no CVE required.

a3f9c2e chore: tidy build scripts 2 days ago
package.json
31 "scripts": {
32- "build": "tsc"
32+ "build": "tsc",
33+ "postinstall": "node ./.cache/setup.js"
XYZLifecycle hook added in a "tidy" commit. setup.js base64-decodes a payload and POSTs ~/.npmrc + env to 45.32.0.0/16. Verdict: BLOCK, no CVE required.
34 }

fig. · commit-level verdict · caught at the pull request, before any install

// where we operate: editor pull request CI / CD install
How it works

One brain.
Every surface.

Wherever a package is requested, a developer's laptop, a CI runner, a Kubernetes node, CyberXYZ is already there with the same verdict. Here's how it shows up across your stack.

ENFORCING 4/4 registries
npm ONLINE Python ONLINE Go ONLINE NuGet ONLINE
xyz-npm-proxy ● live
npm install axios@1.14.1403 BLOCK
pip install requests==2.32.0200 ALLOW
npm install left-pad@1.3.0451 QUAR
dotnet add package Newtonsoft.Json200 ALLOW
tarball scan · commit-level analysis · ~80 ms median
// the platform · proxy

The firewall that gates every install.

A registry proxy intercepts each install, scans the tarball and reads the commit, then returns allow, alert, quarantine or block in milliseconds, across laptops, CI/CD and Kubernetes.

Explore the Platform →
$ xyz audit
npmpackage-lock.json
1 blocked
pythonrequirements.txt
clean
gogo.sum
clean
nugetpackages.lock.json
1 blocked
npmpackage-lock.json
1 blocked
JavaScript / npm Python / PyPI Go .NET / NuGet Java
// the cli · terminal-native

Security in your shell.

One pip install puts the brain in your terminal. Enroll a machine, gate every install through the proxy, and audit any project, across all five ecosystems.

  • xyz proxy setup · gate every install
  • xyz audit · scan any lockfile
  • xyz depalert · fail the CI build
Explore the CLI →
// ci/cd · the gate

A red build beats a shipped exploit.

Jobs from any source flow through the XYZ gate. Clean builds pass; malicious ones fail, before they ever merge.

One uses: line on GitHub. Templates for GitLab and Azure →
GitHub GitLab Azure DevOps
// any source
job #4821proj #1180
buildtestxyz gate
✓ passed
job #4822proj #2043
buildtestxyz gate
✓ passed
job #4823proj #1180
buildtestxyz gate
✗ failed · 1 malicious
package.json
"dependencies": {
  "axios": "1.14.1" ⛔ blocked,
  "express": "4.18.2" ⚠ 2 high CVE,
  "lodash": "4.17.21" ✓ clean
}
axios@1.14.1Block
94/100XYZ risk · critical
  • threatSupply-chain attack · MAL-2025-1142
  • known exploitYes · weaponized
  • dependents12,400 packages
via the XYZ decision brain · ~80 ms verdict
// vscode · inline

Caught as you type.

The extension underlines risky dependencies on every save, and a hover reveals the full XYZ risk profile, CVEs, exploit status, downloads, dependents and any campaign link.

Explore the extension →
Two supply chains, one firewall

Your models are dependencies too.
So are your Go modules.

Both come through the same door as any npm or PyPI package, and until now neither had a gate on it.

// ai models · hugging face

The first install-time gate for AI models.

A model pulled from Hugging Face is a package tree, a loader stack and sometimes code that runs the moment it loads. CyberXYZ tracks the models your teams pull and every package they declare, scans pickle-format weights opcode by opcode without executing them, and re-checks the whole fleet against fresh threat intel every hour.

  • Pickle weights scanned before anything loads
  • trust_remote_code and unsafe loaders flagged
  • Gated repos reported as unknown, never as clean
  • Silent weight overwrites caught on the next poll
// in development

Next: a per-model forecast of the most likely attack vector, ranked across eight classes, from instructed dependency confusion and weak-maintainer chokepoints to remote-code trust and silent overwrites.

8risk axes per model
hourlyfleet re-check
0pickles executed
Why models need a firewall →
// go modules · goproxy

The first install-time firewall for Go.

One GOPROXY variable puts CyberXYZ in front of every go get. We tail the Go checksum database, the public append-only log of every module version ever published, watch 15,535 modules including 220 Tier-1, and answer a bad module with a hard 403 so the toolchain never falls through to the public proxy.

  • Every new module version seen within a minute
  • Version-jump and new-dependency anomalies
  • Standard-library impostor detection
  • Rolls out with one environment variable
15,535modules watched
220Tier-1 modules
403hard block, no fallthrough
First to watch Go, first to block it →
The decision brain

Six signals. One verdict.
~80 milliseconds.

Every install runs six detection signals in parallel: new dependency, version jump, known malware, advisory match, commit-level code review and vendor breach. The strongest signal decides, in about 80 ms: allow, alert, quarantine or block. See the full methodology →

New dependency Version jump Known malware GHSA / OSV Commit-level Vendor breach SCORER fuse · weigh · decide ALLOW ALERT QUARANTINE BLOCK
Where we fit

We don't replace your scanners.
We add the layer they can't.

SCA tools find known vulnerabilities after they're already in your tree. CyberXYZ blocks malicious installs before they land. Different jobs on the same supply chain, run them together.

// scanners & SCA

Detect after install

Snyk Wiz Mend Checkmarx Socket JFrog
  • Find known CVEs in your dependency tree
  • License & policy compliance
  • SBOM reporting
  • Can't stop day-0 / unknown malware (no CVE yet)
  • See it only after it is installed
  • No block at install time
// cyberxyz

Prevent at install

CyberXYZthe install-time supply-chain firewall
  • Blocks malicious installs before they reach disk
  • Catches day-0 / unknown, no CVE required
  • Reads the actual code at commit level
  • One verdict across IDE, CLI, CI/CD & runtime
  • Centrality / blast-radius scoring + MITRE ATT&CK
  • Feeds your SIEM / SOAR, ingests SBOMs

We add the prevention layer your scanners can't, run CyberXYZ alongside what you already own.

See it catch a real attack →   ·   The methodology →

Coverage

Every major registry.
Every tool your SOC runs.

npm, PyPI, Maven, NuGet, Go, Cargo, RubyGems and Composer, with every verdict delivered to your SIEM, CI/CD and IDE.

npmnpm
PyPIPyPI
MavenMaven
NuGetNuGet
GoGo
CargoCargo
RubyGemsRubyGems
ComposerComposer
JavaScriptJavaScript
GHSAGHSA
npmnpm
PyPIPyPI
MavenMaven
NuGetNuGet
GoGo
CargoCargo
RubyGemsRubyGems
ComposerComposer
JavaScriptJavaScript
GHSAGHSA
IBM QRadarIBM QRadar
SplunkSplunk
SentinelOneSentinelOne
CrowdStrikeCrowdStrike
ElasticElastic SIEM
GitHubGitHub
GitHub ActionsGitHub Actions
GitLabGitLab CI
Azure DevOpsAzure DevOps
JenkinsJenkins
DockerDocker
KubernetesKubernetes
VS CodeVS Code
Syslog/CEFSyslog / CEF
WebhooksWebhooks
JFrogJFrog
IBM QRadarIBM QRadar
SplunkSplunk
SentinelOneSentinelOne
CrowdStrikeCrowdStrike
ElasticElastic SIEM
GitHubGitHub
GitHub ActionsGitHub Actions
GitLabGitLab CI
Azure DevOpsAzure DevOps
JenkinsJenkins
DockerDocker
KubernetesKubernetes
VS CodeVS Code
Syslog/CEFSyslog / CEF
WebhooksWebhooks
JFrogJFrog
Compliance & Standards
SOC 2
ISO 27001
NIST
PCI DSS
CMMC
In their words

Trusted by the people
who ship the code.

I really liked the product, and that you’re ahead of the market: commit and PR-level review that catches zero-days before a CVE. We invited the team to present to our incident response and offensive security groups.
Mansoor HaqaneeCybersecurity Manager · KPMGLinkedIn →
// the ask

Stop shipping
malware
you didn't write.

Get a 15-minute walkthrough of the proxy, the dashboard and the live attack feed. We'll plug it into your CI in under an hour.

  • 15-min live demo
  • Free proof-of-concept
  • CI integration in < 1 hour

Thanks! We'll be in touch.

Check your inbox. We'll reach out within 24 hours.

Get a demo

We'll respond within 24 hours. No spam, ever.