Lockfile scanning across npm, pip, Go modules, and more.
OSV.dev as the CVE source. No paid scanner dependency.
Cliff reads every alert and security report and checks whether the flagged code actually runs in your repo — and whether an attacker could reach it. It confirms the real ones, clears the rest with its reasoning on record, and drafts the fix.
AGPL-3.0 · Free forever for open-source maintainers · Built by security researchers submitting to Chrome VRP and other major bug-bounty programs.
The security noise hits you from two places: your scanners and your inbox. Cliff reads every item from both, works out what's actually exploitable (not just present), and returns one of three verdicts.
Dependabot and GHSA flag every CVE in every dependency, most in code you never call. The pile trains you to ignore the channel, until a real one slips through. Cliff checks whether the vulnerable function actually runs, and clears what can't be exploited, with its reasoning on record.
Then there are the reports, increasingly AI-generated, plausible enough that refuting each one costs hours. At curl, fewer than 1 in 20 were real. Cliff confirms the genuine ones and debunks the rest before they eat your week.
One queue, two sources, one honest answer for each. Your inbox gets quiet, and the one that matters doesn't get lost in it.
The real ones don't just get flagged. Cliff fixes them. It runs locally, your source never leaves the machine, and every fix arrives as a draft pull request you review like any contribution.
One command. Your GitHub token, your AI provider key, your repo URL. No setup wizard, no SaaS account.
code stays local. nothing uploaded.
Lockfiles plus posture checks plus plain-English descriptions. A grade A through F, with the five things you need to fix to reach A.
first scan takes about two minutes.
Fixes land as draft pull requests you review. Cliff explains its reasoning. You merge — it ships.
nothing auto-merges. you stay in control.
Clearing the noise and fixing what's real adds up. Cliff scores your repo A through F and walks you up, criterion by criterion: finding the work, drafting the fix, verifying the close.
Cliff finds them, reasons about reachability, drafts the fix.
What's exploitable gets a PR. The rest stays cleared, with reasoning on record.
Cliff catches committed secrets before they ship — and helps you rotate them.
Branch protection, CODEOWNERS, SECURITY.md, lockfile presence — the basics, scored.
Cliff keeps your lockfile current with safe updates as patches release.
Six things Cliff does, today, in beta.
OSV.dev as the CVE source. No paid scanner dependency.
Branch protection, secrets in code, SECURITY.md, lockfile presence — the basics, scored.
Trivy plus Semgrep plus an LLM agent pipeline. Every PR is a draft; nothing auto-merges.
Every finding rewritten as if explaining it to a developer who has never read a CVE.
Anthropic, OpenAI, OpenRouter, or local Ollama. Your code stays on your machine.
Open source itself. Run it, fork it, ship it on your repo.
Cliff is built by one person — not a team, not an enterprise sales motion.
Today, Cliff gives you a shareable completion summary card — a Markdown snippet for your README, an image you can post anywhere. The full public Cliff badge is next. It's not being rushed. The point isn't a badge — it's a standard of trust for open-source, earned by doing the work and never bought.
You'll need:
repo scope# installs the cliff binary, then starts it in the background
curl -fsSL https://github.com/cliff-security/cliff/releases/latest/download/install-local.sh | sh
cliffsec start --detach
Stuck? Open an issue on GitHub. Beta Discord coming soon.
You'll need:
repo scopecurl -fsSL https://github.com/cliff-security/cliff/releases/latest/download/install-local.sh | sh
cliffsec start --detach
First scan takes about two minutes. Your code stays on your machine.