Skip to content

Add support for CycloneDX 1.7#3120

Open
coro wants to merge 2 commits into
guacsec:mainfrom
coro:cdx-1.7
Open

Add support for CycloneDX 1.7#3120
coro wants to merge 2 commits into
guacsec:mainfrom
coro:cdx-1.7

Conversation

@coro

@coro coro commented Jul 17, 2026

Copy link
Copy Markdown

Description of the PR

This PR adds support for ingestion of CycloneDX 1.7, by bumping cyclonedx-go to v0.11.0. This is needed as otherwise the version string 1.7 is rejected by the underlying library.

It also tests to ensure basic 1.7 SBOMs can be successfully processed and parsed. As for the new features of CDX 1.7:

  • Support for Streebog hash algorithm
    • Tested this can be processed from the source SBOM and ends up in the dependency graph
  • Citations, Patents, TLP distribution constraints
    • Added tests for SBOMs containing these fields but does not progress any of them to the graph
  • New externalReference types
    • These are already ignored by GUAC so not handled as part of this PR

PR Checklist

  • All commits have a Developer Certificate of Origin (DCO) -- they are generated using -s flag to git commit.
  • All new changes are covered by tests
  • If GraphQL schema is changed, make generate has been run
  • If GraphQL schema is changed, GraphQL client updates/additions have been made
  • If OpenAPI spec is changed, make generate has been run
  • If ent schema is changed, make generate has been run
  • If collectsub protobuf has been changed, make proto has been run
  • All CI checks are passing (tests and formatting)
  • All dependent PRs have already been merged

Signed-off-by: Connor Rogers <23215294+coro@users.noreply.github.com>

@gaganhr94 gaganhr94 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the contribution. I have one small thought on the tests. What do you think about folding all the 1.7 constructs (Streebog + citations + patents + TLP) into a single JSON( just like how it was done for cdx-v1.4.json) and running it through the actual parser with some assertions ? With this, only a a single file gets added under testdata.

Signed-off-by: Connor Rogers <23215294+coro@users.noreply.github.com>
@coro

coro commented Jul 20, 2026

Copy link
Copy Markdown
Author

@gaganhr94 Happy to do that. Have pushed an update to do so just now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants