Try it right now

Find your CI/CD vulnerabilities in 5 seconds.

Type any public GitHub repo. We'll scan its workflow files with the same 17-check engine that runs on every PR after you install us. No signup, no email — just findings.

try:
1-click
GitHub App install
17
CI/CD checks
6
Pkg ecosystems
MIT
Open source

How it works

One click. No YAML. No secrets.

The GitHub App replaces the old workflow-file approach entirely. Install it once on your org and every repo is protected — including ones you create in the future.

01

Install the GitHub App

One click on GitHub. Select which repos to protect. No workflow files, no secrets to manage. Takes 30 seconds.

github.com/apps/vu1nz/installations/new

02

Every PR gets scanned automatically

When a pull request opens, vu1nz fetches the workflow files, runs 17 CI/CD checks + a malware sweep of new packages, and posts a Check Run inline on the PR — pass or fail.

CI/CD checks + package malware + optional Claude AI review

03

See everything in your dashboard

Full scan history. Every finding with file, line, CWE, and recommendation. Trigger scans on demand. Add your Claude API key for AI-powered review.

vu1nz.com/dashboard

You no longer need to:

Add a workflow file to each repo
Create a VU1NZ_LICENSE secret
Remember to update YAML when you create new repos
Manually trigger scans after config changes
Get started free — install GitHub AppNo card required · Cancel anytime · MIT-licensed
  • Scans fire on every PR automatically
  • Check Runs appear inline on GitHub
  • Dashboard at vu1nz.com/dashboard
  • $100/month per GitHub org after trial

Why we built this

Your application code isn't where the breach will come from.

Every JavaScript repo has Dependabot enabled. Most have CodeQL. Senior engineers have probably bolted on Snyk or Semgrep too. And then, on March 14th, 2025, a maintainer's GitHub account got phished. The compromised version of tj-actions/changed-files ran on 23,000+ repositories overnight, dumped their workflow secrets to public logs, and Dependabot was silent the whole time.

Dependabot was silent because it scans your existing dependencies for known CVEs. The malicious version had no CVE.

CodeQL was silent because it scans your application code. The exploit was a workflow YAML file.

Snyk was silent for the same reason as Dependabot. So was npm audit. So was every commercial SCA tool on the market that bills you $25 per developer per month.

This is the new pattern.

Look at the last three years of high-profile supply-chain breaches:

  • Shai-Hulud npm worm(Sep 2025) — 180+ packages including CrowdStrike's. Malicious postinstall scripts. No CVE at install time.
  • tj-actions/changed-files (Mar 2025) — workflow action compromised. 23,000+ repos. Tag pinning instead of SHA pinning. No CVE at install time.
  • Polyfill.io (Jun 2024) — domain sold, 100,000+ sites poisoned via CDN injection. No CVE at install time.
  • xz-utils (Mar 2024) — multi-year maintainer takeover, SSH backdoor in release tarballs. No CVE at install time.
  • ctx PyPI package (May 2022) — abandoned package taken over via expired email domain. AWS keys stolen from every install. No CVE at install time.

None of these were attacks on your code. They were attacks on the two layers between your code and production: the workflow files that run your CI/CD, and the packages you add via PR.

Those two layers are the most privileged and least audited surfaces in your repo. Your CI/CD has access to your deploy keys, your prod database passwords, your AWS account. Your package-lock.json gets a new entry every Wednesday and nobody reads the diff because npm packages have funny names.

So we built vu1nz.

One GitHub Action. Two scanners.

Scanner 1 reads your workflow files and runs 17 deterministic checks mapped to CWE — script injection, unpinned actions, secrets in run:, pull_request_target patterns, the full set of CI/CD anti-patterns that the OWASP CI/CD Top 10 names.

Scanner 2watches your PR diffs. When somebody adds a new npm / pip / cargo / gem / go.mod / composer package, we check it against OSV.dev's real-time malware feed, run it through a typosquat-distance check against the top 5k packages in each ecosystem, fingerprint its install scripts for shell-out / curl-bash / base64-eval patterns, and flag anything published in the last 7 days from a low-reputation maintainer.

Both are packaged as a GitHub App you install once on your org. Every PR triggers automatically — no workflow files to maintain, no secrets to rotate across repos. Results appear as a Check Run inline on the PR, and full scan history lives in your dashboard at vu1nz.com/dashboard.

Free 14-day trial per org, no card. After that, $100 per month per org — roughly one developer-hour, regardless of team size or repo count. Add your Anthropic key to the dashboard and every scan gets Claude AI code review on top of the deterministic checks.

We're not trying to replace Dependabot or CodeQL. Keep them. They're good at what they do. We catch what they don't — which is, increasingly, what actually breaches companies.

Try the scanner above on your own org. We'll find something. Then come install the action.

Side-by-side

Three PRs. Three misses by your current stack.

Same PR, same diff. What Dependabot or CodeQL post vs what vu1nz posts. These are the patterns behind the real-world breaches referenced above — check them against your last 30 days of PR comments.

Scenario 1PR adds tj-actions/changed-files@v45
DB
Dependabot commented as dependabot[bot]
missed

No vulnerabilities found in updated dependencies. ✅

v1
vu1nz commented as vu1nz[bot]
caught

HIGH · CWE-829 — Unpinned third-party action tj-actions/changed-files@v45

Tags are mutable. This pattern was the root cause of the March 2025 compromise that hit 23,000+ repos. Pin to a 40-char SHA.

Scenario 2PR adds @ctrl/ngx-csv@7.0.10 (Shai-Hulud worm)
DB
Dependabot commented as dependabot[bot]
missed

No vulnerabilities found in updated dependencies. ✅

v1
vu1nz commented as vu1nz[bot]
caught

CRITICAL · malware @ctrl/ngx-csv@7.0.10

OSV.dev MAL-2025-* flagged this version. Installs a postinstall that exfiltrates npm + GitHub tokens (Shai-Hulud worm). Remove immediately. Rotate any tokens exposed since install.

Scenario 3Workflow has secrets in `run:` block
DB
CodeQL commented as github-advanced-security[bot]
missed

Analysis complete. No new alerts on this PR.

v1
vu1nz commented as vu1nz[bot]
caught

CRITICAL · CWE-200 — Secret inlined in run command at .github/workflows/deploy.yml:24

$${{ secrets.AWS_KEY }} is interpolated directly into a shell command. It leaks into ps listings and the CI log. Move to a step env: block.

Get started

Protect your org in 30 seconds.

Install the GitHub App once on your org. Every PR is scanned automatically — CI/CD workflow checks + package malware sweep. No YAML files, no secrets.

Get started free — install GitHub App
  • Free 14 days. No card.
  • $100/month per GitHub org after.
  • Card or crypto via CoinPay.
  • MIT-licensed. Fork it, self-host it.