Skip to main content

sbom-cve-check

sbom-cve-check is a lightweight, standalone and easy-to-use tool that parses Software Bill Of Materials (SBOM) files and using publicly available databases of security vulnerabilities (CVEs), provides a report detailing which software components are affected by known security vulnerabilities.

Key features provided by this tool:

  • Accepts an SBOM file as input: currently supports SPDXv2.2 and SPDXv3.
  • Supports multiple sources of vulnerability information: currently NVD and CVE List.
  • Can consume various annotation formats, like OpenVEX.
  • Generates exports in multiple formats, including SPDX v3.0.
  • Supports plugins to add additional features.
  • Filters affected CVEs based on compiled sources: if the source file affected by a CVE is not compiled in, this CVE is considered not applicable. Mostly useful to filter Linux kernel CVEs.
  • Has very few dependencies, is very lightweight and easy to set up and use.
  • Fully open-source, under GPLv2.

See the sbom-cve-check documentation for further details.

Motivation

This tool was started as a way of replacing the cve-check logic implemented in Yocto, which requires running a full build to perform a new CVE analysis. sbom-cve-check instead can run on the SBOM produced once by Yocto Project and can be used to regularly run the CVE analysis in less than a minute.

Getting started

Assuming you're using Yocto Project, 4 easy steps:

  1. Install the tool:
    pip install sbom-cve-check[extra]
    (You may want to do this in a Python virtual environment).

  2. Generate the SBOM with Yocto Project:
    SPDXv3.0 is generated by default since Yocto ProjectWalnascar (5.2).
    Add INHERIT += "vex" in your local.conf.

  3. Retrieve two artifacts from the Yocto Projectdeploy directory:
    ${IMAGE_NAME}.rootfs.spdx.json: The SPDX v3.0 SBOM file.
    ${IMAGE_NAME}.rootfs.json: File generated by the vex.bbclass.

  4. Run the CVE analysis:

     sbom-cve-check \
       --sbom-path ${IMAGE_NAME}.rootfs.spdx.json \
       --yocto-vex-manifest ${IMAGE_NAME}.rootfs.json \
       --export-type yocto-cve-check-manifest --export-path out.json
    

Roadmap

  • Add support of Ubuntu CVE tracker repository.
  • Automatically detect if a patch was backported.
  • Add more export formats, like for example OpenVEX.
  • Add CycloneDX (CDX) SBOM support as input.
  • Allow to generate an SBOM (CDX or SPDX 3.0) as output even if the SBOM specified as input is in another format.

Compatibility with Yocto Project

The compatibility with the SBOM generated by Yocto Project is described in the Yocto Project SBOM section.

Metadata

Release files for sbom-cve-check 1.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sbom-cve-check 1.3.4
File Size Uploaded
sbom_cve_check-1.3.4.tar.gz 200.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sbom-cve-check 1.3.4
File Interpreter ABI Platform
sbom_cve_check-1.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 376.1 kB

Release files / sbom_cve_check-1.3.4.tar.gz

Download URL sbom_cve_check-1.3.4.tar.gz
Size 200.1 kB
Tags Source
SHA-256 checksum
How to use checksums
aa2f4e183b600fdad7ce6eb67f7d642bd3e7c67293ae9ffda7d3a2fde433e02b
BLAKE2b-256 checksum
How to use checksums
709d28a81f216decaedc186aa7c4e8d11cca209f9d89c0d4ac195ecc747fd5f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release files / sbom_cve_check-1.3.4-py3-none-any.whl

Download URL sbom_cve_check-1.3.4-py3-none-any.whl
Size 176.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ffd008b9e750cfb93de3d479c86982aa80f0dc7f6bb94456e6a6309ee64f5442
BLAKE2b-256 checksum
How to use checksums
e9583323592ac3eb025cd45c7c4f4ee88f5490a652ed6301eb7c405e59fb9266
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.

Transparency log

Release history Release notifications | RSS feed

1.3.5

2 release files

This release

1.3.4 This release

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page