Skip to content
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: Add support for TLP marking in metadata (fixes #595) #604

Open
wants to merge 11 commits into
base: 1.7-dev
Choose a base branch
from

Conversation

anthonyharrison
Copy link

@anthonyharrison anthonyharrison commented Feb 22, 2025

As discussed in ticket #595, this PR adds TLP marking in the BOM metadata.

This PR superseeds #603

fixes #595

Copy link
Member

@jkowalleck jkowalleck left a comment

Choose a reason for hiding this comment

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

could you add some documentation here and there, and properly set the default values?

@jkowalleck
Copy link
Member

jkowalleck commented Feb 23, 2025

for backwards compatibility reasons, i would not set "CLEAR" as the default value.
I'd prefer a unset as default.

clean means a decision actively was made, right?

in JSON, this would mean no default is defined, and the property is optional.
in XML, this would mean no default is defined, and the element is optional.
in protobuf, this would mean adding a case TLP_UNSPECIFIED = 0;, and the field is optional.

@anthonyharrison
Copy link
Author

for backwards compatibility reasons, i would not set "CLEAR" as the default value. I'd prefer a unset as default.

clean means a decision actively was made, right?

in JSON, this would mean no default is defined, and the property is optional. in XML, this would mean no default is defined, and the element is optional. in protobuf, this would mean adding a case TLP_UNSPECIFIED = 0;, and the field is optional.

I see CLEAR as the default when the user makes no choice as the user is more likely to explicitly state one of the other values (which indicates that he has thought about the constraints as regards sharing the BOM). Personally, I would prefer to see all BOMs to have the TLP value explicitly stated but that is possibly too much to expect at this stage.

@jkowalleck jkowalleck requested review from jkowalleck and a team February 24, 2025 15:29
@jkowalleck
Copy link
Member

I'll try to fix the open issues ASAP

Signed-off-by: Jan Kowalleck <[email protected]>
Signed-off-by: Jan Kowalleck <[email protected]>
@@ -514,6 +514,8 @@ message Metadata {
repeated Lifecycles lifecycles = 9;
// The organization that created the BOM. Manufacturer is common in BOMs created through automated processes. BOMs created through manual means may have '.authors' instead.
optional OrganizationalEntity manufacturer = 10;
// The Traffic Light Protocol (TLP) classification that controls the sharing and distribution of the component that the BOM describes.
optional Tlp distribution = 11;
Copy link
Member

@jkowalleck jkowalleck Mar 6, 2025

Choose a reason for hiding this comment

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

The Traffic Light Protocol (TLP) classification that controls the sharing and distribution of the component that the BOM describes.

wait what? was the original ticket not about the distribution of the BOM?
why is it now about the distribution of the component???

if this was really about the distribution of the component that the BOM describes,
than the appropriate field would not be $.metadata.someshting but $.metadata.component.something.

Copy link
Member

@jkowalleck jkowalleck Mar 6, 2025

Choose a reason for hiding this comment

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

@anthonyharrison could you revisit this annotation?

Copy link
Author

Choose a reason for hiding this comment

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

@jkowalleck I was using the term component to mean SBOM, HBOM, etc and not a software component. Is there a recommended way of saying this as the TLP applies to all types of BOM?

My proposed change would be 'The Traffic Light Protocol (TLP) classification that controls the sharing and distribution of the BOM'

Copy link
Member

@jkowalleck jkowalleck Mar 13, 2025

Choose a reason for hiding this comment

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

maybe use

The Traffic Light Protocol (TLP) classification that controls the sharing and distribution of the BOM.

PS: eventually there will be a community review phase (RFC), so somebody else might have additional ideas how to phase things better.

Signed-off-by: Jan Kowalleck <[email protected]>
@jkowalleck jkowalleck requested a review from a team March 6, 2025 10:35
@jkowalleck jkowalleck self-requested a review March 13, 2025 10:29
@jkowalleck
Copy link
Member

@anthonyharrison, the current state looks promising.

According to the CycloneDX working model, the next step would be to move from "prototype" to "draft", meaning the community review phase (RFC) would start.
Do you want to change anything, or should we move to RFC?

@anthonyharrison
Copy link
Author

@jkowalleck Let's go to the next stage and see what the community thinks. I have no outstanding changes.

@jkowalleck jkowalleck added draft RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration request for comment ready for review and removed prototype labels Mar 16, 2025
@jkowalleck
Copy link
Member

RFC notice sent.

Public RFC period ends April 13, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
draft proposed core enhancement ready for review request for comment RFC notice sent A public RFC notice was distributed to the CycloneDX mailing list for consideration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE]: Include TLP marking in metadata
2 participants