도구

AI SBOM을 생성하고 분석하는 오픈소스 도구의 주요 기능과 사용법을 실행 화면과 함께 안내한다.

이 절은 AI SBOM 컴플라이언스를 자동화하는 오픈소스 도구를 다룬다. 각 도구의 주요 기능과 설치, 사용법을 실제 실행 결과와 함께 정리했다. 3.9 AI SBOM의 자동화 성숙도 맵에서 본 구분을 도구별로 구체화한 것이다.

정직하게 짚어 둘 경계가 있다. 도구는 BOM을 자동으로 생성하지만, 생성된 BOM의 라이선스가 정확한지, 누락된 자재는 없는지를 보장하지는 못한다. 아래 도구 비교에서 OWASP AIBOM Generator는 모델 카드의 라이선스를 채우고, cdxgen은 의존성을 빠르게 식별하되 라이선스 필드를 비워 둔다. 도구를 고를 때 이 차이를 본다.

도구 한눈에 보기

도구입력출력강점다루는 곳
OWASP AIBOM GeneratorHugging Face 모델 IDCycloneDX 1.6/1.7모델 카드와 라이선스 메타데이터, 완전성 점수바로가기
cdxgen프로젝트 디렉토리, 모델 파일CycloneDX의존성 자동 식별, CI/CD 연동바로가기
Lab700x, Trivy, Syft모델 바이너리, 컨테이너, 가상환경보고서, SBOM모델 정적 분석, 추론 서버와 패키지 식별바로가기

각 도구는 생성, 분석, 관리 단계 중 일부를 자동화한다. 한 도구로 전부 해결되지 않으므로, AI SBOM을 생성하는 도구(OWASP AIBOM Generator, cdxgen)와 보안을 분석하는 도구(Lab700x, Trivy), 관리하는 도구(Dependency-Track)를 조합한다.

1 - OWASP AIBOM Generator

Hugging Face 모델에서 CycloneDX 형식 AI SBOM을 생성하고 완전성 점수를 매기는 OWASP 도구의 사용법을 실행 화면과 함께 안내한다.

개요

OWASP AIBOM Generator는 Hugging Face 모델 ID를 입력받아 모델 카드 메타데이터를 가져오고, CycloneDX 형식의 AI SBOM을 생성하는 오픈소스 도구다. OWASP Gen AI Security Project가 관리하며, 생성된 BOM이 얼마나 완전한지를 점수로 평가하는 기능이 특징이다.

cdxgen이 의존성을 빠르게 식별하되 라이선스를 비워 두는 것과 달리, 이 도구는 모델 카드에 적힌 라이선스와 작성자, 외부 참조를 채운다. 3.5 라이선스 의무가 요구하는 라이선스 검토의 출발점으로 쓰기 좋다.

주요 기능

  • Hugging Face 모델의 메타데이터를 가져와 CycloneDX 1.6과 1.7 형식 AIBOM을 생성한다.
  • 생성된 BOM의 완전성을 점수(0~100)와 프로파일로 평가하고 섹션별로 분해해 보여준다.
  • 모델 정보, 모델 카드, 라이선스, 외부 참조를 사람이 읽기 쉬운 화면으로 보여준다.
  • 웹 UI와 명령줄(CLI) 두 가지로 쓸 수 있다.

사용법 A — 웹 UI

브라우저에서 모델 ID만 넣으면 되어 가장 간단하다. OWASP Gen AI Security Project가 제공하는 Hugging Face Space를 쓰거나, 저장소를 받아 로컬에서 띄운다.

먼저 입력 화면에서 Hugging Face 모델 ID(예: facebook/bart-large-cnn)를 넣고 생성을 누른다.

OWASP AIBOM Generator 입력 화면

그림 1. OWASP AIBOM Generator 입력 화면 (GenAI Security Project, 캡처 2026-06-13)

생성이 끝나면 결과 화면에 AIBOM 요약, 완전성 평가, 다운로드 버튼(CycloneDX 1.6과 1.7), AI 모델 정보, 모델 카드가 표시된다. 화면 상단의 완전성 평가는 BOM이 식별에 필요한 최소 항목을 갖췄는지 한눈에 보여준다.

OWASP AIBOM Generator 결과 화면

그림 2. 생성 결과 화면 — 모델 정보, 라이선스(MIT), 완전성 평가(Basic) (캡처 2026-06-13)

결과 화면은 사람이 읽는 보기(Human-Friendly View)와 함께 필드 체크리스트, 점수 보고서, JSON 보기 탭을 제공한다. 라이선스 의무 검토와 AI SBOM 보관에 필요한 항목을 화면에서 바로 확인하고 CycloneDX 파일로 내려받는다.

