-
Notifications
You must be signed in to change notification settings - Fork 0
Support CycloneDX #3
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
base: main
Are you sure you want to change the base?
Conversation
- create pydantic models for CycloneDX v1.6 and SPDX v2.3 - use uv for running without venv - remove outdated test file UV is not required, but recommended. Versions in the requirements.txt are known to work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds CycloneDX (v1.6) support alongside existing SPDX (v2.3) by introducing Pydantic models and refactoring SBOM parsing and merging logic. Also updates usage instructions to optionally run via uv and removes an outdated test file.
- Introduces typed models for SPDX and CycloneDX and unified FDARecord export format
- Refactors merge/dedup logic (list-based FDARecord processing) and Excel export
- Removes prior merge test; README updated with supported formats and uv usage
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| gen_sbom.py | Major refactor: adds data models, new merge/deduplicate logic, Excel export rewrite, CycloneDX support |
| README.md | Documents supported formats and uv-based execution |
| test_gen_sbom.py | Removed legacy merge test (no replacement added) |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
dfb4631 to
7c91e20
Compare
VCPKG is in the process of better supporting SBOMs. In the meantime, this is the next best solution. This allows mapping the packages to CPE strings. There is a manual map in vcpkg.yml. Not very nice, but better than nothing.
Mostly AI generated. Trivy and Syft/Grype are better tools. Use this only as a last resort. There is a reason there are entire projects and paid products exist solve this problem. It is not trivial. You can get around 80% with this tool, but the last 20% is very difficult.
UV is not required, but recommended. Versions in the requirements.txt are known to work.