본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

cdxgen

0

CycloneDX Generator (cdxgen)는 소프트웨어 빌드 자재 목록(BOM)을 자동으로 생성하는 오픈소스 개발 도구입니다.

BOM 생성기CLI 도구공급망 보안오픈소스

소개

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이 부정확하거나 악의적일 수 있으므로, 생성된 출력을 신뢰하기 전에 검토가 필요합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.