Open Source Vulnerability (OSV) Format
OSV (Open Source Vulnerability) is a standardised vulnerability data format and database maintained by Google, designed for precise matching of vulnerabilities against specific package versions in open source ecosystems. It provides a PURL-based alternative to NVD for open source vulnerability correlation in SBOMs.
OSV (Open Source Vulnerability) is a standardised vulnerability data format and database maintained by Google, designed for precise matching of vulnerabilities against specific package versions in open source ecosystems. It provides a PURL-based alternative to NVD for open source vulnerability correlation in SBOMs.
Software Supply ChainWhat Is the OSV Format?
The Open Source Vulnerability (OSV) format is a standardised schema for representing vulnerability information, maintained by Google and hosted at osv.dev. OSV records describe which package versions are affected by a vulnerability with ecosystem-specific precision — specifying the exact version ranges in which the vulnerability is present and the first fixed version. This version-range model is more precise than the NVD CPE-based approach, which often has known inaccuracies for package-level matching. OSV data is provided for major open source ecosystems including npm, PyPI, Maven, Go, Rust (crates.io), Ruby Gems, NuGet, Debian, Alpine, and Android. The OSV schema is open and allows vulnerability databases from multiple sources to be published in a consistent, machine-readable format.
OSV for SBOM-Based CRA Compliance
For manufacturers building CRA-compliant vulnerability management workflows, OSV provides a powerful complement to NVD/CVE data. The key advantage is precision: an OSV query for pkg:pypi/[email protected] returns only the vulnerabilities that specifically affect that version, using the OSV version-range data. NVD CPE-based queries for the same package often return false positives (CVEs with imprecise CPE data) and false negatives (CVEs missing CPE data). OSV-based vulnerability correlation against SBOM PURLs provides:
- Higher signal-to-noise ratio in vulnerability reports.
- Version-specific 'affected' vs 'fixed' information enabling rapid determination of whether an available fix resolves the vulnerability.
- Data aggregated from multiple sources (OSV, GitHub Advisory Database, GHSA) in a single query.
OSV-Scanner and SBOM Integration
Google provides OSV-Scanner, an open-source command-line tool that takes an SBOM (CycloneDX or SPDX) or a lockfile as input and queries the OSV database for known vulnerabilities affecting the listed components. OSV-Scanner is designed to integrate into CI/CD pipelines for continuous vulnerability monitoring. For CRA compliance workflows:
- Run OSV-Scanner against the product SBOM on every build to detect new vulnerabilities disclosed since the previous scan.
- Include OSV-Scanner results in the technical documentation file as evidence of vulnerability monitoring.
- Use OSV-Scanner output to feed the vulnerability triage process, prioritising findings by CVSS score and EPSS data.
- Generate VEX statements for OSV findings that are assessed as not-affected in the product context.
OSV Relationship to GitHub Advisory Database and CVE
OSV serves as an aggregator and re-publisher of vulnerability data from multiple sources. GitHub Advisory Database (GHSA) is the primary source for many npm, PyPI, and Go vulnerabilities. OSV imports GHSA data and republishes it in OSV format. CVE records from NVD are also mapped to OSV entries where precise version data is available. This means an OSV query may return both OSV-native records (e.g., GHSA-xxxx-xxxx-xxxx) and CVE-mapped records (e.g., CVE-2023-XXXXX), potentially providing more complete coverage than querying either source alone. Manufacturers should include OSV-based scanning alongside NVD-based scanning in their SBOM vulnerability management workflow to maximise coverage.
CVD Portal makes Open Source Vulnerability (OSV) Format compliance straightforward.
Public CVD submission portal, acknowledgment tracking, Article 14 deadline alerts, and CSAF advisory generation. Free forever for EU manufacturers.
Start your free portalFrequently asked
Is OSV coverage as good as NVD for all vulnerability types?+
OSV is strongest for open source software packages distributed through public registries (npm, PyPI, Maven, Go, etc.). NVD has broader coverage including proprietary software, hardware, and OS-level vulnerabilities. For a typical CRA product with a significant open source component stack, OSV + NVD together provide better coverage than either alone. Manufacturers of products with significant open source content should prioritise OSV for package-level scanning. NVD remains essential for coverage of closed-source, OS, and hardware components.
How often is the OSV database updated?+
The OSV database is updated continuously — multiple times per day — as new vulnerability records are published or updated in source databases like GitHub Advisory Database and NVD. OSV-Scanner fetches current data at scan time, meaning each scan reflects the latest known vulnerabilities. For CRA continuous monitoring purposes, running OSV-Scanner scans daily (automated in CI/CD) provides near-real-time alerting for new vulnerabilities affecting the product's SBOM.
Can OSV be used for vulnerabilities in firmware or embedded OS components?+
OSV's coverage is strongest for high-level application packages. Coverage for firmware-specific components, embedded RTOS packages, and hardware-related vulnerabilities is more limited. For embedded products, OSV should be supplemented with NVD scanning for OS-level packages (using CPE or PURL for deb/rpm/apk packages) and ICS-CERT advisories for firmware-specific vulnerabilities. Tools like Grype (Anchore) support both OSV and NVD sources in a single scan and handle container/OS package types well.
Related terms
Browse the full CRA Compliance Checklist
See how Open Source Vulnerability (OSV) Format fits into your complete CRA compliance programme.