SBoM

SBoM (Software Bill of Materials)

소프트웨어 자재 명세서(SBoM)를 통해 Cilium 소프트웨어 공급망을 파악하고, 라이선스·보안 관련 우려를 점검하는 방법을 설명할게요.

출처: Software Bill of Materials

본문

소프트웨어 자재 명세서(SBOM)는 특정 소프트웨어를 빌드하는 데 필요한 컴포넌트들의 완전하고 형식적으로 구조화된 목록이에요. SBOM은 소프트웨어 공급망에 대한 통찰과, 라이선스 준수 및 보안과 관련해 존재할 수 있는 잠재적 우려 사항을 제공해요.

Cilium SBOM은 syft 도구로 생성돼요. SBOM에 대해 더 알고 싶다면 what is an SBOM을 참고하세요.

사전 요구사항 (Prerequisites)

  • cosign 설치

SBOM 다운로드

제공된 Cilium 이미지에서 in-toto attestation SBOM을 다음 명령으로 다운로드할 수 있어요.

$ cosign download attestation --predicate-type spdxjson <IMAGE URI> | jq -r .payload | base64 -d | jq .predicate > ciliumSBOM.spdx.json

SBOM attestation 검증

제공된 Cilium 이미지에서 SBOM in-toto attestation을 검증하려면 다음 명령을 실행하세요.

$ TAG=|IMAGE_TAG|
$ cosign verify-attestation --certificate-github-workflow-repository cilium/cilium \
    --certificate-oidc-issuer https://token.actions.githubusercontent.com \
    --certificate-identity-regexp https://github.com/cilium/cilium/.github/workflows \
    --type spdxjson <IMAGE URI> 2>&1 | head -n 13

예를 들어:

$ cosign verify-attestation --certificate-github-workflow-repository cilium/cilium \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp https://github.com/cilium/cilium/.github/workflows \
--type spdxjson quay.io/cilium/cilium-ci:d2d270a42b674ca1e7c536186691d8ac8317fd64 2>&1 | head -n 13

Verification for quay.io/cilium/cilium-ci:d2d270a42b674ca1e7c536186691d8ac8317fd64 --
The following checks were performed on each of these signatures:
- The cosign claims were validated
- Existence of the claims in the transparency log was verified offline
- The code-signing certificate was verified using trusted certificate authority certificates
Certificate subject: https://github.com/cilium/cilium/.github/workflows/build-images-ci.yaml@refs/pull/34011/merge
Certificate issuer URL: https://token.actions.githubusercontent.com
GitHub Workflow Trigger: pull_request
GitHub Workflow SHA: 7d967b8355489cef6a787558ac70c9c619463284
GitHub Workflow Name: Image CI Build
GitHub Workflow Repository: cilium/cilium
GitHub Workflow Ref: refs/pull/34011/merge

출력의 Certificate subject와 Certificate issuer URL 필드에서 이미지가 Cilium 저장소의 GitHub Actions로 서명됐음을 확인할 수 있어요.

참고: in-toto Attestation Framework는 소프트웨어가 어떻게 만들어졌는지에 대한 모든 측면에 대해 검증 가능한 주장(claim)을 생성하는 사양을 제공해요. 소프트웨어 소비자·사용자는 in-toto attestation을 사용해 소프트웨어의 기원을 검증하고 공급망에 대한 신뢰를 구축할 수 있어요.

더 알아보기 (Learn more)