{
  "schema_version": "1.2",
  "url": "https://trustbutveri.fyi/explorer/?mechanisms=M-0014,M-0012&implementations=M-0012:I-0006",
  "data_generated": "2026-10-08",
  "definitions": {
    "methodology": "https://trustbutveri.fyi/about/methodology/",
    "readiness": "https://trustbutveri.fyi/about/readiness/",
    "filters": [
      {
        "id": "prover",
        "label": "Prover",
        "question": "How far can the party being checked be trusted?",
        "options": [
          {
            "value": "cooperative",
            "label": "Cooperative"
          },
          {
            "value": "semi-trusted",
            "label": "Semi-trusted"
          },
          {
            "value": "adversarial",
            "label": "Adversarial"
          }
        ],
        "rule": "Keeps mechanisms whose threat model holds against at least this prover. Adversarial is the strongest assumption.",
        "about": "The prover is the party being checked. Semi-trusted designs rely on part of its stack: usually the chip vendor's hardware root of trust, its firmware or counters, or its supply-chain records. Adversarial designs aim to hold even if it cheats wherever the checks allow, within their stated assumptions."
      },
      {
        "id": "onsite",
        "label": "Verifier devices on site",
        "question": "May the verifier install its own hardware at the prover's sites?",
        "options": [
          {
            "value": "no",
            "label": "Not allowed"
          }
        ],
        "rule": "\"Not allowed\" removes mechanisms that need a retrofit device, such as a network tap or a sealed sensor.",
        "about": "Some mechanisms need a device the verifier owns or trusts at the prover's facility, such as a network tap, a bandwidth limiter or a sealed sensor. Choose Not allowed when the setting rules that out. Inspectors are not covered."
      },
      {
        "id": "coop",
        "label": "Prover cooperation",
        "question": "How much must the prover take part?",
        "options": [
          {
            "value": "partial",
            "label": "Partial at most"
          },
          {
            "value": "none",
            "label": "Not required"
          }
        ],
        "rule": "\"Partial at most\" removes mechanisms that need the prover's active participation. \"Not required\" keeps only those that work without it.",
        "about": "Required: the prover takes part, for example by logging requests, producing proofs or opening records. Partial: some access, such as installing a device. Not required: works from outside, such as satellite imagery."
      },
      {
        "id": "chips",
        "label": "Chips",
        "question": "May the proposal depend on new chip designs?",
        "options": [
          {
            "value": "existing",
            "label": "Existing chips only"
          }
        ],
        "rule": "\"Existing chips only\" removes mechanisms that need changes to future chip designs.",
        "about": "New chip features take years to reach a deployed fleet and cover only chips made after they ship. Mechanisms that use shipping features, such as trusted execution environments or performance counters, stay."
      },
      {
        "id": "ready",
        "label": "Minimum readiness",
        "question": "How mature must each mechanism be?",
        "options": [
          {
            "value": "R1",
            "label": "R1 Proposed"
          },
          {
            "value": "R2",
            "label": "R2 Demonstrated"
          },
          {
            "value": "R3",
            "label": "R3 In production"
          },
          {
            "value": "R4",
            "label": "R4 Deployment-ready"
          }
        ],
        "rule": "Keeps mechanisms whose readiness level is at least this one.",
        "about": "A level describes the public evidence for a mechanism's stated use, not its cost or feasibility. R3 can still have open critical flaws."
      },
      {
        "id": "tested",
        "label": "Attack testing",
        "question": "How hard has each mechanism been attacked in public?",
        "options": [
          {
            "value": "analysis",
            "label": "Published analysis"
          },
          {
            "value": "red-teamed",
            "label": "Red-teamed"
          },
          {
            "value": "independent-red-team",
            "label": "Independent red-team"
          }
        ],
        "rule": "Keeps mechanisms whose strongest published attack testing is at least this.",
        "about": "The strongest published attempt to break the mechanism for its verification use: a security analysis, red-teaming by its developers or collaborators, or a red team independent of them."
      },
      {
        "id": "hide",
        "label": "Keep hidden from the verifier",
        "question": "What must the verifier never see?",
        "options": [
          {
            "value": "weights",
            "label": "Model weights"
          },
          {
            "value": "io",
            "label": "Inputs and outputs"
          },
          {
            "value": "training",
            "label": "Training data"
          }
        ],
        "rule": "Removes mechanisms that show the asset to the verifier. Conditional or unspecified exposure stays with a note and needs checking against the privacy requirement.",
        "about": "Model weights: the checked model's parameters. Inputs and outputs: the requests a deployed model serves and its responses. Training data: what a model was trained on. Each mechanism's exposure is the editors' reading of its record: shown, depends on the design (kept, with a note), hidden, not involved, or unspecified for a selected implementation. Code and configuration are not covered yet."
      }
    ],
    "exposure": "For model weights, inputs and outputs, and training data. This is the editors' reading of each mechanism's record (its threat model, how it works and its limitations), not a field of the record. Shown: the verifier sees it. Depends: on the design or variant, or the verifier sees only samples. Hidden: the verifier sees only commitments, hashes, proofs or results. Not involved: the record does not handle it. Unspecified: the selected implementation has no asset-specific assessment here.",
    "claim_status": {
      "addressed": "A mechanism in the proposal is aimed at this claim and is not excluded by the filters.",
      "partly-addressed": "Only supporting mechanisms, or mechanisms aimed at it that the filters exclude.",
      "unaddressed": "No mechanism in the proposal addresses this claim."
    },
    "finding_scope": "Evidence scope describes where a finding was demonstrated; it does not establish applicability to every implementation in the mechanism family.",
    "claim_finding_scope": "open_critical_findings names active findings on the assessed records; open_critical_context names conditional family findings whose implementation applicability is unassessed.",
    "legacy_status": "The status field retains covered/partial/none for compatibility. It names claim links, never successful verification. Use claim_status and status_label for presentation."
  },
  "filters": {
    "prover": "",
    "onsite": "",
    "coop": "",
    "chips": "",
    "ready": "",
    "tested": "",
    "hide": []
  },
  "mechanisms_passing_filters": 25,
  "claims": [],
  "mechanisms": [
    {
      "id": "M-0014",
      "title": "Bandwidth limits and compartmentalization",
      "url": "https://trustbutveri.fyi/mechanisms/bandwidth-limits-and-compartmentalization/",
      "assessment_record": {
        "id": "M-0014",
        "title": "Bandwidth limits and compartmentalization",
        "url": "https://trustbutveri.fyi/mechanisms/bandwidth-limits-and-compartmentalization/"
      },
      "selected_implementation": null,
      "readiness": {
        "level": "R2",
        "scope": "monitoring inter-node traffic with operator-run software on four GPUs",
        "confidence": "low",
        "evidence": [
          "S-0067",
          "S-1301",
          "S-0018",
          "S-3220",
          "S-1313"
        ]
      },
      "assessed_properties": {
        "threat_model": "adversarial",
        "hardware_requirement": "retrofit-device",
        "prover_cooperation": "required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "none",
        "io": "none",
        "training": "none",
        "note": "Caps traffic between groups of chips; it does not read the traffic's content."
      },
      "family_finding_context": [],
      "filter_issues": []
    },
    {
      "id": "M-0012",
      "title": "Model identity attestation",
      "url": "https://trustbutveri.fyi/mechanisms/model-identity-attestation/",
      "assessment_record": {
        "id": "I-0006",
        "title": "Tinfoil model identity (Modelwrap)",
        "url": "https://trustbutveri.fyi/implementations/tinfoil-model-identity/"
      },
      "selected_implementation": {
        "id": "I-0006",
        "title": "Tinfoil model identity (Modelwrap)",
        "url": "https://trustbutveri.fyi/implementations/tinfoil-model-identity/"
      },
      "readiness": {
        "level": "R3",
        "scope": "showing clients that the served weights match a committed hash",
        "confidence": "medium",
        "evidence": [
          "S-0013",
          "S-1206",
          "S-1207",
          "S-1208",
          "S-1209",
          "S-1202",
          "S-1210",
          "S-1212"
        ]
      },
      "assessed_properties": {
        "threat_model": "semi-trusted",
        "hardware_requirement": "existing-features",
        "prover_cooperation": "required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "partial",
        "io": "unknown",
        "training": "none",
        "note": "Tinfoil describes downloaded weights for public-model verification and hash consistency for private models. This model-identity description does not specify input/output exposure.",
        "sources": [
          "S-0013"
        ]
      },
      "family_finding_context": [
        {
          "n": 1,
          "title": "Underlying attestation can be forged or relayed",
          "kind": "demonstrated-attack",
          "severity": "critical",
          "status": "open",
          "evidence_scope": "inherited",
          "scope_note": "Critical for the enclave route against an operator with physical access to affected hardware, or control of an unpatched SEV-SNP hypervisor. It does not apply to the recomputation route. PAL*M excludes physical attacks, and Tinfoil acknowledges this boundary.",
          "related_finding": {
            "record": "M-0008",
            "flaw": 1
          },
          "description": "The enclave route inherits the platform-specific TEE attestation failures. Intel TDX forgery and H100 relay were demonstrated with physical access and host control. Battering RAM defeated AMD SEV-SNP attestation on DDR4 servers; RMPocalypse did so from malicious host software on platforms without AMD's fixes. These demonstrate failures of the trust roots, not of each model-commitment protocol.",
          "response": "The TEE.fail authors report that physical interposer attacks are outside Intel's and AMD's threat models. AMD reports fixes for RMPocalypse.",
          "sources": [
            "S-1202",
            "S-1210",
            "S-1212",
            "S-1213",
            "S-1206",
            "S-0012"
          ],
          "helps": [
            {
              "by": "M-0009",
              "how": "A tamper-protected enclosure around the chip is the proposed answer when the party that holds the hardware may attack it physically."
            }
          ],
          "record": "M-0012",
          "represented_by": []
        },
        {
          "n": 2,
          "title": "Launch-state attestation does not by itself cover weights loaded later",
          "kind": "theoretical-argument",
          "severity": "significant",
          "status": "mitigated",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "Attestation measures launch state, and weights are read from disk after boot. A signature checked at load time does not stop a malicious hypervisor from altering the disk afterwards. Tinfoil reports mitigating this with dm-verity checks on every read. Unmeasured runtime configuration remains a general risk.",
          "response": null,
          "sources": [
            "S-0013",
            "S-0014"
          ],
          "record": "M-0012",
          "represented_by": []
        },
        {
          "n": 3,
          "title": "For private models, a user can confirm consistency but not content",
          "kind": "open-question",
          "severity": "significant",
          "status": "open",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "When weights are not published, users can check that the same root hash is served each time, but not what the model is. Pairing the hash with an attested evaluation, as in Attestable Audits, is one proposed remedy.",
          "response": null,
          "sources": [
            "S-0013",
            "S-0009"
          ],
          "record": "M-0012",
          "represented_by": []
        },
        {
          "n": 4,
          "title": "Recomputation depends on trusted logging and randomness, and its tolerance leaves a covert channel",
          "kind": "demonstrated-attack",
          "severity": "significant",
          "status": "open",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "The recomputation variant assumes that every input, output and seed is logged correctly, and that the attacker can neither predict nor manipulate which messages are sampled for verification. Legitimate nondeterminism concentrates at a few token positions, and slow leaks within the tolerated slack remain possible. An independent study showed that an adversary who controls the prompts roughly doubles the bits leaked per token, reducing the exfiltration slowdown from 146–254 times under benign prompts to 60–118 times. The attack targets the exfiltration bound, not the check that outputs match the declared model.",
          "response": null,
          "sources": [
            "S-0015",
            "S-1507"
          ],
          "helps": [
            {
              "by": "M-0013",
              "how": "Taps are proposed to copy and hash traffic on the monitored links, reducing reliance on the prover's own log. This still depends on the monitored boundary and trusted capture."
            },
            {
              "by": "M-0002",
              "how": "Bit-exact inference would remove the numerical tolerance that leaves this channel."
            }
          ],
          "record": "M-0012",
          "represented_by": []
        }
      ],
      "filter_issues": []
    }
  ],
  "strengths": {
    "covered": [],
    "production": [
      "M-0012"
    ],
    "adversarial": [
      "M-0014"
    ],
    "noNewHardware": [
      "M-0012"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "properties": {
    "covered": [],
    "production": [
      "M-0012"
    ],
    "adversarial": [
      "M-0014"
    ],
    "noNewHardware": [
      "M-0012"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "attack_testing": [
    {
      "id": "M-0014",
      "record": "M-0014",
      "evaluation": "analysis",
      "in_setting": true
    },
    {
      "id": "M-0012",
      "record": "I-0006",
      "evaluation": "analysis",
      "in_setting": true
    }
  ],
  "selected_implementations": {
    "M-0012": "I-0006"
  },
  "weaknesses": {
    "gaps": [],
    "excluded": [],
    "unlinked": [],
    "critical": [
      {
        "mech": "M-0012",
        "n": 1,
        "title": "Inherits attacks on the underlying TEEs",
        "kind": "demonstrated-attack",
        "severity": "critical",
        "status": "open",
        "evidence_scope": "inherited",
        "scope_note": "Critical when model identity must hold against an operator with physical access to an affected host. Tinfoil documents physical attacks as an enclave limitation. These are hardware-class demonstrations, not a published break of Modelwrap or Tinfoil's deployed verification chain.",
        "related_finding": {
          "record": "M-0008",
          "flaw": 1
        },
        "description": "Tinfoil's model commitment and boot-time GPU check depend on the CPU attestation. The TEE findings distinguish Intel TDX forgery on DDR5, AMD SEV-SNP forgery on DDR4 in Battering RAM, and software-only RMPocalypse on platforms lacking AMD's fixes. TEE.fail recovered a guest OpenSSL key on AMD, not an AMD attestation key. Its GPU relay demonstration used an H100 with forged TDX evidence; it does not establish the same result for Tinfoil's H200 or B200 configurations.",
        "response": "Tinfoil acknowledges the physical-access boundary. The TEE.fail authors report that Intel and AMD treat interposer attacks as outside their threat models and recommend physically secure servers. AMD reports firmware fixes for RMPocalypse.",
        "sources": [
          "S-1206",
          "S-1202",
          "S-1210",
          "S-1212",
          "S-1213",
          "S-1207"
        ],
        "record": "I-0006"
      }
    ],
    "significant": [
      {
        "mech": "M-0014",
        "n": 1,
        "title": "Low-communication training reduces the bandwidth training needs",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "DiLoCo matched fully synchronous training on 8 workers while communicating 500 times less. Rahman writes that this family of methods theoretically allows large-scale training with less than 100 Mbps. Lucid includes these methods in its bounds, but notes that extreme activation compression, architectures with unusually small inter-layer widths, or modular paradigms could erode the margin.",
        "response": null,
        "sources": [
          "S-1314",
          "S-0060",
          "S-1301"
        ]
      },
      {
        "mech": "M-0014",
        "n": 2,
        "title": "Operator control of pod routing collapses the bound",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Lucid's analysis finds that if the operator can freely assign pods to routers, it could dedicate a whole cell of 100 or more pods to one pipeline stage. The bound then falls to about 90–220x uncompressed and as low as about 25x with compression. The proposed mitigation, auditor-controlled random assignment that is periodically re-randomized, has not been implemented.",
        "response": null,
        "sources": [
          "S-1301"
        ]
      },
      {
        "mech": "M-0014",
        "n": 3,
        "title": "Undeclared local storage raises per-pod capacity",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "More memory or storage per pod helps an adversary. Lucid requires per-pod storage to be declared, capped and physically inspected.",
        "response": null,
        "sources": [
          "S-1301"
        ]
      },
      {
        "mech": "M-0014",
        "n": 4,
        "title": "Training within one pod is not covered",
        "kind": "open-question",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Lucid's bounds concern pre-training models larger than the pods are sized for. Training models that fit in one pod, fine-tuning and reinforcement-learning post-training within one pod are outside the modelled threat.",
        "response": null,
        "sources": [
          "S-1301"
        ]
      },
      {
        "mech": "M-0014",
        "n": 5,
        "title": "Parallel scale-up switches are hard enforcement points",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "In GB200 topologies, GPUs reach GPUs in other nodes through NVSwitches without a NIC on the path. Amodo notes that limits are hard to enforce there because many switches work in parallel, so compromising one or two would bypass the limit.",
        "response": null,
        "sources": [
          "S-1313"
        ]
      },
      {
        "mech": "M-0012",
        "n": 2,
        "title": "Side channels, I/O leakage and denial of service are outside enclave protection",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Tinfoil's documentation lists timing, power and electromagnetic side channels, host observation of access patterns and I/O, denial of service, supply-chain compromise and rollback as limitations.",
        "response": null,
        "sources": [
          "S-1206"
        ],
        "record": "I-0006"
      },
      {
        "mech": "M-0012",
        "n": 3,
        "title": "Private models can be checked only for consistency",
        "kind": "open-question",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "For unpublished weights, the root hash appears in the attestation without the weights being exposed. Users can then confirm only that they get the same model each time.",
        "response": null,
        "sources": [
          "S-0013"
        ],
        "record": "I-0006"
      }
    ],
    "criticalMechanisms": [
      "M-0012"
    ],
    "significantMechanisms": [
      "M-0014",
      "M-0012"
    ],
    "familyContext": [
      {
        "id": "M-0012",
        "implementation": "I-0006",
        "flaws": [
          {
            "n": 1,
            "title": "Underlying attestation can be forged or relayed",
            "kind": "demonstrated-attack",
            "severity": "critical",
            "status": "open",
            "evidence_scope": "inherited",
            "scope_note": "Critical for the enclave route against an operator with physical access to affected hardware, or control of an unpatched SEV-SNP hypervisor. It does not apply to the recomputation route. PAL*M excludes physical attacks, and Tinfoil acknowledges this boundary.",
            "related_finding": {
              "record": "M-0008",
              "flaw": 1
            },
            "description": "The enclave route inherits the platform-specific TEE attestation failures. Intel TDX forgery and H100 relay were demonstrated with physical access and host control. Battering RAM defeated AMD SEV-SNP attestation on DDR4 servers; RMPocalypse did so from malicious host software on platforms without AMD's fixes. These demonstrate failures of the trust roots, not of each model-commitment protocol.",
            "response": "The TEE.fail authors report that physical interposer attacks are outside Intel's and AMD's threat models. AMD reports fixes for RMPocalypse.",
            "sources": [
              "S-1202",
              "S-1210",
              "S-1212",
              "S-1213",
              "S-1206",
              "S-0012"
            ],
            "helps": [
              {
                "by": "M-0009",
                "how": "A tamper-protected enclosure around the chip is the proposed answer when the party that holds the hardware may attack it physically."
              }
            ],
            "record": "M-0012",
            "represented_by": []
          },
          {
            "n": 2,
            "title": "Launch-state attestation does not by itself cover weights loaded later",
            "kind": "theoretical-argument",
            "severity": "significant",
            "status": "mitigated",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "Attestation measures launch state, and weights are read from disk after boot. A signature checked at load time does not stop a malicious hypervisor from altering the disk afterwards. Tinfoil reports mitigating this with dm-verity checks on every read. Unmeasured runtime configuration remains a general risk.",
            "response": null,
            "sources": [
              "S-0013",
              "S-0014"
            ],
            "record": "M-0012",
            "represented_by": []
          },
          {
            "n": 3,
            "title": "For private models, a user can confirm consistency but not content",
            "kind": "open-question",
            "severity": "significant",
            "status": "open",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "When weights are not published, users can check that the same root hash is served each time, but not what the model is. Pairing the hash with an attested evaluation, as in Attestable Audits, is one proposed remedy.",
            "response": null,
            "sources": [
              "S-0013",
              "S-0009"
            ],
            "record": "M-0012",
            "represented_by": []
          },
          {
            "n": 4,
            "title": "Recomputation depends on trusted logging and randomness, and its tolerance leaves a covert channel",
            "kind": "demonstrated-attack",
            "severity": "significant",
            "status": "open",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "The recomputation variant assumes that every input, output and seed is logged correctly, and that the attacker can neither predict nor manipulate which messages are sampled for verification. Legitimate nondeterminism concentrates at a few token positions, and slow leaks within the tolerated slack remain possible. An independent study showed that an adversary who controls the prompts roughly doubles the bits leaked per token, reducing the exfiltration slowdown from 146–254 times under benign prompts to 60–118 times. The attack targets the exfiltration bound, not the check that outputs match the declared model.",
            "response": null,
            "sources": [
              "S-0015",
              "S-1507"
            ],
            "helps": [
              {
                "by": "M-0013",
                "how": "Taps are proposed to copy and hash traffic on the monitored links, reducing reliance on the prover's own log. This still depends on the monitored boundary and trusted capture."
              },
              {
                "by": "M-0002",
                "how": "Bit-exact inference would remove the numerical tolerance that leaves this channel."
              }
            ],
            "record": "M-0012",
            "represented_by": []
          }
        ]
      }
    ],
    "minor": 0,
    "minorFindings": [],
    "minorBy": [],
    "notDemonstrated": [],
    "newChip": []
  },
  "findings": [
    {
      "mech": "M-0014",
      "record": "M-0014",
      "n": 1,
      "title": "Low-communication training reduces the bandwidth training needs",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "DiLoCo matched fully synchronous training on 8 workers while communicating 500 times less. Rahman writes that this family of methods theoretically allows large-scale training with less than 100 Mbps. Lucid includes these methods in its bounds, but notes that extreme activation compression, architectures with unusually small inter-layer widths, or modular paradigms could erode the margin.",
      "response": null,
      "sources": [
        "S-1314",
        "S-0060",
        "S-1301"
      ]
    },
    {
      "mech": "M-0014",
      "record": "M-0014",
      "n": 2,
      "title": "Operator control of pod routing collapses the bound",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Lucid's analysis finds that if the operator can freely assign pods to routers, it could dedicate a whole cell of 100 or more pods to one pipeline stage. The bound then falls to about 90–220x uncompressed and as low as about 25x with compression. The proposed mitigation, auditor-controlled random assignment that is periodically re-randomized, has not been implemented.",
      "response": null,
      "sources": [
        "S-1301"
      ]
    },
    {
      "mech": "M-0014",
      "record": "M-0014",
      "n": 3,
      "title": "Undeclared local storage raises per-pod capacity",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "More memory or storage per pod helps an adversary. Lucid requires per-pod storage to be declared, capped and physically inspected.",
      "response": null,
      "sources": [
        "S-1301"
      ]
    },
    {
      "mech": "M-0014",
      "record": "M-0014",
      "n": 4,
      "title": "Training within one pod is not covered",
      "kind": "open-question",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Lucid's bounds concern pre-training models larger than the pods are sized for. Training models that fit in one pod, fine-tuning and reinforcement-learning post-training within one pod are outside the modelled threat.",
      "response": null,
      "sources": [
        "S-1301"
      ]
    },
    {
      "mech": "M-0014",
      "record": "M-0014",
      "n": 5,
      "title": "Parallel scale-up switches are hard enforcement points",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "In GB200 topologies, GPUs reach GPUs in other nodes through NVSwitches without a NIC on the path. Amodo notes that limits are hard to enforce there because many switches work in parallel, so compromising one or two would bypass the limit.",
      "response": null,
      "sources": [
        "S-1313"
      ]
    },
    {
      "mech": "M-0012",
      "record": "I-0006",
      "n": 1,
      "title": "Inherits attacks on the underlying TEEs",
      "kind": "demonstrated-attack",
      "severity": "critical",
      "status": "open",
      "evidence_scope": "inherited",
      "scope_note": "Critical when model identity must hold against an operator with physical access to an affected host. Tinfoil documents physical attacks as an enclave limitation. These are hardware-class demonstrations, not a published break of Modelwrap or Tinfoil's deployed verification chain.",
      "related_finding": {
        "record": "M-0008",
        "flaw": 1
      },
      "description": "Tinfoil's model commitment and boot-time GPU check depend on the CPU attestation. The TEE findings distinguish Intel TDX forgery on DDR5, AMD SEV-SNP forgery on DDR4 in Battering RAM, and software-only RMPocalypse on platforms lacking AMD's fixes. TEE.fail recovered a guest OpenSSL key on AMD, not an AMD attestation key. Its GPU relay demonstration used an H100 with forged TDX evidence; it does not establish the same result for Tinfoil's H200 or B200 configurations.",
      "response": "Tinfoil acknowledges the physical-access boundary. The TEE.fail authors report that Intel and AMD treat interposer attacks as outside their threat models and recommend physically secure servers. AMD reports firmware fixes for RMPocalypse.",
      "sources": [
        "S-1206",
        "S-1202",
        "S-1210",
        "S-1212",
        "S-1213",
        "S-1207"
      ]
    },
    {
      "mech": "M-0012",
      "record": "I-0006",
      "n": 2,
      "title": "Side channels, I/O leakage and denial of service are outside enclave protection",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Tinfoil's documentation lists timing, power and electromagnetic side channels, host observation of access patterns and I/O, denial of service, supply-chain compromise and rollback as limitations.",
      "response": null,
      "sources": [
        "S-1206"
      ]
    },
    {
      "mech": "M-0012",
      "record": "I-0006",
      "n": 3,
      "title": "Private models can be checked only for consistency",
      "kind": "open-question",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "For unpublished weights, the root hash appears in the attestation without the weights being exposed. Users can then confirm only that they get the same model each time.",
      "response": null,
      "sources": [
        "S-0013"
      ]
    }
  ],
  "possible_additions": [
    {
      "id": "M-0008",
      "title": "TEE remote attestation for AI workloads",
      "url": "https://trustbutveri.fyi/mechanisms/tee-remote-attestation/",
      "readiness": "R3",
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "blocker",
          "mech": "M-0012",
          "text": "The underlying TEE attestation does not resist attackers with physical access to the host."
        }
      ]
    },
    {
      "id": "M-0017",
      "title": "Tamper evidence for verifier devices",
      "url": "https://trustbutveri.fyi/mechanisms/tamper-evidence-for-verifier-devices/",
      "readiness": "R2",
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "blocker",
          "mech": "M-0014",
          "text": "Shaping devices and routing assignments must be trusted by both parties; Amodo has not yet fully analysed resilience to a compromised DPU."
        }
      ]
    },
    {
      "id": "M-0013",
      "title": "Network taps and certifiers",
      "url": "https://trustbutveri.fyi/mechanisms/network-taps-and-certifiers/",
      "readiness": "R1",
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "blocker",
          "mech": "M-0014",
          "text": "The verifier must know that all traffic leaving a pod crosses the capped, monitored links."
        }
      ]
    }
  ],
  "goal": null,
  "design": null,
  "dependencies": {
    "prerequisites": [
      {
        "id": "M-0017",
        "neededBy": [
          "M-0014"
        ]
      },
      {
        "id": "M-0008",
        "neededBy": [
          "M-0012"
        ]
      }
    ],
    "shared": [],
    "blockers": [
      {
        "mech": "M-0014",
        "n": 1,
        "text": "No cap that a verifier can check has been implemented or red-teamed.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [
          "S-1301"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0014",
        "n": 2,
        "text": "The verifier must know that all traffic leaving a pod crosses the capped, monitored links.",
        "theme": "coverage-hidden-compute",
        "blocked_by": "M-0013",
        "sources": [
          "S-0018"
        ],
        "inProposal": false
      },
      {
        "mech": "M-0014",
        "n": 3,
        "text": "Shaping devices and routing assignments must be trusted by both parties; Amodo has not yet fully analysed resilience to a compromised DPU.",
        "theme": "hardware-trust",
        "blocked_by": "M-0017",
        "sources": [
          "S-1301",
          "S-1313"
        ],
        "inProposal": false
      },
      {
        "mech": "M-0014",
        "n": 4,
        "text": "Advances in low-communication training could shrink the margin that the cap enforces.",
        "theme": "capacity-bounds",
        "blocked_by": null,
        "sources": [
          "S-1314",
          "S-0060",
          "S-1301"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0012",
        "n": 1,
        "text": "The underlying TEE attestation does not resist attackers with physical access to the host.",
        "theme": "hardware-trust",
        "blocked_by": "M-0008",
        "sources": [
          "S-1202",
          "S-1206"
        ],
        "inProposal": false
      },
      {
        "mech": "M-0012",
        "n": 2,
        "text": "No independent evaluation of the model-identity chain has been published.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [],
        "inProposal": null
      }
    ]
  },
  "exposure": {
    "weights": {
      "shown": [],
      "partial": [
        "M-0012"
      ],
      "hidden": [],
      "none": [
        "M-0014"
      ],
      "unknown": []
    },
    "io": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0014"
      ],
      "unknown": [
        "M-0012"
      ]
    },
    "training": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0014",
        "M-0012"
      ],
      "unknown": []
    }
  },
  "implementations": [
    {
      "mechanism": "M-0014",
      "selected": null,
      "implementations": [
        {
          "id": "I-0011",
          "title": "AI 2040 inference-only verification stack",
          "url": "https://trustbutveri.fyi/implementations/ai-2040-inference-only-verification-plan/"
        },
        {
          "id": "I-0010",
          "title": "RAND secure inference data center (SIDC) design",
          "url": "https://trustbutveri.fyi/implementations/rand-secure-inference-data-centers/"
        }
      ]
    },
    {
      "mechanism": "M-0012",
      "selected": {
        "id": "I-0006",
        "title": "Tinfoil model identity (Modelwrap)",
        "url": "https://trustbutveri.fyi/implementations/tinfoil-model-identity/"
      },
      "implementations": [
        {
          "id": "I-0007",
          "title": "Attestable Audits",
          "url": "https://trustbutveri.fyi/implementations/attestable-audits/"
        },
        {
          "id": "I-0022",
          "title": "PAL*M",
          "url": "https://trustbutveri.fyi/implementations/palm/"
        },
        {
          "id": "I-0006",
          "title": "Tinfoil model identity (Modelwrap)",
          "url": "https://trustbutveri.fyi/implementations/tinfoil-model-identity/"
        }
      ]
    }
  ],
  "sources": [
    {
      "id": "S-0067",
      "title": "Verification Plan",
      "authors": "R. Dean",
      "year": 2026,
      "url": "https://ai-2040.com/supplements/verification-plan",
      "path": "/sources/dean-verification-plan/"
    },
    {
      "id": "S-1301",
      "title": "Traffic Shaping for Workload Classification",
      "authors": "Lucid Computing",
      "year": 2026,
      "url": "https://lucidcomputing.substack.com/p/traffic-shaping-for-workload-classification",
      "path": "/sources/lucid-traffic-shaping-workload-classification/"
    },
    {
      "id": "S-0018",
      "title": "A System Overview for Near-Term, Low-Trust AI Compute Verification",
      "authors": "N. Cankaya",
      "year": 2026,
      "url": "https://intelligence.org/wp-content/uploads/2026/06/A-system-overview-for-near-term-low-trust-AI-compute-verification.pdf",
      "path": "/sources/cankaya-system-overview-low-trust-compute-verification/"
    },
    {
      "id": "S-3220",
      "title": "De-risking Interconnect Limits for AI Verification",
      "authors": "A. Scher et al.",
      "year": 2026,
      "url": "https://techgov.intelligence.org/blog/de-risking-interconnect-limits-for-ai-verification",
      "path": "/sources/scher-derisking-interconnect-limits/"
    },
    {
      "id": "S-1313",
      "title": "The Tray as a Bandwidth Boundary",
      "authors": "Amodo Design",
      "year": 2026,
      "url": "https://amododesign.com/notes/2026-03-16-dpu-bandwidth-limiter/",
      "path": "/sources/amodo-tray-bandwidth-boundary/"
    },
    {
      "id": "S-1314",
      "title": "DiLoCo: Distributed Low-Communication Training of Language Models",
      "authors": "A. Douillard et al.",
      "year": 2024,
      "url": "https://arxiv.org/abs/2311.08105",
      "path": "/sources/douillard-diloco/"
    },
    {
      "id": "S-0060",
      "title": "Does Distributed Training Undermine Compute Governance?",
      "authors": "R. Rahman",
      "year": 2026,
      "url": "https://arxiv.org/abs/2605.29359",
      "path": "/sources/rahman-distributed-training-compute-governance/"
    },
    {
      "id": "S-0013",
      "title": "How Tinfoil Proves Exactly What Model Is Running",
      "authors": "Tinfoil Team",
      "year": 2026,
      "url": "https://tinfoil.sh/blog/2026-02-03-proving-model-identity",
      "path": "/sources/tinfoil-proving-model-identity/"
    },
    {
      "id": "S-1206",
      "title": "A primer on secure enclaves",
      "authors": "Tinfoil",
      "year": 2026,
      "url": "https://docs.tinfoil.sh/verification/secure-enclave-primer",
      "path": "/sources/tinfoil-docs-secure-enclave-primer/"
    },
    {
      "id": "S-1207",
      "title": "Backend infrastructure",
      "authors": "Tinfoil",
      "year": 2026,
      "url": "https://docs.tinfoil.sh/verification/attestation-architecture",
      "path": "/sources/tinfoil-docs-attestation-architecture/"
    },
    {
      "id": "S-1208",
      "title": "How verification works in Tinfoil",
      "authors": "Tinfoil",
      "year": 2026,
      "url": "https://docs.tinfoil.sh/verification/verification-in-tinfoil",
      "path": "/sources/tinfoil-docs-verification-in-tinfoil/"
    },
    {
      "id": "S-1209",
      "title": "modelwrap: Reproducible dm-verity read-only image of Huggingface models",
      "authors": "Tinfoil",
      "year": 2026,
      "url": "https://github.com/tinfoilsh/modelwrap",
      "path": "/sources/tinfoil-modelwrap-code/"
    },
    {
      "id": "S-1202",
      "title": "TEE.fail: Breaking Trusted Execution Environments via DDR5 Memory Bus Interposition",
      "authors": "J. Chuang et al.",
      "year": 2026,
      "url": "https://tee.fail/",
      "path": "/sources/chuang-tee-fail/"
    },
    {
      "id": "S-1210",
      "title": "Battering RAM: Low-Cost Interposer Attacks on Confidential Computing via Dynamic Memory Aliasing",
      "authors": "J. De Meulemeester et al.",
      "year": 2026,
      "url": "https://batteringram.eu/",
      "path": "/sources/de-meulemeester-battering-ram/"
    },
    {
      "id": "S-1212",
      "title": "RMPocalypse: How a Catch-22 Breaks AMD SEV-SNP",
      "authors": "B. Schlüter & S. Shinde",
      "year": 2025,
      "url": "https://rmpocalypse.github.io/",
      "path": "/sources/schluter-rmpocalypse/"
    },
    {
      "id": "S-1213",
      "title": "SEV-SNP RMP Initialization Vulnerability (AMD-SB-3020)",
      "authors": "AMD",
      "year": 2025,
      "url": "https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3020.html",
      "path": "/sources/amd-sb-3020-rmp-initialization/"
    },
    {
      "id": "S-0012",
      "title": "PAL*M: Property Attestation for Large Generative Models",
      "authors": "P. Chantasantitam et al.",
      "year": 2026,
      "url": "https://arxiv.org/abs/2601.16199",
      "path": "/sources/chantasantitam-palm/"
    },
    {
      "id": "S-0014",
      "title": "On TEEs for Privacy-Preserving Monitoring in AI Governance",
      "authors": "Gloria Z",
      "year": 2026,
      "url": "https://techgov.intelligence.org/blog/on-tees-for-privacy-preserving-monitoring-in-ai-governance",
      "path": "/sources/zhao-tees-privacy-preserving-monitoring/"
    },
    {
      "id": "S-0009",
      "title": "Attestable Audits: Verifiable AI Safety Benchmarks Using Trusted Execution Environments",
      "authors": "C. Schnabl et al.",
      "year": 2025,
      "url": "https://arxiv.org/abs/2506.23706",
      "path": "/sources/schnabl-attestable-audits/"
    },
    {
      "id": "S-0015",
      "title": "Verifying LLM Inference to Detect Model Weight Exfiltration",
      "authors": "R. Rinberg et al.",
      "year": 2025,
      "url": "https://arxiv.org/abs/2511.02620",
      "path": "/sources/rinberg-verifying-llm-inference-weight-exfiltration/"
    },
    {
      "id": "S-1507",
      "title": "Adversarial Entropy Inflation Against Gumbel-Based Inference Verification",
      "authors": "N. Kezins",
      "year": 2026,
      "url": "https://arxiv.org/abs/2608.23375",
      "path": "/sources/kezins-adversarial-entropy-inflation/"
    }
  ]
}