{
  "format": "LLM-SCAN",
  "format_version": "1.0",
  "generator": {
    "name": "llmscan-engine",
    "version": "2.0.0"
  },
  "scan_context": {
    "started_at": "2026-08-10T20:47:49+00:00Z",
    "ended_at": "2026-08-10T20:47:49+00:00Z",
    "duration_ms": 1,
    "limits": {
      "timeout_ms": 60000,
      "sandbox": true
    },
    "mode": "static-deep"
  },
  "source": {
    "input_type": "file",
    "filename": "malformed-kv-length.gguf",
    "size_bytes": 69,
    "hashes": {
      "sha256": "c22d91c6e53a1848f4ef32abdaf1ac46102c9caf035b18a0d1f3402dc32541dc"
    }
  },
  "model": {
    "format": "gguf",
    "arch": null,
    "quantization": "Mixed/Unknown",
    "params_estimate": 0,
    "file_size_bytes": 69,
    "sha256": "c22d91c6e53a1848f4ef32abdaf1ac46102c9caf035b18a0d1f3402dc32541dc",
    "sha512": "9b19e36ec9343e0137627885a62a7c8a0148366625020fe889fc3678cfabc4a75fb70d994af56936ffa998dd4417075623ba3f548f4fc2a37bd63bdbd300ba2e",
    "kv_meta": {
      "values_redacted": true,
      "kv_count": 0,
      "keys": []
    },
    "scanner_model_info": {
      "magic": "GGUF",
      "version": 3,
      "architecture": null,
      "model_name": null,
      "finetune": null,
      "basename": null,
      "size_label": null,
      "quantization": "Mixed/Unknown",
      "license": null,
      "context_length": null,
      "embedding_length": null,
      "feed_forward_length": null,
      "block_count": null,
      "head_count": null,
      "head_count_kv": null,
      "vocab_size": null,
      "bos_token_id": null,
      "eos_token_id": null,
      "tokenizer_model": null,
      "tensor_count": 0,
      "param_estimate": 0,
      "file_size_bytes": 69,
      "file_size_mb": 0.0,
      "sha256": "c22d91c6e53a1848f4ef32abdaf1ac46102c9caf035b18a0d1f3402dc32541dc",
      "sha512": "9b19e36ec9343e0137627885a62a7c8a0148366625020fe889fc3678cfabc4a75fb70d994af56936ffa998dd4417075623ba3f548f4fc2a37bd63bdbd300ba2e",
      "alignment": 32,
      "data_section_start": 96,
      "header_end_offset": 69,
      "has_chat_template": false,
      "overlapping_tensor_pairs": 0,
      "misaligned_tensors": 0,
      "oob_tensor_count": 0,
      "dtype_histogram": {},
      "dtype_percentage": {},
      "top_tensors_by_size": [],
      "tensor_bytes_sum": 0,
      "tensor_delta_bytes": 69,
      "tensor_delta_mb": 0.0,
      "header_kv_dir_bytes": 96,
      "trailing_bytes": 0,
      "unaccounted_bytes": -27,
      "dtype_stats": {},
      "offsets_monotone": true,
      "max_tensor_offset": 0,
      "tensor_preview": [],
      "chat_template": null,
      "kv_count": 0,
      "kv_keys": []
    },
    "gguf_version": 3,
    "architecture": null,
    "model_name": null,
    "finetune": null,
    "basename": null,
    "size_label": null,
    "license": null,
    "context_length": null,
    "embedding_length": null,
    "feed_forward_length": null,
    "block_count": null,
    "head_count": null,
    "head_count_kv": null,
    "vocab_size": null,
    "bos_token_id": null,
    "eos_token_id": null,
    "tokenizer_model": null,
    "tensor_count": 0,
    "param_estimate": 0,
    "file_size_mb": 0.0,
    "has_chat_template": false,
    "alignment": 32,
    "overlapping_tensor_pairs": 0,
    "misaligned_tensors": 0,
    "oob_tensor_count": 0,
    "dtype_histogram": {},
    "dtype_percentage": {},
    "top_tensors_by_size": [],
    "tensor_bytes_sum": 0,
    "tensor_delta_bytes": 69,
    "tensor_delta_mb": 0.0,
    "header_kv_dir_bytes": 96,
    "trailing_bytes": 0,
    "unaccounted_bytes": -27,
    "dtype_stats": {},
    "offsets_monotone": true,
    "max_tensor_offset": 0,
    "tensor_preview": [],
    "chat_template": null,
    "values_redacted": true,
    "kv_count": 0
  },
  "tokenizer": {
    "type": null,
    "vocab_size": null,
    "bos_token_id": null,
    "eos_token_id": null,
    "has_chat_template": false,
    "chat_template_chars": null
  },
  "tensors": {
    "count": 0,
    "preview": [],
    "dtype_histogram": {},
    "dtype_stats": {},
    "integrity": {
      "offsets_monotone": true,
      "overlapping_tensor_pairs": 0,
      "misaligned_tensors": 0,
      "oob_tensor_count": 0,
      "tensor_bytes_sum": 0,
      "tensor_delta_bytes": 69,
      "tensor_delta_mb": 0.0,
      "header_kv_dir_bytes": 96,
      "trailing_bytes": 0,
      "unaccounted_bytes": -27
    }
  },
  "security": {
    "grade": "B",
    "score": 76,
    "findings": [
      {
        "severity": "HIGH",
        "category": "Parse",
        "title": "KV metadata decode error",
        "detail": "str bytes",
        "recommendation": "File may be truncated or malformed; re-download from source"
      },
      {
        "severity": "LOW",
        "category": "Metadata",
        "title": "Missing general.architecture key",
        "detail": "Cannot determine model architecture without this field",
        "recommendation": "Verify model provenance; request metadata from the model provider"
      },
      {
        "severity": "LOW",
        "category": "Supply Chain",
        "title": "No license field in GGUF metadata (general.license)",
        "detail": "Absence of license information makes it impossible to determine usage rights",
        "recommendation": "Add general.license to model metadata before distributing; use an SPDX identifier"
      },
      {
        "severity": "LOW",
        "category": "Supply Chain",
        "title": "No embedded provenance metadata",
        "detail": "None of general.author, general.source.url, general.base_model.0, or general.source.huggingface.repository are embedded in the GGUF file. Without any origin signal the model cannot be traced to a trusted source or compared against a reference checkpoint for tampering detection. For files uploaded directly, provenance is especially critical because the scanner cannot infer repository origin from the file alone.",
        "recommendation": "Add at least one of: general.author, general.source.huggingface.repository, or general.source.url"
      }
    ]
  },
  "compatibility": [
    {
      "runtime": "llama.cpp",
      "supported": null,
      "container": true,
      "quant": null,
      "arch": null,
      "context": null,
      "notes": "GGUF v3 container: supported | quant Mixed/Unknown: supported — architecture unknown, cannot assess support"
    },
    {
      "runtime": "Ollama",
      "supported": null,
      "container": true,
      "quant": null,
      "arch": null,
      "context": null,
      "notes": "GGUF via llama.cpp backend: container and quantization supported — architecture unknown, cannot assess support"
    },
    {
      "runtime": "LM Studio",
      "supported": null,
      "container": true,
      "quant": null,
      "arch": null,
      "context": null,
      "notes": "GGUF container and quantization supported; GPU/CPU inference — architecture unknown, cannot assess support"
    },
    {
      "runtime": "vLLM",
      "supported": false,
      "container": false,
      "quant": false,
      "arch": null,
      "context": null,
      "not_supported_msg": "GGUF not supported — requires safetensors format",
      "notes": "GGUF not supported; requires safetensors format"
    },
    {
      "runtime": "HuggingFace Transformers",
      "container": false,
      "quant": false,
      "arch": null,
      "context": null,
      "supported": false,
      "not_supported_msg": "GGUF not directly supported — use safetensors or PyTorch checkpoint",
      "notes": "GGUF not supported; requires safetensors or PyTorch checkpoint"
    }
  ],
  "report": {
    "summary": "GGUF v3 model | quantization: Mixed/Unknown | 0 tensors | 1 blocking issue / 3 warnings",
    "bullets": [
      "GGUF v3 model | quantization: Mixed/Unknown | 0 tensors | 1 blocking issue / 3 warnings",
      "SHA256: c22d91c6e53a1848..."
    ],
    "recommendations": [
      "File may be truncated or malformed; re-download from source",
      "Verify model provenance; request metadata from the model provider",
      "Add general.license to model metadata before distributing; use an SPDX identifier",
      "Add at least one of: general.author, general.source.huggingface.repository, or general.source.url"
    ]
  }
}