좋은 질문입니다! 아래는 정적 분석(SAST) 또는 메타데이터 기반 탐색을 통해 무료로 사용할 수 있는 SBOM 생성 도구들입니다.
대부분 오픈소스이거나 무료 라이선스를 제공하며, 다양한 언어 및 컨테이너 환경을 지원합니다.
무료 SBOM 생성 도구 (정적 분석 / 메타데이터 기반)
도구 |
설명 |
지원 대상 |
SBOM 포맷 |
라이선스 |
Syft (by Anchore) |
컨테이너/디렉토리/패키지 매니저 기반 SBOM 생성 |
Docker 이미지, 파일시스템, 다양한 언어 |
SPDX, CycloneDX, Syft JSON |
Apache 2.0 |
tern (by VMware) |
Docker 이미지 계층 분석으로 SBOM 생성 |
Docker/OCI 이미지 |
SPDX |
Apache 2.0 |
cdxgen |
Node.js 기반, 다양한 언어의 프로젝트에서 메타데이터 추출 |
JavaScript, Python, Go, Java 등 |
CycloneDX |
MIT |
bom (CycloneDX CLI) |
CycloneDX 공식 도구로 SBOM 생성 및 변환 |
다중 포맷 변환, JSON/XML 지원 |
CycloneDX |
Apache 2.0 |
trivy (by Aqua Security) |
보안 취약점 스캐너지만 SBOM 생성도 지원 |
컨테이너 이미지, 디렉토리, Git 리포 |
CycloneDX, SPDX |
Apache 2.0 |
snyk CLI (무료 tier) |
오픈소스 취약점 탐지 + SBOM 출력 지원 |
Node.js, Python, Java 등 |
SPDX, CycloneDX (제한) |
Freemium |
ScanCode Toolkit |
소스코드 기반 오픈소스 라이선스 및 패키지 분석 |
디렉터리, 코드베이스 |
SPDX (풍부한 메타정보) |
Apache 2.0 |
OSS Review Toolkit (ORT) |
정적 분석 + 라이선스 컴플라이언스용 |
Gradle, Maven, npm, pip 등 |
SPDX |
Apache 2.0 |
추천 사용 시나리오별 도구
목적 |
추천 도구 |
컨테이너 이미지에서 SBOM 생성 |
Syft, Trivy, Tern |
소스코드 기반 SBOM 생성 (라이선스 포함) |
ScanCode Toolkit, ORT |
단순 메타데이터 기반 생성 (CI/CD용) |
cdxgen, CycloneDX CLI |
보안 취약점 검사 + SBOM |
Trivy, Snyk CLI (무료 tier) |
예시: Syft 사용법
# Docker 이미지에서 SBOM 생성
syft alpine:latest -o cyclonedx-json > sbom.json
# 로컬 소스 디렉토리에서 추출
syft dir:. -o spdx-json
요약
유형 |
대표 도구 |
정적 분석 기반 (SAST) |
ScanCode Toolkit, ORT |
메타데이터 기반 |
Syft, cdxgen, CycloneDX CLI |
보안 + SBOM |
Trivy, Snyk CLI (무료 제한) |