Incident Alerts

Know quickly when a public security incident affects your stack: where, the fix, and the deadline.

Incident Alerts Available on every plan Updated 25 October 2026

These pages describe ShellOrbit as it runs today. Breaking changes to the HTTP API are announced before they ship, and existing request and response shapes stay supported.

Incident Alerts matches public security advisories to what you run and alerts you when one applies, including malicious package releases such as LiteLLM 1.107.0. It is on every plan. It never reads your code, repository, or dependency files and never probes your site: packages count only when you declare them.

What it watches

Everything it knows about is a stack item: a product, a version if known, and where it was seen.

Incident Alerts: Source, Stack items
SourceStack items
Domain scansThe certificate chain; software and versions in Server, X-Powered-By, X-Generator, X-Runtime, X-AspNet-Version; Vercel, Netlify, Cloudflare, Supabase, Firebase
SDK runtime reportNode.js and OpenSSL versions of each SDK project
Open leak findingsThe provider of each leaked key, such as OpenAI or Stripe
Your declared stackAnything you add in the dashboard, including packages by registry, name, and version

Dismiss a detected item that is wrong: it stops matching and the next scan does not bring it back.

Declare your stack

In Leak Alarm, Incidents, add an item:

Incident Alerts: Field, Rule
FieldRule
ProductFrom the list: runtimes, web servers, frameworks (including Log4j, WordPress, Spring), platforms, and vendors (including AWS, TiDB Cloud, Supabase, OpenAI)
VersionOptional. Starts with a digit, up to 32 characters: 8.1, 26.12.0
LabelOptional. Up to 60 characters on one line

A stack holds 200 items, detected and declared together. Add versions: an advisory that names affected versions never matches an item without one.

Packages

Under Add a package, pick the registry (PyPI, npm, Maven, RubyGems, crates.io, Packagist, NuGet, Pub, or Hex), type the name as the registry spells it, and the exact version you run. Maven names are group:artifact.

Paste a list reads lines from requirements.txt, package.json, a Gemfile, Cargo.toml, or Maven coordinates, such as litellm==1.107.0, axios@1.7.2, "express": "4.19.2", or gem 'rails', '7.1.3'. The list is read in your browser; you review it and nothing is saved until you add it. A line without an exact version is skipped.

A package already watched is checked straight away. One nobody had declared before gets its full history within 15 minutes.

Advisory sources

Incident Alerts: Source, Gives, Severity
SourceGivesSeverity
Node.js release indexSecurity releases and the fixed version per lineHigh
Go vulnerability databaseStandard library and toolchain flaws from the last yearMedium
endoflife.dateNode.js, PHP, Go, Python, and nginx lines past end of life, or within 60 days of itHigh once ended, medium before
Mozilla OneCRLDistrusted certificate authorities and intermediatesCritical
CISA Known Exploited VulnerabilitiesFlaws exploited now, with CISA’s deadlineMakes a listed advisory critical
OSV.devMalicious releases and high or critical advisories for the packages you declare, on PyPI, npm, Maven, RubyGems, crates.io, Packagist, NuGet, Pub, and HexCritical for a malicious release; otherwise as published (high or critical, or exploited per CISA)
ShellOrbitVendor breaches and urgent issues no feed coversPer advisory

Every source is checked every 15 minutes, and OSV.dev’s whole export is read again once a day. ShellOrbit only downloads from them, the OSV.dev export whole rather than by package; nothing about your account, not even a package name, is sent.

How matching works

Matching runs in ShellOrbit’s own AWS account, when an advisory changes and when your stack changes. An advisory matches:

  • a version range: the version falls between the first affected and the fixed version, compared part by part as numbers, with pre-releases such as 1.2.0rc1 or 1.2.0-beta.1 before their release;
  • an exact release: the version is one the advisory lists, as OSV.dev does for malicious releases;
  • a release line: the version is on an ended line, so 8.1.34 is on 8.1;
  • a product: you use it at any version, as in a vendor breach;
  • a certificate: your site’s chain holds a key, or an issuer and serial, the advisory names.

Expect an alert within minutes of an advisory reaching a public feed; feeds can trail the first news by hours. When two advisories are the same incident (one lists the other’s id), each stack item gets one of them.

Alerts and resolving

Each match is a finding with the source Incident: the evidence, the fix, and any deadline. Matches never count toward your monthly events.

Incident Alerts: Severity, Where it goes
SeverityWhere it goes
Critical, highEmail to owners, admins, and alert addresses straight away; Slack, Discord, Teams, or any URL from Starter. Once per incident per 24 hours
Medium, lowDashboard, and the weekly digest when it is on

A match resolves on its own when its evidence goes: a newer runtime is reported, a scan sees the new certificate or no version, you remove or dismiss the item, or the advisory is withdrawn.

Dashboard and API

Leak Alarm, Incidents in the ShellOrbit dashboard: incidents affecting the account, each with severity, evidence, and the fix

Leak Alarm, Incidents shows what affects you, every advisory from the last 90 days marked Affected, Not affected, or Not enough data, and your stack. Package advisories appear only where they affect you.

Incident Alerts: Request, Does
RequestDoes
GET /v1/leak/incidentsIncidents affecting you, and recent advisories with their state
GET /v1/leak/incidents/{id}One advisory and every match, open or resolved
GET /v1/leak/stackYour stack
GET /v1/leak/stack/catalogProducts and package registries you can declare
POST /v1/leak/stackDeclare: {"product":"php","version":"8.1","label":"billing API"}, or a package as {"product":"pypi:litellm","version":"1.107.0"}
DELETE /v1/leak/stack/{id}Remove a declared item, or dismiss a detected one

Reads work with any API key; writes need read and write. MCP agents use list_incidents, get_incident, and list_stack.

Limits

ShellOrbit alerts only for what it can see: items it detected or you declared, with a version where the advisory names versions. It does not catch every incident.

  • No warning for flaws or breaches not yet made public.
  • Sees only your verified domains, SDK projects, findings, and declared stack.
  • Checks only the packages you declare, never your code or lockfiles; a dependency scanner covers every transitive package.
  • Tells you the fix; does not apply it. Not a security operations centre.