소개
CycloneDX Generator (cdxgen)는 소프트웨어 빌드 자재 목록(BOM)을 자동으로 생성하는 오픈소스 개발 도구입니다. 보안, 컴플라이언스, 공급망 관리를 위해 CycloneDX 및 SPDX 형식으로 다양한 소스 코드와 컨테이너 이미지의 구성 요소를 정밀하게 분석하여 문서화합니다. Apache-2.0 라이선스로 제공되며, 개발자부터 보안 전문가까지 다양한 역할의 사용자를 위한 워크플로우를 지원합니다.
상세정보
다양한 BOM 유형 생성
- 소프트웨어 BOM (SBOM): 수백 가지 언어와 패키지 매니저를 지원하여 프로젝트의 모든 의존성을 포괄적으로 캡처합니다.
- 하드웨어 BOM (HBOM): Apple Silicon macOS 및 Linux 시스템 등 지원되는 호스트의 하드웨어 인ventory를 생성합니다.
- 암호화 BOM (CBOM): Java 키스토어, 인증서, 그리고 JavaScript/TypeScript 소스 수준의 알고리즘 목록을 포함합니다.
- AI/ML BOM: 프롬프트 파일, AI 서비스, MCP 설정 및 모델 메타데이터를 포함하는 AI 거버넌스 및 보안 분석을 위한 BOM을 생성합니다.
주요 명령어 및 사용법
- 기본 생성: 현재 디렉토리의 프로젝트에서 BOM을 생성하려면
cdxgen -o bom.json .명령을 사용합니다. - Git URL 또는 패키지 URL:
cdxgen -o bom.json https://github.com/example/project.git또는cdxgen -o bom.json "pkg:npm/[email protected]"과 같이 원격 소스에서도 BOM을 생성할 수 있습니다. - 커맨드 트레이싱:
tracebom --cbom-output cbom.json -- npm test명령은 애플리케이션 실행을 추적하여 동적 암호화 활동과 서비스를 캡처합니다. - AI-BOM 생성:
aibom .명령은 AI/ML 프로젝트를 위한 전용 BOM을 빠르게 생성합니다.
BOM 검증 및 변환
- 검증:
cdx-validate -i bom.json명령으로 BOM의 구조적 및 컴플라이언스 상태를 확인할 수 있습니다. - 변환:
cdx-convert -i bom.json -o bom.spdx.json명령은 CycloneDX JSON을 SPDX 3.0.1 JSON-LD 형식으로 변환합니다.
다운로드 및 설치 방법
독립 실행형 바이너리, 컨테이너 이미지, npm 패키지 등 다양한 방법으로 설치할 수 있습니다.
독립 실행형 바이너리 (권장)
Node.js 의존성 없이 실행 가능한 자체 포함형 바이너리를 GitHub 릴리스 페이지에서 다운로드할 수 있습니다. 예를 들어 Windows PowerShell에서:
$Version = “v13.1.0”
$Asset = “cdxgen-windows-amd64.exe”
$BaseUrl = “https://github.com/cdxgen/cdxgen/releases/download/$Version”
Invoke-WebRequest -Uri “$BaseUrl/$Asset” -OutFile $Asset
패키지 매니저를 통한 설치
- Winget:
winget install cdxgen - npm:
npm install -g @cdxgen/cdxgen --ignore-scripts - Homebrew:
brew install cdxgen
이런 경우에 유용합니다
- 보안 팀: 공급망 공격을 식별하고 의존성의 취약성을 사전에 파악하기 위해 정확한 SBOM을 필요로 할 때.
- 컴플라이언스 담당자: SCVS, CRA 등 다양한 규정 준수 기준에 따라 BOM 품질을 평가하고 보고서를 생성할 때.
- 개발자 및 빌드 엔지니어: CI/CD 파이프라인에 BOM 생성을 자동화하여 프로젝트의 구성 요소를 투명하게 관리할 때.
- AI 플랫폼 팀: AI 서비스와 모델의 거버넌스, 보안, 성능을 위한 AI-BOM을 생성하고 관리할 때.
지원 환경
Linux (amd64, arm64), macOS (arm64), Windows (amd64)를 지원합니다. npm 패키지를 사용하는 경우 Node.js 24 이상이 필요할 수 있습니다.
최신 버전 및 업데이트
제공된 증거에 따르면 현재 버전은 13.1.0입니다.
제한 사항 및 확인 사항
- 일부 아키텍처(예: darwin-amd64, windows-arm64)의 atom 컴패니언은 JVM(Java 23+)을 필요로 합니다.
- Git URL에서 해결된 저장소 URL이 부정확하거나 악의적일 수 있으므로, 생성된 출력을 신뢰하기 전에 검토가 필요합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


