| Base score | 100 |
| LOW No license field in GGUF metadata (general.license) | -3 |
| LOW No embedded provenance metadata | -3 |
| MEDIUM Embedding tensor 'token_embd.weight' inferred vocab=32 != KV vocab_size=999 | -8 |
| Penalty subtotal | 86/100 |
| Final | B / 86 |
| Runtime | Status | Quant | Architecture | Context |
|---|---|---|---|---|
| llama.cpp | ✓ | ✓ | ✓ | — |
| Ollama | ✓ | ✓ | ✓ | — |
| LM Studio | ✓ | ✓ | ✓ | — |
| vLLM | ✗ | N/A | GGUF not supported — requires safetensors format | |
| HuggingFace Transformers | ✗ | N/A | GGUF not directly supported — use safetensors or PyTorch checkpoint | |
| Architecture Neural network family — determines which runtime can load this model | llama |
| Name | llmscan-labs-toy-vocab-mismatch |
| Quantization Weight storage format derived from actual tensor dtypes; lower bits = smaller file and faster inference at the cost of accuracy |
F32 |
| Parameters ~ Estimated total number of weight values; determines VRAM needed at inference | 904 |
| Context length Maximum tokens the model can process in a single prompt+response; affects KV-cache memory | 128 tokens |
| Embedding dim Hidden state dimension (d_model); larger = more expressive but more compute per token | 8 |
| FFN dim Feed-forward network intermediate size; typically 2.7–4× embedding_length | 16 |
| Layers Number of transformer blocks (depth); more layers = more reasoning capacity | 1 |
| Attention heads (Q) Number of query heads; GQA/MQA models use fewer KV heads than Q heads | 2 |
| KV heads Key/Value heads per layer; fewer than Q heads = GQA; list = per-layer (hybrid architecture) |
2 |
| Vocab size Number of unique tokens the tokenizer knows; affects embedding table size | 999 |
| Tokenizer Tokenizer algorithm family (e.g. gpt2 = BPE, llama = SentencePiece) | llama |
| Chat template Jinja2 prompt template embedded in model; controls how messages are formatted for inference | ✗ No |
| Tensors Total number of weight tensors stored in the file | 9 |
| File size Size on disk in megabytes | 0.01 MB |
| SHA-256 | 9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505 |
| SHA-512 | a595c0c3bb78031c586390a09365fc272ba905fd9067ac60cdb1dd5f75ba81f51f55e5d319ddfcd6… |
| File size (bytes) | 5,344 |
| Header + KV + tensor directory | 1,728 bytes (0.00 MB) |
| Tensor data region | 3,616 bytes (0.00 MB) |
| Trailing bytes | 0 |
| Unaccounted bytes | 0 ✓ |
| KV metadata keys | 14 |
| Tensors parsed | 9 |
| Offsets monotone | ✓ OK |
| Max tensor offset | 3,104 |
| DType | Count | Total bytes | Total MB | Avg bits/elem |
|---|---|---|---|---|
| F32 | 9 | 3,616 | 0.0 | 32.0 |
| # | Name | Dims | DType | Offset | Bytes | bits/elem |
|---|---|---|---|---|---|---|
| 0 | token_embd.weight | [8, 32] | F32 | 0 | 1,024 | 32.0 |
| 1 | output_norm.weight | [8] | F32 | 1,024 | 32 | 32.0 |
| 2 | blk.0.attn_q.weight | [8, 8] | F32 | 1,056 | 256 | 32.0 |
| 3 | blk.0.attn_k.weight | [8, 8] | F32 | 1,312 | 256 | 32.0 |
| 4 | blk.0.attn_v.weight | [8, 8] | F32 | 1,568 | 256 | 32.0 |
| 5 | blk.0.attn_output.weight | [8, 8] | F32 | 1,824 | 256 | 32.0 |
| 6 | blk.0.ffn_gate.weight | [8, 16] | F32 | 2,080 | 512 | 32.0 |
| 7 | blk.0.ffn_down.weight | [16, 8] | F32 | 2,592 | 512 | 32.0 |
| 8 | blk.0.ffn_up.weight | [8, 16] | F32 | 3,104 | 512 | 32.0 |
{
"compatibility": [
{
"arch": true,
"container": true,
"context": null,
"notes": "GGUF v3 container: supported | quant F32: supported",
"quant": true,
"runtime": "llama.cpp",
"supported": true
},
{
"arch": true,
"container": true,
"context": null,
"notes": "GGUF via llama.cpp backend: container and quantization supported",
"quant": true,
"runtime": "Ollama",
"supported": true
},
{
"arch": true,
"container": true,
"context": null,
"notes": "GGUF container and quantization supported; GPU/CPU inference",
"quant": true,
"runtime": "LM Studio",
"supported": true
},
{
"arch": null,
"container": false,
"context": null,
"not_supported_msg": "GGUF not supported \u2014 requires safetensors format",
"notes": "GGUF not supported; requires safetensors format",
"quant": false,
"runtime": "vLLM",
"supported": false
},
{
"arch": null,
"container": false,
"context": null,
"not_supported_msg": "GGUF not directly supported \u2014 use safetensors or PyTorch checkpoint",
"notes": "GGUF not supported; requires safetensors or PyTorch checkpoint",
"quant": false,
"runtime": "HuggingFace Transformers",
"supported": false
}
],
"format": "LLM-SCAN",
"format_version": "1.0",
"generator": {
"name": "llmscan-engine",
"version": "2.0.0"
},
"model": {
"alignment": 32,
"arch": "llama",
"architecture": "llama",
"basename": null,
"block_count": 1,
"bos_token_id": null,
"chat_template": null,
"context_length": 128,
"dtype_histogram": {
"F32": 9
},
"dtype_percentage": {
"F32": 100.0
},
"dtype_stats": {
"F32": {
"avg_bits_per_elem": 32.0,
"bytes": 3616,
"count": 9,
"mb": 0.0
}
},
"embedding_length": 8,
"eos_token_id": null,
"feed_forward_length": 16,
"file_size_bytes": 5344,
"file_size_mb": 0.01,
"finetune": null,
"format": "gguf",
"gguf_version": 3,
"has_chat_template": false,
"head_count": 2,
"head_count_kv": 2,
"header_kv_dir_bytes": 1728,
"kv_count": 14,
"kv_meta": {
"keys": [
"general.architecture",
"general.file_type",
"general.name",
"llama.attention.head_count",
"llama.attention.head_count_kv",
"llama.attention.layer_norm_rms_epsilon",
"llama.block_count",
"llama.context_length",
"llama.embedding_length",
"llama.feed_forward_length",
"tokenizer.ggml.model",
"tokenizer.ggml.token_type",
"tokenizer.ggml.tokens",
"tokenizer.ggml.vocab_size"
],
"kv_count": 14,
"values_redacted": true
},
"license": null,
"max_tensor_offset": 3104,
"misaligned_tensors": 0,
"model_name": "llmscan-labs-toy-vocab-mismatch",
"offsets_monotone": true,
"oob_tensor_count": 0,
"overlapping_tensor_pairs": 0,
"param_estimate": 904,
"params_estimate": 904,
"quantization": "F32",
"scanner_model_info": {
"alignment": 32,
"architecture": "llama",
"basename": null,
"block_count": 1,
"bos_token_id": null,
"chat_template": null,
"context_length": 128,
"data_section_start": 1728,
"dtype_histogram": {
"F32": 9
},
"dtype_percentage": {
"F32": 100.0
},
"dtype_stats": {
"F32": {
"avg_bits_per_elem": 32.0,
"bytes": 3616,
"count": 9,
"mb": 0.0
}
},
"embedding_length": 8,
"eos_token_id": null,
"feed_forward_length": 16,
"file_size_bytes": 5344,
"file_size_mb": 0.01,
"finetune": null,
"has_chat_template": false,
"head_count": 2,
"head_count_kv": 2,
"header_end_offset": 1697,
"header_kv_dir_bytes": 1728,
"kv_count": 14,
"kv_keys": [
"general.architecture",
"general.file_type",
"general.name",
"llama.attention.head_count",
"llama.attention.head_count_kv",
"llama.attention.layer_norm_rms_epsilon",
"llama.block_count",
"llama.context_length",
"llama.embedding_length",
"llama.feed_forward_length",
"tokenizer.ggml.model",
"tokenizer.ggml.token_type",
"tokenizer.ggml.tokens",
"tokenizer.ggml.vocab_size"
],
"license": null,
"magic": "GGUF",
"max_tensor_offset": 3104,
"misaligned_tensors": 0,
"model_name": "llmscan-labs-toy-vocab-mismatch",
"offsets_monotone": true,
"oob_tensor_count": 0,
"overlapping_tensor_pairs": 0,
"param_estimate": 904,
"quantization": "F32",
"sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505",
"sha512": "a595c0c3bb78031c586390a09365fc272ba905fd9067ac60cdb1dd5f75ba81f51f55e5d319ddfcd6fe63e76a8b3dc653d46b99363f5cd4cdbbe45a8aff4dd377",
"size_label": null,
"tensor_bytes_sum": 3616,
"tensor_count": 9,
"tensor_delta_bytes": 1728,
"tensor_delta_mb": 0.0,
"tensor_preview": [
{
"bits_per_elem": 32.0,
"byte_len": 1024,
"dims": [
8,
32
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 0,
"name": "token_embd.weight",
"offset": 0
},
{
"bits_per_elem": 32.0,
"byte_len": 32,
"dims": [
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 1,
"name": "output_norm.weight",
"offset": 1024
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 2,
"name": "blk.0.attn_q.weight",
"offset": 1056
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 3,
"name": "blk.0.attn_k.weight",
"offset": 1312
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 4,
"name": "blk.0.attn_v.weight",
"offset": 1568
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 5,
"name": "blk.0.attn_output.weight",
"offset": 1824
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 6,
"name": "blk.0.ffn_gate.weight",
"offset": 2080
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
16,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 7,
"name": "blk.0.ffn_down.weight",
"offset": 2592
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 8,
"name": "blk.0.ffn_up.weight",
"offset": 3104
}
],
"tokenizer_model": "llama",
"top_tensors_by_size": [
{
"byte_len": 1024,
"dims": [
8,
32
],
"dtype": "F32",
"n_elem": 256,
"name": "token_embd.weight"
},
{
"byte_len": 512,
"dims": [
8,
16
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_gate.weight"
},
{
"byte_len": 512,
"dims": [
16,
8
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_down.weight"
},
{
"byte_len": 512,
"dims": [
8,
16
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_up.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_q.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_k.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_v.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_output.weight"
},
{
"byte_len": 32,
"dims": [
8
],
"dtype": "F32",
"n_elem": 8,
"name": "output_norm.weight"
}
],
"trailing_bytes": 0,
"unaccounted_bytes": 0,
"version": 3,
"vocab_size": 999
},
"sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505",
"sha512": "a595c0c3bb78031c586390a09365fc272ba905fd9067ac60cdb1dd5f75ba81f51f55e5d319ddfcd6fe63e76a8b3dc653d46b99363f5cd4cdbbe45a8aff4dd377",
"size_label": null,
"tensor_bytes_sum": 3616,
"tensor_count": 9,
"tensor_delta_bytes": 1728,
"tensor_delta_mb": 0.0,
"tensor_preview": [
{
"bits_per_elem": 32.0,
"byte_len": 1024,
"dims": [
8,
32
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 0,
"name": "token_embd.weight",
"offset": 0
},
{
"bits_per_elem": 32.0,
"byte_len": 32,
"dims": [
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 1,
"name": "output_norm.weight",
"offset": 1024
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 2,
"name": "blk.0.attn_q.weight",
"offset": 1056
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 3,
"name": "blk.0.attn_k.weight",
"offset": 1312
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 4,
"name": "blk.0.attn_v.weight",
"offset": 1568
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 5,
"name": "blk.0.attn_output.weight",
"offset": 1824
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 6,
"name": "blk.0.ffn_gate.weight",
"offset": 2080
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
16,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 7,
"name": "blk.0.ffn_down.weight",
"offset": 2592
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 8,
"name": "blk.0.ffn_up.weight",
"offset": 3104
}
],
"tokenizer_model": "llama",
"top_tensors_by_size": [
{
"byte_len": 1024,
"dims": [
8,
32
],
"dtype": "F32",
"n_elem": 256,
"name": "token_embd.weight"
},
{
"byte_len": 512,
"dims": [
8,
16
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_gate.weight"
},
{
"byte_len": 512,
"dims": [
16,
8
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_down.weight"
},
{
"byte_len": 512,
"dims": [
8,
16
],
"dtype": "F32",
"n_elem": 128,
"name": "blk.0.ffn_up.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_q.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_k.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_v.weight"
},
{
"byte_len": 256,
"dims": [
8,
8
],
"dtype": "F32",
"n_elem": 64,
"name": "blk.0.attn_output.weight"
},
{
"byte_len": 32,
"dims": [
8
],
"dtype": "F32",
"n_elem": 8,
"name": "output_norm.weight"
}
],
"trailing_bytes": 0,
"unaccounted_bytes": 0,
"values_redacted": true,
"vocab_size": 999
},
"report": {
"bullets": [
"GGUF v3 model | architecture: llama | quantization: F32 | 9 tensors | 3 warnings",
"Size: 0.01 MB",
"SHA256: 9e7eff45b328d1d0..."
],
"recommendations": [
"Verify against the original model repository",
"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"
],
"summary": "GGUF v3 model | architecture: llama | quantization: F32 | 9 tensors | 3 warnings"
},
"scan_context": {
"duration_ms": 2,
"ended_at": "2026-08-10T20:38:48+00:00Z",
"limits": {
"sandbox": true,
"timeout_ms": 60000
},
"mode": "static-deep",
"started_at": "2026-08-10T20:38:48+00:00Z"
},
"security": {
"findings": [
{
"category": "Supply Chain",
"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",
"title": "No license field in GGUF metadata (general.license)"
},
{
"category": "Supply Chain",
"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",
"severity": "LOW",
"title": "No embedded provenance metadata"
},
{
"category": "Statistical Anomaly",
"detail": "Mismatch between embedding dimensions and KV metadata vocab_size may indicate a tampered, corrupted, or mismatched tokenizer/model pair",
"recommendation": "Verify against the original model repository",
"severity": "MEDIUM",
"title": "Embedding tensor \u0027token_embd.weight\u0027 inferred vocab=32 != KV vocab_size=999"
}
],
"grade": "B",
"score": 86
},
"source": {
"filename": "vocab-size-mismatch.gguf",
"hashes": {
"sha256": "9e7eff45b328d1d03a42993cdec05ec80af0da2d3e8adb6bbd0b145c0a964505"
},
"input_type": "file",
"size_bytes": 5344
},
"tensors": {
"count": 9,
"dtype_histogram": {
"F32": 9
},
"dtype_stats": {
"F32": {
"avg_bits_per_elem": 32.0,
"bytes": 3616,
"count": 9,
"mb": 0.0
}
},
"integrity": {
"header_kv_dir_bytes": 1728,
"misaligned_tensors": 0,
"offsets_monotone": true,
"oob_tensor_count": 0,
"overlapping_tensor_pairs": 0,
"tensor_bytes_sum": 3616,
"tensor_delta_bytes": 1728,
"tensor_delta_mb": 0.0,
"trailing_bytes": 0,
"unaccounted_bytes": 0
},
"preview": [
{
"bits_per_elem": 32.0,
"byte_len": 1024,
"dims": [
8,
32
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 0,
"name": "token_embd.weight",
"offset": 0
},
{
"bits_per_elem": 32.0,
"byte_len": 32,
"dims": [
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 1,
"name": "output_norm.weight",
"offset": 1024
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 2,
"name": "blk.0.attn_q.weight",
"offset": 1056
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 3,
"name": "blk.0.attn_k.weight",
"offset": 1312
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 4,
"name": "blk.0.attn_v.weight",
"offset": 1568
},
{
"bits_per_elem": 32.0,
"byte_len": 256,
"dims": [
8,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 5,
"name": "blk.0.attn_output.weight",
"offset": 1824
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 6,
"name": "blk.0.ffn_gate.weight",
"offset": 2080
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
16,
8
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 7,
"name": "blk.0.ffn_down.weight",
"offset": 2592
},
{
"bits_per_elem": 32.0,
"byte_len": 512,
"dims": [
8,
16
],
"dtype_id": 0,
"dtype_name": "F32",
"index": 8,
"name": "blk.0.ffn_up.weight",
"offset": 3104
}
]
},
"tokenizer": {
"bos_token_id": null,
"chat_template_chars": null,
"eos_token_id": null,
"has_chat_template": false,
"type": "llama",
"vocab_size": 999
}
}