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

Feature: framing third edition compliance checks #324

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

viveksahu26
Copy link
Collaborator

@viveksahu26 viveksahu26 commented Sep 11, 2024

closes: #313

Intro

  • Framing Software Component Transparency: Establishing a Common Software Bill of Materials (SBOM) released few months, which is also known as 3rd edition of NTIA minimum elements. It is also known as Framing Software Component Transparency(fsct) compliance. It describes about the minimum required fields in your SBOM. Along with minimum also states about Recommended and Aspiration maturity for SBOM as well it's components. To know what fields and what maturity level it requires in short, refer here.

  • After generating SBOM, one need to check it's score and compliance against popular compliance like NTIA minimum elements, NTIA minimum element 3rd edition(fsct), CRA, BSI, etc. Therefore the use of sbomqs score and sbomqs compliance command comes into role for score and complaince checks respectively against provided sbom.

This PR adds the support for the compliance checks against fsct one using below command:

// in tabular format
$ sbomqs compliance --fsct <sbom.spdx.json>  

// in basic format
$ sbomqs compliance --fsct  -b <sbom.spdx.json>  

// in json format
$ sbomqs compliance --fsct  --json <sbom.spdx.json>  

It looks like below ss:
image

To differentiate b/w different maturity level, different color is used:

  • For Minimum --> green color
  • For Recommended --> Sky Blue Color
  • For Aspirational --> Yellow color

Similar to different colors being used to differentiate diff maturity level. The score is also vary for different maturity levels:

  • For Minimum --> 10.0
  • For Recommended --> 12.0
  • For Aspirational --> Y15.0

It supports both SPDX and CycloneDX format of SBOM. For testing you can use below SBOM provided .

Also this point is included:

@viveksahu26 viveksahu26 force-pushed the feature/framing_third_ed_compl_checks branch 2 times, most recently from 6f1551c to 0fa489f Compare September 17, 2024 13:18
@viveksahu26 viveksahu26 force-pushed the feature/framing_third_ed_compl_checks branch 2 times, most recently from c5212ce to c5af10a Compare September 26, 2024 14:03
@viveksahu26 viveksahu26 force-pushed the feature/framing_third_ed_compl_checks branch 2 times, most recently from b75e059 to ac23b53 Compare September 30, 2024 17:24
Signed-off-by: Vivek Kumar Sahu <[email protected]>

add fsct functionalities

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

add omnibor id

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

add report and score for fsct

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

fix fsct

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

fix small issues

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

sort o/p and make table colorful

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

add test

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

fix variables

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

add many more tests for spdx and cyclonedx

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

add test for dependencies

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

fix spdx and cyclonedx dependency

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

add remaining comp test

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

add test for uniq ids

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

fix golang ci

Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
Signed-off-by: Vivek Kumar Sahu <[email protected]>
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 feature/framing_third_ed_compl_checks branch from 9e1c5e8 to e7bfb05 Compare October 21, 2024 17:57
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.

Framing Third Edition Compliance Checks
1 participant