Supply chain security alerts
Know within minutes when a compromised package, an exploited CVE, a vendor breach or an end-of-life date hits your stack
- ScanPharon lists every package, image and cloud service your repos use, on your machine.
- MatchNew compromised packages, exploited CVEs, breaches and end-of-life dates are checked against that list.
- AlertThe team that owns the repo hears within minutes, in Slack, email and Claude Code, with the secrets to rotate.
Claude Code plugin and CLI · Code stays on your machine · $49/month, 7-day trial
Incidents from the sources that publish them
- OSV.dev
- GitHub Advisory
- OpenSSF
- CISA KEV
- endoflife.date
- PyPI
- Go vulndb
- RustSec
- Vendor bulletins
- Security news
OSV.dev and security news every 5 minutes. CISA KEV and end-of-life dates every day.
The keeper's log
One incident, from first report to light off.
Most days nothing you run is touched, and Pharon says nothing. This is a day when something is.
- 1:14 PM
OSV.dev reports litellm 1.107.0 as compromised. Pharon publishes the signed notice litellm-2026-10.
- 1:20 PM
Matched in acme/api and billing-worker. Both pin litellm 1.107.0 in uv.lock.
- 1:20 PM
The api team hears first. Slack #security, an email, and a signed webhook.
- 1:20 PM
The light comes on in Claude Code.
🔦 critical · 1 openin the status line of both repos. - 1:26 PM
Lena runs /pharon:check-incident. Her laptop is affected through .venv and the pip cache. Rotate OPENAI_API_KEY.
- 1:31 PM
Pinned to 1.106.2 and rotated. The next inventory upload clears the match, and the light goes off.
Setup
Install, link, then let it keep watch.
- 1
Install the plugin
Add Pharon to Claude Code. The command-line tool comes with it, so there is nothing else to install.
/plugin marketplace add getpharon/pharon /plugin install pharon@pharon
- 2
Link a repo
Run /pharon:setup. It logs you in, reads the stack on your machine and shows exactly what will be uploaded.
/pharon:setup
- 3
Pharon does the rest
Your inventory stays current, new compromises are picked up within minutes, and you're told the moment something you run is hit.
✓ 418 components watched
Coverage
Watch every layer with zero blind spots
Incident alerts for npm and PyPI packages, container images, GitHub Actions, Node.js and Python runtimes, Postgres and Redis, Kubernetes, Lambda, and the vendors you call, like Stripe, OpenAI, Vercel and Supabase.
Packages
npm, PyPI, Go, Rust, Ruby, PHP, Java and .NET
Lockfiles and manifests
Container images
Base images and the images your services run
Dockerfiles, compose files, running ECS and Cloud Run services
CI actions
GitHub Actions, by tag or pinned commit
Workflow files
Runtimes
Node.js, Python, Go, Ruby, PHP, Java, .NET
Version files, Dockerfiles, serverless and platform configs
Cloud services
Databases, Kubernetes, serverless and queues on AWS, Google Cloud and Azure
Your own cloud CLI, read-only
Third-party services
Stripe, OpenAI, Vercel, Supabase and 50 more
SDK imports, variable names in .env.example, your DNS records
In Claude Code
The light comes on where you work.
The plugin puts a warning light in your Claude Code status line, and a notice pops up the moment a critical incident hits the repo you're in. One command then checks this machine, read-only, and names the secrets to rotate.
Features
Built for the way you already work
Pharon meets you in Claude Code, your inbox, Slack and your pull requests.
Session notices
Open Claude Code in an affected repo and Pharon speaks first, with the command to check.
Local check
Reads lockfiles, installed packages, caches and images on this machine, without changing anything.
Rotation checklist
Secret names from shared checks become a checklist with owners. Never their values.
Branch previews
Branches and uncommitted changes are checked without replacing the official inventory.
Pull request check
The GitHub Action fails a pull request that brings in a component with an open incident.
Slack and webhooks
Critical and high incidents go out at once. Webhook payloads are signed.
End-of-life dates
Runtimes and managed databases nearing end of support show up before the deadline.
Daily digest
Everything else arrives once a day, or not at all. Snooze any incident for a week.
Privacy
Only the inventory leaves your machine.
The scan runs where your code lives. Pharon gets names, versions and file paths, and every notice it sends back is signed.
Runs on your machine
The scan reads your stack where it lives. Source code and file contents never leave it.
Inventory only
Names, versions and paths of stack files.
/pharon:showprints the exact upload.Secret names, never values
A check names the secrets within reach so you know what to rotate. It never reads them.
Signed notices
Every notice carries an Ed25519 signature. The CLI rejects anything unsigned or altered, and nothing in a notice can run.
Hashed cloud ids
Cloud accounts and resources are identified by hash unless you choose otherwise.
Your yes first
Pharon shows the first inventory and uploads nothing until you approve it.
What is Pharon?
Pharon is a warning system for software teams. It keeps an inventory of every package, container image, GitHub Action, runtime and cloud service you run, and alerts you within minutes when a compromised release, an exploited vulnerability, a vendor breach or an end-of-life deadline reaches it.
Does Pharon see my source code?
No. The scan runs on your machine and uploads only an inventory: component names, versions and the paths of stack files. Source code, file contents and secret values never leave your machine, and /pharon:show prints the exact upload.
Where do the incidents come from?
From OSV.dev (which includes the GitHub Advisory Database, PyPI, Go, RustSec and OpenSSF's malicious package reports), CISA's catalog of exploited vulnerabilities, endoflife.date, and security news and vendor bulletins summarized with Claude. Every notice is signed with Ed25519 and contains data only, never commands.
How quickly will I hear about a compromised package?
Pharon checks OSV.dev and security news every 5 minutes, and CISA KEV and end-of-life dates daily. When a notice affects something you run, critical and high alerts go out right away and the rest arrive in a daily digest, unless you choose otherwise.
How do I know whether a machine was actually affected?
Run /pharon:check-incident followed by the notice id in Claude Code. It looks at lockfiles, installed packages, package caches, Docker images and indicator files without changing anything, and lists the secrets to rotate by name.
Do I need Claude Code?
To connect a repo, yes: the Claude Code plugin sets it up and fills in what it can't see from files. After that, the GitHub Action keeps the inventory current from CI and checks pull requests, without anyone's laptop.
Does it replace my dependency scanner?
No. A dependency scanner keeps your packages patched. Pharon tells you when something you already run has been compromised, exploited or retired, across the whole stack, and whether you were exposed.
Let something else keep watch tonight.
$49 a month for 25 projects, with a 7-day trial.
Start the 7-day trial