Syft 및 Grype 스캔 구성
개요
Code Risk Analyzer(CRA)가 더 이상 지원되지 않게 됨에 따라, Syft 및 Grype 스캔은 CRA의 기능 대부분을 제공하는 대안입니다.
이 스캔은 PR(앱 미리보기), CI 및 CC 파이프라인에서 제공되는 준수 점검 단계의 일부입니다.
Syft
Syft는 컨테이너 이미지 및 파일 시스템에서 SBOM을 생성하는 CLI 도구입니다.
소프트웨어 부품 명세서(SBOM)는 소프트웨어를 구성하는 모든 라이브러리와 구성 요소에 대한 상세한 목록입니다.
SBOM에 대해 더 자세히 알아보려면 ‘소프트웨어 부품 목록(Software Bill of Materials )’을 참조하십시오.
Grype
Grype는 컨테이너 이미지, 파일 시스템 및 SBOM을 스캔하여 알려진 취약점을 탐지하는 CLI 도구입니다.
취약점 스캔이란 소프트웨어 패키지 및 종속성에서 알려진 보안 취약점을 식별하는 과정을 말합니다.
Syft 및 Grype 스캔 활성화 및 구성
Syft SBOM 생성과 Grype SBOM 검증을 활성화하려면, 파이프라인 또는 트리거 속성에 opt-in-syft-grype 을 텍스트 속성으로 추가하고, 값을 비어 있지 않은 문자열( 0 제외)로 설정하십시오.
이 기능을 활성화하면 ‘Compliance Checks’ 스크립트에서 호출되는 Syft 및 Grype 스크립트가 모두 실행됩니다. 자세한 내용은 ‘Commons Scripts Library’ 문서를 참조하십시오. 스크립트는 Syft와 Grype가 아직 설치되어 있지 않은 경우 자동으로 설치합니다.
Syft 매개변수
다음 표에 나열된 파이프라인 환경 속성은 Syft SBOM 생성을 사용자 정의하는 데 사용됩니다.
| 매개변수 이름 | 설명 |
|---|---|
app-name |
Syft가 분석 중인 대상의 이름. 이 값은 생성된 SBOM에서 소스 이름으로 사용됩니다. |
syft-exclude |
SBOM 생성에서 제외할 경로의 쉼표로 구분된 목록. 예시: node_modules,test,*.log. |
syft-print-summary-as-table |
비어 있지 않은 문자열로 설정하면 Syft 스캔 요약 정보를 로그 출력에 표 형식으로 표시합니다. |
syft-<XXX> |
syft- 로 시작하는 모든 파이프라인 또는 트리거 텍스트 속성(위에서 언급한 예약된 속성은 제외)은 Syft 구성 환경 변수 SYFT_XXX 로 내보내집니다. 예를 들어, syft-file-metadata-cataloger-enabled 는 SYFT_FILE_METADATA_CATALOGER_ENABLED 로 바뀝니다.
사용 가능한 옵션에 대해서는 ‘Syft 구성’을 참조하십시오. |
Syft 증거 자료 및 첨부 파일
DevSecOps 파이프라인은 증거 자료를 보관함에 업로드하고, 해당 증거 자료를 변경 요청의 증거 요약에 포함시킵니다.
| 필드 | 값 |
|---|---|
tool type |
syft |
evidence type |
com.ibm.code_bom_check |
asset type |
repo |
attachments |
syft_sbom.json ( CycloneDX JSON 형식) |
Grype 매개변수
다음 표에 나열된 파이프라인 환경 속성은 Grype 취약점 스캔을 사용자 정의하는 데 사용됩니다.
| 매개변수 이름 | 설명 |
|---|---|
grype-<XXX> |
grype- 로 시작하는 모든 파이프라인 또는 트리거 텍스트 속성(위에서 언급한 예약된 속성은 제외)은 Grype 구성 환경 변수 GRYPE_XXX 로 내보내집니다. 예를 들어, grype-db-auto-update 는 GRYPE_DB_AUTO_UPDATE 로 바뀝니다. 사용 가능한 옵션에 대해서는 ‘Grype 구성’을 참조하십시오. |
Grype 증거 자료 및 첨부 파일
DevSecOps 파이프라인은 증거 자료를 보관함에 업로드하고, 해당 증거 자료를 변경 요청의 증거 요약에 포함시킵니다. 스캔 과정에서 발견된 취약점에 대해 규정 준수 위반 사례가 생성됩니다.
| 필드 | 값 |
|---|---|
tool type |
grype |
evidence type |
com.ibm.code_vulnerability_scan |
asset type |
repo |
attachments |
<repo-key>_grype_report_extended.json (SBOM 종속성이 포함된 Grype 취약점 보고서) |
검사 결과 확인하기
다음과 같은 방법으로 스캔 결과를 확인할 수 있습니다:
- DevSecOps/CoCoa CLI 명령줄 도구를 사용하여 스테이지 로그에 출력된 정보를 바탕으로 증거 보관소에서 스캔 결과를 다운로드합니다. 자세한 정보는 다음 리소스를 참조하십시오.