A.R.P. SyndicateARPSyndicate

SBOM Vulnerability Scanner

Upload a CycloneDX or SPDX SBOM — from Trivy, Grype, or Syft — and check every component against the same database behind Exploit Observer.

VEDAS Clusters
Vulnerabilities
Exploits Indexed
150+
Sources Fused
  1. Upload your SBOM — CycloneDX (JSON/XML) or SPDX (JSON/tag-value), any format that embeds pkg: purls.
  2. We extract package identifiers in your browser. The file itself is never uploaded anywhere.
  3. Each identifier is checked against the VEDAS vulnerability database, and results land in a table you can export as CSV.
No file selected.

Free & anonymous — rate-limited to 2 requests/minute per IP, so large SBOMs take a while. Add an API key for higher throughput (same data either way).

This scanner extracts every package URL (purl) referenced in your SBOM and checks it against VEDAS, the same clustered exploit & vulnerability graph that powers Exploit Observer's free CVE API — CVE, GHSA, vendor bulletins, CNNVD, BDU, JVNDB and public proof-of-concept code, all resolved to one identifier per real-world vulnerability.
Your SBOM file is parsed locally in your browser and never uploaded. Only extracted package identifiers are sent for lookup.

Works with the SBOM tools you already use

If you already generate SBOMs as part of a build or scan, this reads what they produce — no separate export step, no reformatting.

TrivyReads CycloneDX or SPDX SBOMs exported via trivy sbom / trivy image --format cyclonedx.
GrypeReads Grype's own CycloneDX/SPDX SBOM output, or an SBOM Grype was given as input.
SyftReads any of Syft's CycloneDX, SPDX, or syft-json outputs directly.
CycloneDXFull support for CycloneDX 1.x SBOMs in JSON or XML, from any generator.
SPDXSupports SPDX 2.x in JSON or tag-value format, including externalRefs purls.
OSV-Scanner & cdxgenAny tool that embeds pkg: package URLs in its output works here.

Common questions

Does this replace Trivy or Grype?

No — think of it as complementary. Trivy and Grype resolve full semantic-version ranges against their own vulnerability databases and are built for CI pipelines. This tool checks each component's package URL against Exploit Observer's VEDAS-clustered database using exact identifier matching, entirely from a browser, with nothing to install.

It's a fast way to check an SBOM you already have — not a replacement for scanning in CI.

What SBOM formats are supported?

CycloneDX (JSON or XML) and SPDX (JSON or tag-value), including exports from Trivy, Grype, Syft, cdxgen, and most other SBOM generators. The scanner extracts every package URL (pkg: purl) it finds in the uploaded file, so any format that embeds them works.

Is my SBOM uploaded to a server?

No. The file is parsed entirely in your browser using the File API. Only the extracted package identifiers — not the file itself — are sent to the Exploit Observer API for lookup.

Why is scanning slow?

The free, anonymous Exploit Observer API is rate-limited to 2 requests per minute per IP, and each component is one request. A 50-component SBOM takes roughly 25 minutes on the free tier. An API key raises that limit substantially for larger SBOMs.

What does "clean" actually mean?

No vulnerability record was found for that exact package-and-version identifier in VEDAS. That's a real signal, but it isn't the same as a full semver-range CVE match the way Trivy or Grype compute it — a differently-versioned build of the same package could still be affected. Treat this as a fast first pass, not a final verdict.

What does the Maturity score mean?

VEDAS's exploit maturity score (0–100%) for the vulnerability cluster matched to that component — how exploitable it appears to be in practice, not just in theory. It's the same score shown on Exploit Observer's main lookup. When a component matches more than one cluster, this shows the score for the first (most relevant) match.

Premium access

Scanning a large SBOM? API keys start at $200/month and raise the rate limit substantially.

API key

Raises your rate limit from 2/min to your plan's limit. Sent as an X-API-Key header, stored in your browser only.