2026년 하루 평균 보고된 CVE가 전년 대비 131% 증가했습니다.

SBOM

SBOM 자동화

SBOM 자동화란 누구도 스프레드시트에 버전을 옮겨 적지 않아도 모든 빌드가 자체 소프트웨어 자재 명세서를 생성하는 것을 뜻합니다. 팀이 여러 제품의 구성 요소를 수작업으로 정리하고 있다면 그 목록은 다음 릴리스 때 이미 낡은 것이 되며, 제품이 늘어날 때마다 작업량도 늘어납니다.

업데이트

수작업 SBOM이 한계에 부딪히는 이유

  • 다음 빌드에서 바로 낡습니다. 종속성은 릴리스마다 바뀌지만, 스프레드시트는 누군가 업데이트를 기억할 때만 바뀝니다.
  • 사람이 볼 수 있는 것에서 멈춥니다. 직접 종속성은 나열하기 쉽습니다. 그 아래의 전이적 종속성은 그렇지 않으며, 누구도 이를 수작업으로 추적할 수 없습니다.
  • 계속 늘어납니다. 제품 여러 개에 각각 지원 버전이 여러 개라면 파일은 수십 개가 되고, 파일마다 담당자와 저마다의 진실이 따로 있습니다.
  • 정작 중요한 질문에 답하지 못합니다. 새로운 취약점이 발표되면 어떤 릴리스에 그 패키지가 들어 있는지 알아야 합니다. 스프레드시트 폴더를 뒤지는 일은 느리고, 그 답을 신뢰할 수도 없습니다.
  • 다른 사람들이 요구하는 형식이 아닙니다. 고객과 도구는 CycloneDX나 SPDX 같은 기계 판독 가능한 형식을 기대합니다. 고객의 SBOM 요청에 대응하는 방법을 참고하세요.

좋은 SBOM 자동화가 하는 일

  1. 모든 빌드에서 SBOM을 생성합니다. 누구도 무언가를 실행하거나 기억할 필요가 없습니다.
  2. 전체 트리를 다룹니다. 전이적 종속성을 포함해 모든 깊이까지 다룹니다.
  3. 각 SBOM을 하나의 빌드에 연결합니다. 어떤 파일이 어떤 릴리스를 기술하는지 알 수 있습니다.
  4. 볼 수 없었던 것을 밝힙니다. 일부만 담긴 목록을 전체인 것처럼 제시하지 않습니다.
  5. 표준 형식으로 내보냅니다. SBOM이 다음 도구, 다음 고객과도 호환됩니다.
  6. 출시된 것을 계속 지켜봅니다. 월요일에 문제가 없던 릴리스도 화요일에는 영향을 받을 수 있기 때문입니다.

SBOM을 관리하는 세 가지 방법 비교

질문 스프레드시트 CI의 스캐너 빌드 중 기록
언제 업데이트됩니까? 누군가 기억할 때 스캔 단계가 실행될 때 모든 빌드에서
데이터는 어디서 옵니까? 사람 잠금 파일 또는 완성된 결과물 빌드가 실제로 가져온 것
전이적 종속성은? 거의 없음 파악할 수 있는 것만 모든 깊이에서
설치 스크립트 다운로드 같은 숨은 종속성은? 없음 놓침 기록됨
CI 캐시에서 복원된 패키지는? 없음 도구에 따라 다름 기록되며 캐시로 표시됨
취약점 모니터링은? 수작업 대개 별도 도구 CRACI에 기본 포함

스캐너로 자동화하는 것은 스프레드시트에 비해 분명한 개선이지만, 여전히 무엇이 들어갔는지 추측합니다. 그 이유는 빌드가 진실의 원천인 이유를 참고하세요.

스프레드시트는 어떻게 됩니까

구성 요소 데이터는 빠져나갑니다. 버전과 패키지는 빌드에서 나오므로 누구도 직접 입력할 필요가 없습니다. 남는 것은 어떤 제품이 있는지, 누가 담당하는지, 어떤 버전이 아직 지원되는지처럼 팀만 알고 있는 지식입니다. 사람이 시간을 들일 가치가 있는 부분은 바로 이것입니다.

