{
  "fixture": "aibom-model-files",
  "category": "aibom",
  "input": {
    "kind": "source",
    "ref": "fixtures/aibom-model-files"
  },
  "axes": [
    "aibom"
  ],
  "tools": [
    "cdxgen",
    "bomlens"
  ],
  "notes": "형식이 다른 AI 모델 파일 6종. scripts/make-aibom-fixture.py 가 표준 라이브러리만으로 만든다(가중치는 의미 없는 작은 값). 정답은 만든 방법에서 나온다: payload-eval.pkl 과 payload-eval-torch.pt(PyTorch zip 안 data.pkl)는 pickle 로드 시 builtins.eval 을 호출하도록 만든 위험 직렬화이고(eval 하는 식은 출력만 하는 문자열), plain-weights.pkl 은 전역 참조(GLOBAL, STACK_GLOBAL) 없이 dict 만 담아 로드해도 코드가 실행되지 않는다(pickletools 로 확인). 이 파일들을 절대 로드하지 않는다. names 는 파일 이름에서 확장자를 뺀 값과, 형식 메타데이터의 모델 이름(GGUF general.name, ONNX graph name)이다. Hugging Face 모델 카드나 데이터셋 계보는 이 fixture 의 범위가 아니다(네트워크와 시점 의존).",
  "components": [],
  "vulnerabilities": [],
  "models": [
    {
      "file": "tiny-llama.gguf",
      "names": [
        "tiny-llama"
      ],
      "format": "gguf",
      "dangerous": false
    },
    {
      "file": "tiny-classifier.safetensors",
      "names": [
        "tiny-classifier"
      ],
      "format": "safetensors",
      "dangerous": false
    },
    {
      "file": "tiny-graph.onnx",
      "names": [
        "tiny-graph",
        "scab_graph"
      ],
      "format": "onnx",
      "dangerous": false
    },
    {
      "file": "payload-eval.pkl",
      "names": [
        "payload-eval"
      ],
      "format": "pickle",
      "dangerous": true
    },
    {
      "file": "plain-weights.pkl",
      "names": [
        "plain-weights"
      ],
      "format": "pickle",
      "dangerous": false
    },
    {
      "file": "payload-eval-torch.pt",
      "names": [
        "payload-eval-torch"
      ],
      "format": "pytorch",
      "dangerous": true
    }
  ]
}