사용법 B — 명령줄(CLI)

CI/CD에 넣거나 여러 모델을 일괄 처리할 때는 CLI가 편하다. 설치 후 모델 ID를 인자로 준다.

# 설치 (Python 가상환경 권장)
pip install "git+https://github.com/GenAI-Security-Project/aibom-generator"

# 모델 ID로 AIBOM 생성
aibom facebook/bart-large-cnn -o aibom.json

아래는 실제 실행 결과다. CycloneDX 1.6과 1.7을 생성하고 스키마 검증을 통과하며, 완전성 점수를 섹션별로 보여준다.

$ aibom facebook/bart-large-cnn -o aibom.json

✅ Successfully generated CycloneDX 1.6 SBOM — Schema Validation (1.6): Valid
✅ Successfully generated CycloneDX 1.7 SBOM — Schema Validation (1.7): Valid

📊 Completeness Score: 58.7/100   Profile: Basic
   - Required Fields:        20/20
   - Metadata:                8/20
   - Component Basic:        17.1/20
   - Component Model Card:    6.7/30
   - External References:    10/10

그림 3. CLI 실행 출력 (aibom CLI, 모델 facebook/bart-large-cnn, 실행 2026-06-13)

생성된 BOM의 모델 컴포넌트는 라이선스와 모델 카드가 채워진다. cdxgen 출력과 달리 licenses 필드가 비어 있지 않다.

{
  "type": "machine-learning-model",
  "name": "bart-large-cnn",
  "purl": "pkg:huggingface/facebook/bart-large-cnn",
  "licenses": [{ "license": { "id": "MIT" } }],
  "authors": [{ "name": "facebook" }],
  "modelCard": { "modelParameters": { }, "considerations": { } }
}

실행 결과가 보여주는 것

참고

2 - cdxgen

프로젝트와 모델에서 CycloneDX SBOM을 생성하는 OWASP cdxgen의 AI BOM 모드 사용법을 실행 출력과 함께 안내한다.

개요

cdxgen은 OWASP CycloneDX 프로젝트의 공식 SBOM 생성기다. 20개 이상의 언어와 패키지 매니저를 지원하고, 최신 버전에서 AI BOM 전용 모드를 제공한다. AI 애플리케이션의 의존성(PyTorch, Transformers 등)을 자동으로 식별하며, CI/CD 파이프라인에 연동하기 좋다.

AI SBOM 관점에서 cdxgen의 강점은 속도와 자동화다. 약점은 라이선스 정보를 기본 실행에서 채우지 않는다는 점이다. 아래 실행 결과에서 이 특성이 드러난다. OWASP AIBOM Generator가 모델 카드 메타데이터 중심이라면, cdxgen은 코드와 의존성 중심이다. 둘을 함께 쓰면 모델과 의존성을 모두 다룬다.

주요 기능

  • 소스 코드와 컨테이너 이미지에서 의존성을 식별해 CycloneDX SBOM을 생성한다.
  • AI BOM 모드(-t ai)로 AI/ML 메타데이터(formulation)를 포함한다.
  • Hugging Face 모델 URL, Modelfile, GGUF 아티팩트를 직접 입력으로 받는다.
  • Dependency-Track 서버에 SBOM을 자동 제출해 지속 관리할 수 있다.

설치

# 일회성 실행 (Node.js 필요)
npx @cyclonedx/cdxgen@latest --version

# 전역 설치
npm install -g @cyclonedx/cdxgen

사용법 — AI BOM 생성

AI 프로젝트 디렉토리에서 AI BOM 모드로 실행한다.

# AI BOM 생성
cdxgen -t ai -o aibom.json .

# AI/ML 메타데이터(formulation)를 포함해 생성
cdxgen -t ai --include-formulation -o aibom.json .

아래는 사전학습 모델(facebook/bart-large-cnn)을 불러오는 요약 앱(transformers, torch 의존)에 cdxgen을 실제로 돌린 결과다. 의존성 5건을 자동 식별해 CycloneDX 1.7 BOM을 만든다.

$ cdxgen -t python --include-formulation -o aibom.json .
CycloneDX Generator 12.5.1 (Node.js)

생성된 components — 5건 (CycloneDX 1.7):
  transformers     4.44.2    pkg:pypi/transformers@4.44.2      license: 비어 있음
  torch            2.4.0     pkg:pypi/torch@2.4.0             license: 비어 있음
  numpy            1.26.4    pkg:pypi/numpy@1.26.4            license: 비어 있음
  tokenizers       0.19.1    pkg:pypi/tokenizers@0.19.1       license: 비어 있음
  huggingface-hub  0.24.6    pkg:pypi/huggingface-hub@0.24.6   license: 비어 있음