CRACI의 처리 방식

CRACI는 GitHub 호스팅 러너를 더 빠르고 비용이 낮은 러너로 대체하고, 각 빌드가 실행되는 동안 SBOM을 기록합니다. runs-on: craci를 설정하면 되며, 실행 내역은 계속 GitHub에 표시됩니다. 표준 빌드는 설정 없이 완전한 SBOM을 얻습니다. 자체 패키지 레지스트리나 특수한 컨테이너 구성을 쓰는 빌드는 약간의 설정이 필요할 수 있습니다.

  • 스캔이 아닌 기록. CRACI는 각 빌드로 들어오는 트래픽을 보므로, 잠금 파일 기반 도구가 놓치는 숨은 종속성까지 확인합니다. SBOM의 모든 구성 요소는 실제로 빌드에 있었던 것입니다.
  • 모든 작업에 완전성 상태 표시. 빌드를 완전히 기록하지 못한 경우 그 사실과 이유를 알 수 있습니다.
  • CycloneDX 및 SPDX 내보내기. 전이적 종속성과 구성 요소에서 발견된 취약점을 포함합니다.
  • 제품 전반을 아우르는 하나의 보기. 인벤토리 보기는 어떤 소프트웨어 버전이 어떤 제품에 배포되었는지 보여 주며, CRACI는 모니터링 중인 SBOM을 계속 재평가합니다.

파이프라인이 서로 다른 여러 팀에 도입하려면 엔지니어링 팀 전반의 SBOM 생성을 참고하세요.

SBOM 자동화: 자주 묻는 질문

SBOM 자동화란 무엇입니까?

빌드의 일부로 소프트웨어 자재 명세서를 생성해, 누구도 수작업으로 만들지 않아도 모든 릴리스에 SBOM이 있도록 하는 것입니다. 더 나은 구성에서는 릴리스 출시 후에도 각 SBOM을 새로운 취약점에 대해 모니터링합니다.

SBOM을 Excel로 관리해도 됩니까?

스프레드시트는 첫 인벤토리로는 쓸 수 있지만 최신 상태로 유지하기 어렵고 전이적 종속성까지 다루지 못합니다. 또한 표준 SBOM 형식도 아닙니다. 고객과 보안 도구는 일반적으로 CycloneDX나 SPDX를 기대하며, Cyber Resilience Act는 널리 사용되는 기계 판독 가능한 형식을 요구합니다.

SBOM 자동화를 하려면 모든 파이프라인에 새 단계가 필요합니까?

대부분의 생성기는 그렇습니다. 각 워크플로에 단계를 추가하고 최신 상태로 유지해야 합니다. CRACI는 러너에서 SBOM을 기록하므로 작업에 추가할 단계가 없습니다.

CRACI는 어떤 생태계를 기록합니까?

npm, PyPI, RubyGems, Composer, Cargo, Go, Nix, OCI, Debian 및 Ubuntu 패키지(apt), Alpine 패키지(apk), Git 소스, 그리고 Yocto 및 OpenEmbedded 다운로드를 기록합니다. Maven과 Java는 로드맵에 있습니다.

CRACI는 어떤 CI 시스템과 플랫폼을 지원합니까?

현재는 GitHub Actions를 지원하며, 다른 CI 시스템은 로드맵에 있습니다. 러너는 현재 Linux x86-64 및 ARM64이며, Windows와 macOS는 로드맵에 있습니다.

공급업체에서 구매한 구성 요소는 어떻게 됩니까?

공급업체 SBOM을 CRACI에 추가하면, 구매한 구성 요소도 귀사의 빌드와 함께 모니터링됩니다.

비용은 얼마입니까?

CRACI는 빌드 시간에 대해서만 요금을 부과합니다. vCPU 분당 $0.002(기본 2 vCPU 러너는 $0.004)이며, 초 단위로 측정되고, 월 요금이나 SBOM당 요금은 없습니다.

다음 빌드로 스프레드시트를 대체하세요

이미 실행 중인 빌드의 기록된 SBOM을 완전성 상태와 함께 확인해 보세요. 데모를 예약하시면 함께 살펴보겠습니다.

데모 예약