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

add support for OpenChain Telco compliance #261

Merged

Conversation

viveksahu26
Copy link
Collaborator

@viveksahu26 viveksahu26 commented Jun 12, 2024

This PR will contain feature for Open Telco SBOM compliance:

Description of this PR:

  • This PR is to extend support for compliance sub-command for OpenChain Telco SBOMs standards.
  • OpenChain Telco has various attribute for checks as shown here. For more refer.
  • NOTE: Scoring for externalReference is different from normal scoring: Basically openchain telco looks or checks for referenceType i.e. purl must be present. Under externalRefs there are list of reference with 3 field category type, package manager and locator. There is bit a different way of scoring it. Suppose - out of 5 list of references, only 2 reference contains purl, then score would be like: (2/5)*10 = 4.

@viveksahu26 viveksahu26 changed the title add compliance radme for opentelco add support for OpenChain Telco compliance Jun 21, 2024
@viveksahu26 viveksahu26 force-pushed the openchain_telco_report_#243 branch from 3f1b146 to 9636f7d Compare June 21, 2024 15:06
@viveksahu26 viveksahu26 force-pushed the openchain_telco_report_#243 branch from 9636f7d to 7ed3d5d Compare June 21, 2024 15:19
Signed-off-by: Vivek Kumar Sahu <[email protected]>

remove extra column

Signed-off-by: Vivek Kumar Sahu <[email protected]>

removed duplicate field

Signed-off-by: Vivek Kumar Sahu <[email protected]>

lite version of oct compliance implementation

Signed-off-by: Vivek Kumar Sahu <[email protected]>

add opentelco compliance for sbom specification

Signed-off-by: Vivek Kumar Sahu <[email protected]>

update compliance readme

Signed-off-by: Vivek Kumar Sahu <[email protected]>

replace "name" datafield by "specType"

Signed-off-by: Vivek Kumar Sahu <[email protected]>

add oct compliance for componenets

Signed-off-by: Vivek Kumar Sahu <[email protected]>

complete readme for openchain telco compliance

Signed-off-by: Vivek Kumar Sahu <[email protected]>

added section ID column

Signed-off-by: Vivek Kumar Sahu <[email protected]>

add compliance for other data fields

Signed-off-by: Vivek Kumar Sahu <[email protected]>

handle cyclonedx sbom for oct

Signed-off-by: Vivek Kumar Sahu <[email protected]>

add externalRef datafield for oct compliance

Signed-off-by: Vivek Kumar Sahu <[email protected]>

remove unwanted print stmt

Signed-off-by: Vivek Kumar Sahu <[email protected]>

handle exception

Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
@viveksahu26 viveksahu26 force-pushed the openchain_telco_report_#243 branch from 6e34ad1 to 70ee307 Compare June 27, 2024 15:41
Signed-off-by: Vivek Kumar Sahu <[email protected]>
@viveksahu26 viveksahu26 force-pushed the openchain_telco_report_#243 branch from ae249a5 to ef301ac Compare June 29, 2024 06:00
Copy link
Contributor

@riteshnoronha riteshnoronha left a comment

Choose a reason for hiding this comment

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

Overall looks very good great work.

## OpenChain Telco: SBOM Requirements for OCT

The [OpenChain Telco](https://github.com/OpenChain-Project/Reference-Material/blob/master/SBOM-Quality/Version-1/OpenChain-Telco-SBOM-Guide_EN.md) specifies mandatory properties for an SBOM. Below is how we have derived all the values.
| OpenTelco | Section ID | OpenTelco field | SPDX(2.3) | Notes |
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove all the details in () not required. e.g DataLicense(SBOM_LICENSE) we don't require (SBOM_LICENSE)

@@ -57,5 +61,13 @@ func ComplianceResult(ctx context.Context, doc sbom.Document, reportType, fileNa
ntiaResult(ctx, doc, fileName, outFormat)
}

if reportType == OCT_TELCO {
if doc.Spec().GetSpecType() != "spdx" {
fmt.Println("The Provided SBOM spec is other than SPDX. Open Chain Telco only support SPDX specs SBOMs.")
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

Signed-off-by: Vivek Kumar Sahu <[email protected]>
@riteshnoronha riteshnoronha merged commit 0a0a3e2 into interlynk-io:main Jul 1, 2024
2 checks passed
@viveksahu26 viveksahu26 mentioned this pull request Jul 2, 2024
@viveksahu26 viveksahu26 deleted the openchain_telco_report_#243 branch July 2, 2024 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants