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. AI SBOM 표준 형식 명세 (SPDX 3.0 · CycloneDX 1.6)

    AI SBOM 표준 형식은 두 가지가 사실상 산업 표준으로 자리잡았다. 두 형식은 보완 관계이며, 조직은 한쪽 또는 양쪽 모두를 채택할 수 있다.

    표준발표AI 영역 명세핵심 강점
    SPDX 3.02024-04AI Profile (AIPackage 클래스)라이선스·저작권 표현 강함, ISO/IEC 5962:2021 후속
    CycloneDX 1.62024-04ML-BOM (modelCard)보안·윤리·성능 메타데이터 풍부, ECMA-424 표준

    OpenChain Korea Work Group의 AI Work Group은 두 형식을 모두 지원하는 AI SBOM 가이드를 개발했다.

    3.1 SPDX 3.0 AI Profile 핵심 필드 12종

    SPDX 3.0 AI Profile은 AIPackage 클래스를 통해 AI 모델 메타데이터를 표현한다. AI 특화 필드 중 자주 사용되는 핵심 12개는 다음과 같다.

    #필드의미예시 값
    1typeOfModel모델 유형“LLM”, “Image Classification”, “Reinforcement Learning”
    2modelArchitecture모델 아키텍처 상세“Transformer Decoder”, “Vision Transformer”, “MoE”
    3hyperparameter하이퍼파라미터(key/value)contextWindow: 131072, learningRate: 2e-5
    4modelDataPreprocessing학습 데이터 전처리 방법“BPE Tokenization”, “Image normalization (224×224)”
    5informationAboutTraining학습 절차 정보“Pretrained on 15T tokens, fine-tuned on KoAlpaca”
    6informationAboutApplication의도된 응용 정보“Customer support chatbot, EN/KO”
    7metric성능 메트릭“MMLU: 0.78”, “HumanEval: 0.65”
    8metricDecisionThreshold결정 임계값“Toxicity > 0.7 → reject”
    9limitation알려진 한계·약점“Hallucinates on dates after 2024-12”
    10safetyRiskAssessment안전성·보안 위험 평가 결과“Prompt injection 평가 완료 (PASS)”
    11modelExplainability설명 가능성 기법“SHAP 분석 지원”, “Attention map 시각화”
    12autonomyType자율성 수준“Human-in-the-loop”, “Fully autonomous”

    보조 필드(필요 시): domain(적용 도메인), energyConsumption(에너지 소비량), standardCompliance(준수 표준 목록), useSensitivePersonalInformation(민감 개인정보 사용 여부). 상속 필드(name, packageVersion, downloadLocation, suppliedBy, primaryPurpose, releaseTime)는 일반 SBOM과 동일하게 작성한다.

    3.2 SPDX 3.0 AI SBOM 작성 예시

    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
    

    3.3 CycloneDX 1.6 ML-BOM 핵심 필드 (modelCard 4영역)

    CycloneDX 1.6 ML-BOM은 컴포넌트의 modelCard 필드에 AI 모델 메타데이터를 표현한다. modelCard는 4개 영역으로 구성된다.

    (1) modelParameters — 모델 구성 (7필드)

    필드의미
    approach학습 접근(Supervised / Unsupervised / Reinforcement / Semi-supervised)
    task모델 작업 유형(classification, regression, text-generation 등)
    architectureFamily아키텍처 계열(transformer, CNN, RNN, LSTM 등)
    modelArchitecture구체적 아키텍처(GPT-4o, ResNet-50, YOLOv8 등)
    datasets학습·평가에 사용한 데이터셋 참조 목록
    inputs입력 형식(MIME type, 텐서 shape 등)
    outputs출력 형식

    (2) quantitativeAnalysis — 성능 분석 (2필드)

    필드의미
    performanceMetrics성능 메트릭(accuracy, F1, MSE, top-k 등)
    graphics평가 결과 그래프·이미지 첨부

    (3) considerations — 윤리·운영 고려사항 (7필드)

    필드의미
    users의도된 사용자
    useCases의도된 사용 사례
    technicalLimitations기술적 한계
    performanceTradeoffs성능·정확도 트레이드오프
    ethicalConsiderations윤리적 위험 평가
    environmentalConsiderations환경 영향(전력 소비·탄소 배출) — 1.6 신설
    fairnessAssessments공정성 평가(영향받는 그룹별 편익·위험)

    (4) properties — 자유 형식 key-value

    조직 내부 메타데이터(승인자·심사 일자 등)를 추가로 기록할 수 있다.

    3.4 CycloneDX 1.6 ML-BOM 작성 예시

    {
      "bomFormat": "CycloneDX",
      "specVersion": "1.6",
      "components": [
        {
          "type": "machine-learning-model",
          "bom-ref": "model-llama3.1-8b",
          "name": "Meta Llama 3.1 8B Instruct",
          "version": "3.1",
          "supplier": { "name": "Meta AI" },
          "licenses": [
            { "license": { "name": "Llama 3.1 Community License" } }
          ],
          "modelCard": {
            "bom-ref": "card-llama3.1-8b",
            "modelParameters": {
              "approach": { "type": "supervised" },
              "task": "text-generation",
              "architectureFamily": "transformer",
              "modelArchitecture": "Decoder-only Transformer",
              "datasets": [ { "ref": "ds-meta-pretrain-15T" } ],
              "inputs": [ { "format": "text/plain" } ],
              "outputs": [ { "format": "text/plain" } ]
            },
            "quantitativeAnalysis": {
              "performanceMetrics": [
                { "type": "MMLU", "value": "0.78" },
                { "type": "HumanEval", "value": "0.65" }
              ]
            },
            "considerations": {
              "users": [ "Enterprise developers" ],
              "useCases": [ "Customer support chatbot (EN/KO)" ],
              "technicalLimitations": [ "Hallucinates on dates after 2024-12" ],
              "ethicalConsiderations": [
                { "name": "Prompt injection", "mitigation": "Input filtering" }
              ],
              "environmentalConsiderations": {
                "energyConsumptions": [
                  {
                    "activity": "inference",
                    "energyMeasure": { "value": 0.5, "unit": "kWh" }
                  }
                ]
              }
            }
          }
        }
      ]
    }
    

    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을 기반으로 취약점 모니터링이 수행되고 있는가?
    • 모델 서명(OpenSSF Model Signing · Sigstore) 검증 결과가 AI SBOM에 기록되어 있는가?
    • 학습 빌드 provenance(SLSA for AI L1 이상)가 attestation으로 보관되어 있는가?

    6. AI Work Group 가이드 연계

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


    7. 참고