-
-
Notifications
You must be signed in to change notification settings - Fork 63
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
feat: support for external components with version-ranges #586
base: 1.7-dev
Are you sure you want to change the base?
Conversation
...s/src/test/resources/1.7/informal-invalid-component-versionRange-non-extraneous-explicit.xml
Outdated
Show resolved
Hide resolved
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.
Looks good to me, although I think we should clarify better, when isExtraneous
is used.
For example I don't think isExtraneous
makes sense in $.metadata.component
even if versionRange
is used.
Also, in a CycloneDX VDR/VEX document, isExtraneous
does not make sense.
related to #321 #321 Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
3e1eb53
to
7a52828
Compare
Co-authored-by: Piotr P. Karwasz <[email protected]> Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
This is great! I guess it would be good to make explicit that you should not include hashes for extraneous components? Also, since different versions may have different transitive dependencies, does that mean no transitive dependencies should be listed for extraneous components? Or is it OK to keep listing those (as long as they're also marked extraneous) and leave it up to the downstream consumer of the sbom to drop no-longer-relevant extraneous components as needed? |
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
I thought about dropping transitive dependencies too, but some usages require to have at least a draft of what transitive dependencies could appear. For example we could link a CycloneDX SBOM to a CycloneDX VEX. In order to know, which CVEs published by dependencies will be analyzed in the VEX, we need to provide an approximate list of transitive dependencies. While commercial manufacturers might be required to answer questions like "Is my Java application vulnerable to this Go CVE", OSS projects will certainly not answer questions beyond the dependencies listed in the SBOM. |
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
regarding transitive dependencies, hashes and such. nope. hashes CAN be used, even for extraneous dependencies. all is a MAY/CAN -- not a MUST. |
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
thank you all for the early review and the interesting questions and remarks. 👍 If they were technical, then they are about to be addressed in this PR. more questions and remarks are very welcome - better here in the PR or in the issue #321 than else where. |
Signed-off-by: Jan Kowalleck <[email protected]>
80de26a
to
24b028d
Compare
Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
24b028d
to
345c32c
Compare
Signed-off-by: Jan Kowalleck <[email protected]>
345c32c
to
21f8f42
Compare
for the record: I found that the word "external" is better fitting for what this is all about. therefore, I propose to use "external". adapted in this PR |
Signed-off-by: Jan Kowalleck <[email protected]>
refined the wordings based on your feedback. |
As discussed in ticket #321, this PR adds the following abilities:
fixes #321
Note
this one supersedes #326 <-- read there for more background and previous discussions
implementing with
components
, because the objects referenced/required are actually used at runtime and therefore are considered a "component".Sketch/proposal for #321 -- WORK IN PROGRESS
no asserts - this would require XSD1.1 which is not broadly implemented, yet.
ALL FEEDBACK IS WELCOME! Yes, everything.
but some might not be resolved in this very PR, but in the authoritative guides. See #586 (comment)