Skip to content

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

  1. ScanPharon lists every package, image and cloud service your repos use, on your machine.
  2. MatchNew compromised packages, exploited CVEs, breaches and end-of-life dates are checked against that list.
  3. 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.

See the latest notices How alerts work

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. 1:14 PM

    OSV.dev reports litellm 1.107.0 as compromised. Pharon publishes the signed notice litellm-2026-10.

  2. 1:20 PM

    Matched in acme/api and billing-worker. Both pin litellm 1.107.0 in uv.lock.

  3. 1:20 PM

    The api team hears first. Slack #security, an email, and a signed webhook.

  4. 1:20 PM

    The light comes on in Claude Code. 🔦 critical · 1 open in the status line of both repos.

  5. 1:26 PM

    Lena runs /pharon:check-incident. Her laptop is affected through .venv and the pip cache. Rotate OPENAI_API_KEY.

  6. 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. 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. 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. 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.

Cloud scanning, read-only What we see

  • 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.

How checks work

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:show prints 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.

FAQ

Questions

Something else? Read the docs

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