You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running grype on an SBOM generated by syft on a local directory, and using the --vex argument pointing to an OpenVEX document, the following error occurs:
[0000] ERROR unable to find matches against VEX sources: unable to find matches against VEX documents: checking matches against VEX data: reading product identifiers from context: source type not supported for VEX
What you expected to happen:
Grype successfully reads the SBOM and OpenVEX documents, and provides its expected output (e.g. suppressing a warning).
How to reproduce it (as minimally and precisely as possible):
# Creating an SBOM on a local directory (Python project managed by poetry)
syft scan . -o json > sbom.json
# Note: Here's a warning which mightg help solve this:# [0000] WARN no explicit name and version provided for directory source, deriving artifact ID from the given path (which is not ideal)# Running grype without VEX
grype sbom.json
# Table output with some vulnerabilities. For example:# urllib3 2.2.1 2.2.2 python GHSA-34jh-p97f-mpxf Medium# Creating a VEX statement on this vulnerability. The PURL was taken from grype's JSON output
vexctl create --file openvex.json -p "pkg:pypi/[email protected]" -v "GHSA-34jh-p97f-mpxf" -s "not_affected" -j "vulnerable_code_not_in_execute_path"# Run grype with the VEX
grype sbom:sbom.json --vex openvex.json
The output for the last command:
✘ Scan for vulnerabilities [7 vulnerability matches]
├── by severity: 0 critical, 0 high, 5 medium, 2 low, 0 negligible
└── by status: 7 fixed, 0 not-fixed, 0 ignored
[0000] ERROR unable to find matches against VEX sources: unable to find matches against VEX documents: checking matches against VEX data: reading product identifiers from context: source type not supported for VEX
wagoodman
changed the title
Grype error when reading SBOM for directory and VEX document: unable to find matches
Support using VEX documents with directory scans and SBOMs
Mar 6, 2025
Looks like the function for matching subjects and sources only supports images -- the next step is to try and only error out if there is actively a mismatch with the subject on the vex statement.
What happened:
When running grype on an SBOM generated by syft on a local directory, and using the
--vex
argument pointing to an OpenVEX document, the following error occurs:[0000] ERROR unable to find matches against VEX sources: unable to find matches against VEX documents: checking matches against VEX data: reading product identifiers from context: source type not supported for VEX
What you expected to happen:
Grype successfully reads the SBOM and OpenVEX documents, and provides its expected output (e.g. suppressing a warning).
How to reproduce it (as minimally and precisely as possible):
The output for the last command:
Anything else we need to know?:
Attaching the generated files:
Environment:
Output of
grype version
:OS (e.g:
cat /etc/os-release
or similar):vexctl version
:syft --version
: syft 1.19.0The text was updated successfully, but these errors were encountered: