-
-
Notifications
You must be signed in to change notification settings - Fork 249
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
Discuss Temurin SBOM format and content #3013
Comments
Ref: #3011 |
related #2984 |
update with new example of sbom: https://github.com/adoptium/temurin18-binaries/releases/download/jdk18u-2022-07-02-07-33-beta/OpenJDK18U-sbom_x64_linux_hotspot_2022-07-01-23-30.json after content is updated for valiation. |
I've now produced an outline spreadsheet of some of the more common Linux based distributions on docker/vm , with the content of relevant files, to help identify which detail(s) we'd like to capture in the SBOM ( Issue #3010 ) https://docs.google.com/spreadsheets/d/1a07f2QqfpmWW0EMShscsnNNDaP4TEJHy61owUW5atW0/edit#gid=0 |
re: #3013 (comment) - thanks @steelhead31, it is very helpful to see all of the variants laid out in the spreadsheet |
Looks like the solution will be to just change the O/S full ver to be a combination of the pretty name, and the kernel version ( which should be all relevant from a reproducibility and security perspective.. ) |
I looked a bit how the others generate their sbom, feels like the work we are doing for getting strace information, which can be the part of
then each in the
the current content |
Post on slack https://cyclonedx.slack.com/archives/CV062H2GH/p1660811431368709 in short: CDX ( short of cyclonedx) plan to include formulation which is defined in owasp in their 1.5 release |
CDX formulation sounds interesting. I would guess given very few others are formulating native C/C++ SBOM's we would probably be the contributor to that work... So probably in our best interest to progress with what we're researching currently and see where it goes in a view to CDX contribution. |
Noting that Summary:
|
The |
Similar to the zlib issue we are moving over to using |
The Temurin SBOM has grown over time in terms of format, properties and structure, it's got to a point where we need to consider "versioning" the current structure (#3848), and re-formatting it to fit with the more common and extended CycloneDX features: https://cyclonedx.org/guides/OWASP_CycloneDX-Authoritative-Guide-to-SBOM-en.pdf Comments welcome please? Current Temurin SBOM example: https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-sbom_x64_linux_hotspot_21.0.3_9.json |
Some example SBOM's https://github.com/CycloneDX/bom-examples/tree/master/SBOM |
Very interesting, reading this blog: https://fossa.com/blog/sbom-examples-explained/ Temurin has leveraged SBOM in a slightly different way, in that every individual build has a unique SBOM, although part of this is common for re-builds of the same "release/tag", we have leveraged a lot of "formulation" and "build tools" type dependencies for the purpose of supply chain definition. It is important we know "exactly" what tooling was used to build the given release, and the environment and dependency versions used. So for example a given release could be compiled with gcc 10.2, and another build of the same release built using gcc 11.3. |
In terms of true build of materials, ie."what is it made up of" ? a build of OpenJDK is essentially this:
The "openjdk source" might be the "material" that is built into the binary, however, the build tooling (eg.gcc compiler version) and build environment sysroot headers&libraries make up what ACTUALLY ends up being generated as the binary content. |
A great source of SBOM info by SonaType: https://github.com/awesomeSBOM/awesome-sbom?tab=readme-ov-file |
I've read through the conversation in the Slack (CycloneDX), I wonder for the comment in the conversation thread
Does it mean that one of the things that can be done in terms of the format and content - extract part that describes tools what are used during assembly the Temurin release to MBOM? 🤔 Considering the quote from the CycloneDX reference guide (https://cyclonedx.org/guides/OWASP_CycloneDX-Authoritative-Guide-to-SBOM-en.pdf; page 62, Formulations):
|
Yeah, we need to think if we want to split into SBOM->MBOM 🤔 |
Hmm, originally MBOM was for hardware and while there is a use case for separating the data of how something was built versus a components list, it is only needed when the 'manufacturing of the thing' is private / sensitive. I have been looking at SBOMs generated by some Tekton pipelines I have been running and they include formulation section directly in the SBOM itself, show-sbom.log. I will try to find some different / better examples. |
This was making me nervous, so good spot on the stricter control design, which as you say is not our use case. So yes, lets keep our formulation within our SBOM. |
Temurin builds are now producing SBOM artifacts, eg. https://github.com/adoptium/temurin18-binaries/releases/download/jdk18u-2022-06-30-09-20-beta/OpenJDK18U-sbom_x64_linux_hotspot_2022-06-29-23-30.json
These are based upon the CycloneDX schema : https://cyclonedx.org/capabilities/
This issue is to discuss the future format and content.
The text was updated successfully, but these errors were encountered: