AI SBOM

ISO/IEC 42001 §7.5(문서화된 정보)와 §8.5(AI 시스템 생애주기)에 따른 AI SBOM(AI System Bill of Materials) 구성 방법과 생성 도구를 안내한다.

    1. AI SBOM이란?

    **AI SBOM(AI System Bill of Materials)**은 AI 시스템을 구성하는 모든 요소의 목록과 그 출처·라이선스를 문서화한 것이다. 소프트웨어 SBOM(ISO/IEC 5230 §3.3.1)의 개념을 AI 시스템으로 확장한 것으로, ISO/IEC 42001 §7.5(문서화된 정보) 요구사항의 핵심 산출물이다.

    AI SBOM이 필요한 이유: 투명성과 규제 대응

    AI SBOM은 AI 시스템의 투명성과 설명 가능성을 확보하는 핵심 수단이다. ISO/IEC 42001 Appendix C.2.11은 투명성과 설명 가능성을 AI 관리 시스템의 핵심 목표로 명시한다.

    요구 주체근거AI SBOM 역할
    ISO/IEC 42001Appendix C.2.11 (투명성·설명 가능성)AI 시스템 구성 투명성 확보
    EU AI Act고위험 AI 시스템 기술 문서 요건학습 데이터·모델 출처 명시
    EU Cyber Resilience Act(CRA)AI 제품의 투명성 의무컴포넌트 목록 및 취약점 추적
    OpenChain AI Work GroupAI SBOM Compliance Guide공급망 내 AI SBOM 표준 절차

    AI SBOM vs 소프트웨어 SBOM

    비교 항목소프트웨어 SBOMAI SBOM
    포함 대상라이브러리, 패키지, 실행 파일프레임워크 + 모델 + 데이터셋
    라이선스 유형SPDX 표준 라이선스SPDX + AI 커스텀 라이선스 (Llama, Gemma ToU 등)
    표준 형식SPDX 2.x, CycloneDX 1.4SPDX 3.0 AI 프로파일, CycloneDX 1.6
    추가 정보없음모델 파라미터 수, 학습 데이터 출처, 모델 목적 등
    관련 ISO 표준ISO/IEC 5230 §3.3.1ISO/IEC 42001 §7.5

    2. AI SBOM 구성 요소

    AI SBOM
      │
      ├── 1. AI 프레임워크 · 라이브러리
      │       (일반 소프트웨어 SBOM과 동일한 항목)
      │       - name, version, license, PURL, hash
      │
      ├── 2. 사전 훈련 모델 (Pre-trained Model)
      │       - name, version, license
      │       - primaryPurpose (inference / training / fine-tuning / evaluation)
      │       - modelCard URL (모델 카드 링크)
      │       - baseModel (파인튜닝 시 원본 모델)
      │
      ├── 3. 학습 데이터셋
      │       - name, version, license
      │       - dataCollectionProcess (수집 방법)
      │       - dataType (text / image / audio / etc.)
      │       - knownBias (알려진 편향, 있는 경우)
      │
      ├── 4. 파인튜닝 데이터 (해당 시)
      │       - name, license, source
      │       - dataType
      │
      └── 5. Fact Sheet (AI 시스템 카드) ★
              - 편향(bias) 정보 및 한계 사항
              - 데이터 출처 및 데이터 가용성
              - 모델 성능 및 평가 결과 요약
              - 의도된 사용 목적 및 금지 사용 목적
              - 안전성·보안 관련 알려진 이슈
    

    3. SPDX 3.0 AI 프로파일 활용

    SPDX 3.0은 AI 시스템을 위한 AI 프로파일을 새롭게 포함한다. OpenChain Korea Work Group의 AI Work Group이 이 형식을 기반으로 AI SBOM 가이드를 개발했다.

    AI SBOM SPDX 3.0 예시

    spdxVersion: SPDX-3.0
    SPDXID: SPDXRef-DOCUMENT
    name: "MyAI-Service AI SBOM"
    dataLicense: CC0-1.0
    created: "2026-04-01T00:00:00Z"
    createdBy:
      - type: Tool
        identifier: "cdxgen-10.0"
    
    packages:
      # 1. AI 프레임워크
      - SPDXID: SPDXRef-pytorch
        name: torch
        versionInfo: "2.2.0"
        supplier: "Organization: Meta AI"
        downloadLocation: "https://pypi.org/project/torch/2.2.0/"
        licenseConcluded: BSD-3-Clause
        primaryPurpose: library
    
      - SPDXID: SPDXRef-transformers
        name: transformers
        versionInfo: "4.40.0"
        supplier: "Organization: Hugging Face"
        downloadLocation: "https://pypi.org/project/transformers/4.40.0/"
        licenseConcluded: Apache-2.0
        primaryPurpose: library
    
      # 2. 사전 훈련 모델
      - SPDXID: SPDXRef-llama3-8b
        name: meta-llama/Llama-3.1-8B-Instruct
        versionInfo: "3.1"
        supplier: "Organization: Meta AI"
        downloadLocation: "https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct"
        licenseConcluded: LicenseRef-Meta-Llama-Community-License
        primaryPurpose: inference
        # AI 프로파일 확장 필드
        modelCard: "https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct"
        hyperparameter:
          contextWindow: 131072
    
      # 3. 파인튜닝 데이터셋
      - SPDXID: SPDXRef-dataset-alpaca-korean
        name: beomi/KoAlpaca-v1.1a
        versionInfo: "1.1a"
        downloadLocation: "https://huggingface.co/datasets/beomi/KoAlpaca-v1.1a"
        licenseConcluded: CC-BY-NC-4.0
        primaryPurpose: trainData
        dataCollectionProcess: "Korean instruction-following dataset"
    
    relationships:
      - spdxElementId: SPDXRef-llama3-8b
        relationshipType: TRAINED_ON
        relatedSpdxElement: SPDXRef-dataset-alpaca-korean
    

    4. AI SBOM 생성 도구

    4.1 cdxgen (CycloneDX 형식)

    cdxgen은 Python AI 프로젝트의 의존성을 분석하여 CycloneDX 형식의 SBOM을 생성한다. AI 특화 필드는 별도로 추가해야 한다.

    # Python AI 프로젝트 SBOM 생성
    cdxgen -t python ./my-ai-project -o ai-sbom.json
    
    # requirements.txt 기반 생성
    cdxgen -t pypi -r requirements.txt -o ai-sbom.json
    

    도구 가이드: cdxgen 사용 가이드

    4.2 Syft (컨테이너 이미지 분석)

    AI 서비스를 컨테이너로 배포하는 경우 Syft로 컨테이너 이미지 전체의 SBOM을 생성한다.

    # AI 서비스 컨테이너 이미지 SBOM 생성
    syft my-ai-service:latest -o spdx-json=ai-container-sbom.json
    

    도구 가이드: Syft 사용 가이드

    4.3 Dependency-Track (AI SBOM 관리 및 취약점 추적)

    생성된 AI SBOM을 Dependency-Track에 업로드하면 지속적으로 취약점을 모니터링할 수 있다.

    # Dependency-Track에 AI SBOM 업로드
    curl -X "POST" "http://dtrack:8080/api/v1/bom" \
      -H "X-Api-Key: ${DTRACK_API_KEY}" \
      -F "bom=@ai-sbom.json" \
      -F "projectName=MyAI-Service" \
      -F "projectVersion=1.0.0"
    

    도구 가이드: Dependency-Track 사용 가이드


    5. AI SBOM 운영 절차

    AI SBOM 수명주기 관리

    AI 시스템 개발 착수
      └─ AI SBOM 초안 작성 (프레임워크·모델 확정 시)
           └─ 개발 중 컴포넌트 추가 시 즉시 갱신
                └─ 배포 전 AI SBOM 최종 검토
                     └─ 배포 시 AI SBOM 보관 (버전별)
                          └─ 운영 중 신규 취약점 발견 시 AI SBOM 연계 대응
                               └─ 모델 라이선스 변경 모니터링 → 필요시 AI SBOM 갱신
    

    체크포인트:

    • 모든 배포 버전의 AI SBOM이 생성·보관되어 있는가?
    • AI SBOM에 프레임워크·모델·데이터셋이 모두 포함되어 있는가?
    • 각 컴포넌트의 라이선스가 정확하게 기록되어 있는가?
    • AI SBOM을 기반으로 취약점 모니터링이 수행되고 있는가?

    6. AI Work Group 가이드 연계

    OpenChain Korea Work Group의 AI Work Group은 AI SBOM Compliance Guide를 개발·발표했다. 이 가이드는 SPDX 3.0 AI 프로파일을 활용한 AI SBOM 작성 방법을 상세히 안내한다.


    7. 참고