상세 컨텐츠

본문 제목

Microsoft SBOM Tool로 SBOM 생성하기

카테고리 없음

by ~지우~ 2024. 7. 5. 13:49

본문

728x90

Microsoft SBOM Tool이란

구성 요소 탐지 라이브러리를 사용하여 구성 요소를 탐지하고 ClearDefined API를 사용하여 이러한 구성 요소에 대한 라이센스 정보를 채운다.

아래의 링크를 통해 MS SBOM Tool을 설치할 수 있다.

https://github.com/microsoft/sbom-tool

 

GitHub - microsoft/sbom-tool: The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatible SBOMs f

The SBOM tool is a highly scalable and enterprise ready tool to create SPDX 2.2 compatible SBOMs for any variety of artifacts. - microsoft/sbom-tool

github.com

 

 

<SBOM Tool의 주요 기능>

1)    SPDX 2.2 호환성

2)    포괄적인 artifact 적용 범위

3)    구성 요소 탐지

4)    ClearDefined API를 사용한 라이센스 정보

5)    도커 이미지 지원

 

SBOM Generation

sbom-tool generate -b <drop path> -bc <build components path> -pn <package name> -pv <package version> -ps <package supplier> -nsb <namespace uri base>

-> sbom-tool\sbom-output\_manifest\spdx_2.2 report기록

Option Description
BuildDropPath(-b) SBOM 파일이 생성될 드롭 디렉토리의 루트 폴더
BuildComponentPath (-bc) 빌드 구성 요소 및 패키지가 들어 있는 폴더
PackageName (-pn) SBOM이 나타내는 패키지의 이름
PackageVersion (-pv) SBOM이 나타내는 패키지 버전
PackageSupplier (-ps)    SBOM이 나타내는 패키지의 공급업체
NamespaceUriBase (-nsb) SBOM 네임스페이스 URI의 기본 경로
DockerImagesToScan (-di) 패키지를 스캔할 도커 이미지 이름 또는 해시의 쉼표로 구분된 목록

 

SBOM Validation

sbom-tool validate -b <drop path> -o <output path> -mi SPDX:2.2

-> 결과 파일을 확인

Option Description
BuildDropPath(-b) 유효성을 검사할 드롭 디렉터리의 루트 폴더
OutputPath (-o) 출력 json을 작성해야 하는 경로
ManifestInfo (-mi) 사용 중인 매니페스트 형식의 이름과 버전 목록

 

SBOM Redact

sbom-tool redact -sd sbom-output -o ./sbom-redact

-> 지정된 SBOM에서 파일에 대한 참조 수정

sbom-tool redact -sp ./sbom-output -o ./sbom-redact

-> 지정된 SBOM에서 파일에 대한 참조 수정

Option Description
SbomPath (-sp) 수정할 SBOM의 파일 경로
OutputPath (-o) 수정된 SBOM 파일이 생성될 디렉토리를 가져오거나 설정
SbomDir (-sd) 수정할 sbom을 포함하는 디렉토리

 

<장점>

1)    SPDX와 호환되는 출력을 생성하며, 일반적으로 사용되는 여러 패키지 형식을 지원한다.

2)    생성된 SBOM Grype와 같은 다른 도구에 직접 공급하여 보안 결함과 구식 종속성을 발견할 수 있음을 의미합니다.

<단점>

1)    지원되는 메타데이터 형식이 syft보다 적다.

728x90

댓글 영역