그림 1. cdxgen 실행 출력 (cdxgen 12.5.1, 실행 2026-06-13)

생성된 컴포넌트 한 건은 다음과 같다. 식별 근거(evidence)는 채워지지만 licenses 필드는 비어 있다.

{
  "name": "transformers",
  "version": "4.44.2",
  "purl": "pkg:pypi/transformers@4.44.2",
  "type": "library",
  "evidence": {
    "identity": [
      { "field": "purl", "confidence": 0.5,
        "methods": [{ "technique": "manifest-analysis", "value": "requirements.txt" }] }
    ]
  }
}

실행 결과가 보여주는 것

참고

3 - 모델·컨테이너 스캐너 (Lab700x, Trivy, Syft)

AI 모델 바이너리와 추론 서버, AI 패키지를 분석하는 보안 스캐너의 주요 기능과 사용법을 소개한다.

이 페이지는 AI SBOM 생성을 보완하는 분석·식별 도구를 소개한다. 생성 도구(OWASP AIBOM Generator, cdxgen)가 “무엇이 들어 있는가"를 기록한다면, 이 도구들은 “그것이 안전한가"와 “어떤 버전인가"를 본다. 아래 명령과 기능은 각 도구의 공식 문서를 기준으로 정리했다(이 가이드에서 직접 실행한 도구는 OWASP AIBOM Generatorcdxgen이다).

Lab700x AI SBOM Scanner — 모델 바이너리 정적 분석

AI 모델 파일 자체를 정적 분석해 정보를 추출하는 도구다. .safetensors, .pt(PyTorch), .pkl(Pickle) 같은 모델 바이너리를 실행하지 않고 직접 들여다본다(deep introspection).

  • 주요 기능: 모델을 실행(Execute)하지 않고 내부 구조를 파악하므로, 모델 파일에 숨겨진 악성 코드(Pickle 인젝션 등)나 취약점, 라이선스 위반 요소를 배포 전에 검출한다.
  • AI SBOM에서의 역할: 외부에서 도입한 모델을 인입 게이트에서 검사하는 데 쓴다. 3.5 라이선스 의무의 인입 메타데이터 강제와 결합하면, 메타데이터 검증과 바이너리 안전성 검사를 함께 수행할 수 있다.

Pickle 형식 모델은 역직렬화 시 임의 코드가 실행될 수 있어 공급망 위험이 크다. 모델을 실행하지 않고 검사한다는 점이 이 도구의 핵심이다.

Trivy — LLM 추론 서버 컨테이너 스캔

Aqua Security의 오픈소스 스캐너로, 컨테이너 이미지와 파일시스템의 취약점을 점검한다. 최근 AI 모델 인프라 인식을 추가했다.

  • 주요 기능: Ollama, LocalAI 같은 LLM 추론 서버 컨테이너를 스캔해, 포함된 오픈소스 라이브러리와 컨테이너 취약점을 수집한다.
  • 사용법:
# 컨테이너 이미지 스캔 (취약점)
trivy image ollama/ollama:latest

# SBOM(CycloneDX) 생성
trivy image --format cyclonedx --output sbom.json ollama/ollama:latest

AI 모델을 컨테이너로 배포하는 환경에서 추론 서버의 취약점과 구성요소를 SBOM으로 남기는 데 쓴다.

Syft — AI 패키지와 가상환경 식별

Anchore의 SBOM 생성기로, 컨테이너와 파일시스템, 가상환경을 스캔한다.

  • 주요 기능: Python 가상환경을 분석해 PyTorch, Transformers 등 AI 가동에 쓰인 패키지의 정확한 버전을 수집한다. SPDX와 CycloneDX 형식으로 출력한다.
  • 사용법:
# 디렉토리 스캔 후 CycloneDX 출력
syft scan dir:. -o cyclonedx-json=sbom.json

# 컨테이너 이미지 스캔
syft scan registry:python:3.11-slim -o spdx-json

cdxgen과 역할이 비슷하므로, 이미 Anchore 도구 모음(Syft, Grype)을 쓰는 조직이라면 Syft로 AI 애플리케이션의 의존성 SBOM을 생성하고 Grype로 취약점을 점검하는 조합이 자연스럽다.

도구 조합 권고

한 도구로 전부 해결되지 않는다. 실무에서는 역할을 나눠 조합한다.

목적도구
모델 메타데이터 AIBOM 생성OWASP AIBOM Generator
의존성 SBOM 생성cdxgen, Syft
모델 바이너리 안전성 검사Lab700x AI SBOM Scanner
추론 서버·컨테이너 취약점Trivy
SBOM 저장·취약점 모니터링Dependency-Track

참고