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:
-
Install the tool:
pip install sbom-cve-check[extra]
(You may want to do this in a Python virtual environment). -
Generate the SBOM with Yocto Project:
SPDXv3.0 is generated by default since Yocto ProjectWalnascar (5.2).
AddINHERIT += "vex"in yourlocal.conf. -
Retrieve two artifacts from the Yocto Project
deploydirectory:
${IMAGE_NAME}.rootfs.spdx.json: The SPDX v3.0 SBOM file.
${IMAGE_NAME}.rootfs.json: File generated by the vex.bbclass. -
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.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sbom_cve_check-1.3.5.tar.gz | 200.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sbom_cve_check-1.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 377.8 kB
Release files / sbom_cve_check-1.3.5.tar.gz
| Download URL | sbom_cve_check-1.3.5.tar.gz |
|---|---|
| Size | 200.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ed8b0e9c46015444cd3e30332d9558e0be5f5fec97f6df47c6760166a314167
|
|
BLAKE2b-256 checksum How to use checksums |
9644243ceeef073691b00e3e9ddfed11d6dda36737e62c6edfe2713a4ac0a51c
|
| 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 14, 2026.
Transparency logRelease files / sbom_cve_check-1.3.5-py3-none-any.whl
| Download URL | sbom_cve_check-1.3.5-py3-none-any.whl |
|---|---|
| Size | 177.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f07d2e788b9fb91ffe7eb3adfc7197fb2fbd0aef49d8bc8f7bf9d2216c62d8c5
|
|
BLAKE2b-256 checksum How to use checksums |
c7428913c7c4bf24a64715888d743f344ac1642f3ca92a1c559c9a5ad17c41d0
|
| 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 14, 2026.
Transparency log