Skip to content

CVE Auditing With VEX #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open

CVE Auditing With VEX #102

wants to merge 16 commits into from

Conversation

naibu3
Copy link

@naibu3 naibu3 commented Feb 27, 2025

VEX consumption in CVE audits

The aim of the project is to enhance CVE auditing accuracy using VEX profile.

Read rendered RFC.

@admd
Copy link
Contributor

admd commented Feb 28, 2025

@HoussemNasri I would appreciate if you could also take a look here.


- **CSAF**, maintained by OASIS. Supports rich metadata, including product information, vulnerabilities, and remediation guidance.
- **CycloneDX**, is maintained by OWASP. Focuses on simplicity and interoperability. (Can be JSON or XML-based)
- **OpenVEX**, designed specifically for simplicity and ease of use. It is maintained by the OpenVEX community.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I strongly recommend CycloneDX, because as you said is maintained by OWASP.
I'd also suggest to check whether we could use a system like DependencyTracker (https://docs.dependencytrack.org/) to identify and reduce risk in the software supply chain.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi! The trouble here is that we're not generating new VEX files, but consuming those provided by vendors like SUSE. So we're limitated to the format they have chosen. For example SUSE provides VEX files in CSAF and OpenVEX formats.

Copy link
Member

@rjmateus rjmateus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Juat two notes, otherwise looks good to me.


### VEX Downloader

Retrieve VEX documents online. Is responsible finding, downloading and caching the files, like was done for OVAL [^2].
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add a line saying that the data will be processed in stream, to avoid any memory issues.3

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done :)

Copy link
Contributor

@parlt91 parlt91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one comment below. Otherwise it looks good to me.


##### Diagram

![database-schema](images/0000-vex-database-schema.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From your explanation and the db schema it's not clear to me how you plan on linking the VEX data to the package columns, so we know which package versions are affected by a CVE. For oval we have the suseOvalVulnerablePackage table. Do you plan to reuse it or use a similar one?
Your suseVEXProductVulnerablePackage table sounds like it would include such information, yet I don't see anything package related there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants