Model Assurance Attestation

Issued 2026-10-15T03:14:55Z · Template 0.1 · Re-scan due 2027-01-13T03:14:55Z
hf-internal-testing/tiny-random-MistralForCausalLM
bf4a911f6f7395a93accb4b7b8d5baacaaa692e9e5a74daeb4a640c5f5dc1a43
model directory · 10550023 bytes
Document SOCAIR-20261015-bf4a911f · Issuer socair.ai examples
License: none stated
Tier 1 (static)
Promotion: withheld
5Pass
0Fail
0Lead
1Not tested

Checks performed

CheckLooks forResultEvidence
Format and structure Malformed container structure, unexpected tensors
PASS means: The container parsed, and its tensor data tiles the data section exactly: no unaccounted bytes, overlapping tensors, or duplicate names. For an ONNX model: every tensor holds exactly the data its type and shape need, no two initializers of a graph share a name, external data stays inside the model's directory and fits its file, and every operator is ONNX's own, one of onnxruntime's contrib operators, or a function the model defines. For an OpenVINO IR: every Const lies inside the .bin and is exactly the size its element type and shape take, the Consts cover the .bin with no byte outside them, and every operation OpenVINO builds is in its own opsets. Tensor values are not judged, and an operator library a deployment registers is outside the model. For a Keras model (HDF5 or a .keras archive): every dataset's storage lies inside the HDF5 data, sized by its type and shape, with none overlapping and no data or link in another file, the archive holds only what Keras reads, and the config names no Python bytecode, pickled module, or class or function from outside Keras and TensorFlow (KerasHub, KerasCV, and KerasNLP classes are named). Weight values are not judged.
Addresses AML.T0010.003 · LLM03
NOT_TESTEDnot tested weights are pickle checkpoints; their structure is read by the pickle row
File inventory and payloads Hidden files, embedded payloads, unexpected executables
PASS means: No script, shell command, long encoded blob, or executable signature was found in string metadata values, including every string-array element of 64 bytes or more, and no native executable among the files. Shorter array elements, such as vocabulary tokens, are too short to carry one and are not scanned. An archive among the files counts only when the Pickle opcode scan PASSed it and read every entry in it: a torch.save checkpoint with nothing outside torch.save's layout.
Addresses AML.T0011.000 · AML.T0018.002 · AML.T0010.003 · LLM03
PASS repo: 10 files, 0 scripts inventoried (scripts are expected, not a finding). 1 archive(s) read entry by entry by another check, with no entry left unread: pytorch_model.bin (Pickle opcode scan: pytorch_model/data.pkl conforms to grammar socair-wo/1; 21 storage record(s) of exactly numel x itemsize bytes; torch.save metadata version)
Hash, provenance, lineage Traceable origin: a manifest bound to this hash, from an immutable upstream commit; files that disagree with the uploader's checksum list
PASS means: A trusted publisher signature verified over this artifact, or an operator-supplied manifest binds this hash to a repository at an immutable commit. The notes say which; a manifest is the operator's claim, not a signature. No file the scan compared with a SHA-256 list its uploader ships (SHA256SUMS or a .sha256 file) disagrees with it, save Markdown, which is named and not graded; agreement is noted, and the PASS does not rest on it.
Addresses AML.T0010.003 · AML.T0115.001 · LLM03
PASS origin bound to this artifact's hash, at an immutable commit: repo https://huggingface.co/hf-internal-testing/tiny-random-MistralForCausalLM; revision 7517176934d50d00707900b92ef6a95c782e51a2; commit 7517176934d50d00707900b92ef6a95c782e51a2; a selection of the repo's files at that commit (--exclude onnx/), 1 left out: onnx/model.onnx; via airlock pull; publisher signature not established; manifest provenance.json (sha256 be1cb287d89069c185f72413b55b51889a66045abb9018badc86395ebd4a15f1)
Tokenizer config Tampered tokenizer tables: special-token ids, token types, control tokens
PASS means: The tokenizer tables are internally consistent, and no control token carries instructions. When a canonical reference table for its family is configured (from a feed or SOCAIR_TOKENIZER_REFERENCE), every token was compared with it and no ordinary token differs; the notes say which reference, or that none was configured or matched.
Addresses AML.T0018.003 · AML.T0011.000 · AML.T0010.003 · LLM03
PASS tokenizer.json (sha256 fc4f0bd70b370931, BPE model): 32000 tokens, 3 added (3 special); special-token ids, added-token tables, declared special tokens, and template tokens agree; no token, normalizer, or template injects text. No canonical tokenizer reference was configured, so its tokens were not compared.
Remote code Python a loader would import: modules a config names (auto_map, custom_pipelines, sentence-transformers and diffusers modules), files loaders import by their path, and the repository files those import
PASS means: No config a loader reads names Python in this directory or in another repository (through an auto_map entry, custom_pipelines, a sentence-transformers module, or a diffusers custom pipeline or component), and no file sits where a loader imports one by its path (custom_generate/generate.py, or an inference toolkit's handler.py, pipeline.py, or code/inference.py). Other Python and script files are listed in the notes and not judged: a loader Socair does not model, or a person, can still run them.
Addresses AML.T0011.000 · AML.T0010.001 · LLM03
PASS no loader is told to import code: no auto_map, custom_pipelines, sentence-transformers module outside sentence_transformers, or diffusers custom component in the 6 JSON config(s) read, and no custom_generate/generate.py, handler.py, pipeline.py, or code/inference.py
Pickle opcode scan Imports in pickle-based model files that reach code execution, and pickles that build more than tensors and plain containers
PASS means: Every pickle conforms to grammar socair-wo/1: protocol 2 or 3 as CPython writes it, building only tensors and plain containers through calls whose arguments were checked, and every storage it references matches a record of exactly its size. A NumPy array with no object dtype holds no pickle, and its data matches its shape. Not covered: a loader bug, a reader that parses the bytes differently, code carried as data, or a tampered Python environment.
Addresses AML.T0011.000 · AML.T0018.002 · AML.T0010.003 · LLM03
PASS 1 of 1 file(s) PASS (pytorch_model.bin); e.g. pytorch_model.bin: zip archive: 1 pickle(s) conform to grammar socair-wo/1 (protocol 2); they build only tensors and plain containers: 21 tensor(s) (float32 x21), shapes [32000 32], [32 32], [16 32], and 18 more. torch zip: 21 storage record(s), each exactly numel x itemsize bytes, and no record torch.load does not read. Not covered: a bug in a loader, a reader that parses these bytes differently from CPython, code carried as data in a string for a later stage, and a tampered Python environment (a patched module).

Framework editions: MITRE ATLAS 2026.09, OWASP LLM Top 10 2025.

Assurance level: Tier 1 (static)

What it is
Static checks on the artifact's bytes and metadata, run offline. No inference is run, and the weights are not evaluated for behavior.
What it means
Each listed check ran on the exact bytes identified by the artifact hash, and each row states what its PASS means. A FAIL carries positive evidence, a LEAD is a suspicious signal that needs a person's review, and a NOT_TESTED names why it was not tested. A FAIL or a LEAD withholds promotion, and no acceptance clears it.
What it does not mean
It is not an assessment of the model's behavior or safety. It does not test the weights for backdoors or poisoning, behavior that appears only after quantization or on particular hardware, or jailbreak susceptibility and harmful capability, and it is not a legal review of the model's license.
Tier 2
Tier 2 (inference on the production node class) did not run.

Bounded statement

For the artifact identified by its hash, the Tier 1 checks that returned PASS found no indicators within their stated scope. Rows marked NOT_TESTED were not examined, for the reason each row gives. Tier 1 runs no inference, so no model behavior was tested. Every surface outside that scope is listed under Out of scope.

Out of scope

This attestation does not certify the absence of unknown backdoors.

The same list is published at https://github.com/defilantech/socair/blob/main/docs/detection-ceiling.json.

Checks not run at this level

Node classes not tested

Promotion authorization

Clean-store promotion: withheld · Tier 1 only

Withheld: Format and structure is NOT_TESTED and no acceptance has been recorded. An acceptor accepts them by signing an acceptance of the signed report (socair accept); a name in SOCAIR_ACCEPTED_BY records an unsigned acceptance, which the airlock does not promote.

Verification

Signing: DSSE Ed25519 over an in-toto Statement v1
Signer key: 6230d2225405c855da4cfba73cad678651dd6f0221e2739fc9bd3901ffd35e38
Document hash: d26fffa0362082ab67c77ad1d0caba650992e6f8b28920f8f9d5e2a045ef9073
A printed report is a claim, not the proof. Check the attestation: socair verify <attestation.dsse.json> --trusted <key.pub> --artifact <file or directory>
Artifact SHA256: bf4a911f6f7395a93accb4b7b8d5baacaaa692e9e5a74daeb4a640c5f5dc1a43
Re-run: socair scan <directory>

Files

The artifact SHA256 above is the digest of this manifest: every file's hash, size, and path (socair.modeldir/v1).

PathRoleBytesSHA256
.gitattributesother157034448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
README.mdother51786936b52be9212b61193c08317559a1999a91b5f10f3382f54b0639aaf7a26c8d
added_tokens.jsontokenizer42d606246b713e31b1b43dfe913554dd47819089b9e44b9ebaa294eda2589a6b4c
config.jsonconfig698206739a6e96c46eb7c7222c4b5867fe73d505423f65ff196dbc53baa331fa430
generation_config.jsonconfig137a0ea609faf02fe59344c33e414f380435e514674296fd9cd459517b5b60c22b3
pytorch_model.binweights82522725b088c5542805c008baaf3612989c2b6adaa6df9d5ebc5a0510525b58442a332
special_tokens_map.jsontokenizer4146fa06efa2785e450051989a6f8fb4416b10149ded485ddd3f127a40734f5cfd0
tokenizer.jsontokenizer1795303fc4f0bd70b3709312d9d1d9e5ba674794b6bc5abc17429897a540f93882f25fc
tokenizer.modeltokenizer493443dadfd56d766715c61d2ef780a525ab43b8e6da4de6865bda3d95fdef5e134055
tokenizer_config.jsontokenizer966bf820e3830263a4949d41ca1c28a5a57f98eb2e05fdd126d2ee96c339747f838