{
  "schema_version": "1.3",
  "url": "https://trustbutveri.fyi/explorer/?mechanisms=M-0016,M-0010&implementations=M-0016:I-0020",
  "data_generated": "2026-10-09",
  "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 development status",
        "question": "Development status",
        "options": [
          {
            "value": "R1",
            "label": "Proposed"
          },
          {
            "value": "R2",
            "label": "Research demonstration"
          },
          {
            "value": "R3",
            "label": "Operational use"
          },
          {
            "value": "R4",
            "label": "Legacy independent-evaluation filter",
            "legacy": true
          }
        ],
        "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_classification": {
      "failure": {
        "label": "Known failures",
        "singular": "Known failure",
        "anchor": "known-flaws"
      },
      "scope-limitation": {
        "label": "Scope limitations",
        "singular": "Scope limitation",
        "anchor": "scope-limitations"
      },
      "open-question": {
        "label": "Open questions",
        "singular": "Open question",
        "anchor": "open-questions"
      }
    },
    "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 failures on the assessed records; open_critical_context names conditional family failures 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-0016",
      "title": "Timed challenge-response and memory-occupation challenges",
      "url": "https://trustbutveri.fyi/mechanisms/timed-challenge-response/",
      "assessment_record": {
        "id": "I-0020",
        "title": "Data-centre memory challenging",
        "url": "https://trustbutveri.fyi/implementations/data-centre-memory-challenging/"
      },
      "finding_counts": {
        "failure": 1,
        "scope_limitation": 1,
        "open_question": 0,
        "open_failures": {
          "critical": 0,
          "significant": 1,
          "minor": 0
        }
      },
      "selected_implementation": {
        "id": "I-0020",
        "title": "Data-centre memory challenging",
        "url": "https://trustbutveri.fyi/implementations/data-centre-memory-challenging/"
      },
      "readiness": {
        "level": "R1",
        "scope": "confirming data presence and bounding free memory across data-centre servers",
        "confidence": "medium",
        "evidence": [
          "S-0018"
        ]
      },
      "development_status": {
        "code": "R1",
        "label": "Proposed",
        "short": "Proposed",
        "rank": 1,
        "legacy_code": "R1"
      },
      "security_evidence": {
        "attack_testing": {
          "status": "analysis",
          "label": "Published security analysis",
          "kind": "analysis"
        },
        "independent_evaluation": {
          "status": "unassessed"
        },
        "formal_proof": {
          "status": "unassessed"
        },
        "deployment_assurance": {
          "status": "unassessed"
        },
        "legacy_evaluation_code": null,
        "scoped_findings": [
          {
            "n": 1,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-0018"
            ]
          }
        ],
        "open_failures": {
          "critical": 0,
          "significant": 1,
          "minor": 0
        }
      },
      "assessed_properties": {
        "threat_model": "adversarial",
        "hardware_requirement": "retrofit-device",
        "prover_cooperation": "required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "unknown",
        "io": "unknown",
        "training": "unknown",
        "note": "This Explorer has no asset-specific exposure assessment for this implementation. Check its source and deployment assumptions.",
        "sources": []
      },
      "family_finding_context": [
        {
          "n": 1,
          "historical": false,
          "title": "Timing-based software attestation has been broken in practice",
          "classification": "failure",
          "kind": "demonstrated-attack",
          "severity": "significant",
          "status": "disputed",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "Castelluccia et al. implemented two generic attacks, one based on a return-oriented rootkit and one on code compression, together with specific attacks on SWATT and ICE-based schemes, on commodity sensor nodes. They conclude that secure time-based attestation is \"very difficult, if not impossible, to design correctly\". The attacks target embedded schemes, not AI accelerators.",
          "response": "Perrig and van Doorn, two of the designers of SWATT and ICE, replied in August 2010. They argue that the rootkit attack defeats a naive implementation, not a property the schemes claim, and that the SWATT attack was run on a re-implementation on a chip with eight times the program memory, where SWATT's own chip is almost always full of code. They accept that the attack on ICE works.",
          "sources": [
            "S-1308",
            "S-0074"
          ],
          "record": "M-0016",
          "represented_by": []
        },
        {
          "n": 2,
          "historical": false,
          "title": "Remote memory narrows the timing margin",
          "classification": "failure",
          "kind": "theoretical-argument",
          "severity": "significant",
          "status": "open",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "Data-centre remote memory access returns in about 1–2 µs, against about 70–200 ns for local DRAM. The MIRI overview says verification of memory saturation depends on ruling out remote access by latency or physical disconnection. It names pre-staging data into local memory as the remaining evasion and proposes an unpredictable, capacity-filling challenge to close it.",
          "response": null,
          "sources": [
            "S-0018"
          ],
          "helps": [
            {
              "by": "M-0014",
              "how": "Physical disconnection is proposed to exclude remote memory between the separated groups during a challenge. It depends on the isolation boundary being enforced."
            }
          ],
          "record": "M-0016",
          "represented_by": []
        },
        {
          "n": 3,
          "historical": false,
          "title": "Error rates not quantified",
          "classification": "open-question",
          "kind": "open-question",
          "severity": "minor",
          "status": "open",
          "evidence_scope": null,
          "scope_note": null,
          "related_finding": null,
          "description": "Monfared et al. show separable timing distributions. Their acceptance rule passes a GPU when its mean time per round stays at or below a chosen maximum, and an appendix outlines statistical tests for the proof-of-work puzzle. They leave hardware-specific threshold values to future work and report no false-positive or false-negative rates.",
          "response": null,
          "sources": [
            "S-0033"
          ],
          "record": "M-0016",
          "represented_by": []
        }
      ],
      "filter_issues": []
    },
    {
      "id": "M-0010",
      "title": "On-chip telemetry from timing, memory and performance counters",
      "url": "https://trustbutveri.fyi/mechanisms/on-chip-telemetry/",
      "assessment_record": {
        "id": "M-0010",
        "title": "On-chip telemetry from timing, memory and performance counters",
        "url": "https://trustbutveri.fyi/mechanisms/on-chip-telemetry/"
      },
      "finding_counts": {
        "failure": 2,
        "scope_limitation": 2,
        "open_question": 1,
        "open_failures": {
          "critical": 0,
          "significant": 2,
          "minor": 0
        }
      },
      "selected_implementation": null,
      "readiness": {
        "level": "R2",
        "scope": "workload evidence from GPU counters and timing, assuming authentic measurements",
        "confidence": "medium",
        "evidence": [
          "S-0033",
          "S-0034",
          "S-0037"
        ]
      },
      "development_status": {
        "code": "R2",
        "label": "Research demonstration",
        "short": "Research demo",
        "rank": 2,
        "legacy_code": "R2"
      },
      "security_evidence": {
        "attack_testing": {
          "status": "red-teamed",
          "label": "Published attack testing",
          "kind": "practical",
          "attribution": "Developers or collaborators"
        },
        "independent_evaluation": {
          "status": "unassessed"
        },
        "formal_proof": {
          "status": "unassessed"
        },
        "deployment_assurance": {
          "status": "unassessed"
        },
        "legacy_evaluation_code": null,
        "scoped_findings": [
          {
            "n": 2,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-0037"
            ]
          },
          {
            "n": 4,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-0014",
              "S-1200"
            ]
          }
        ],
        "open_failures": {
          "critical": 0,
          "significant": 2,
          "minor": 0
        }
      },
      "assessed_properties": {
        "threat_model": "semi-trusted",
        "hardware_requirement": "existing-features",
        "prover_cooperation": "partial",
        "adversarial_evaluation": "red-teamed"
      },
      "claims": [],
      "exposure": {
        "weights": "partial",
        "io": "partial",
        "training": "partial",
        "note": "Counters do not read weights or data, but richer counters can leak secrets through side channels."
      },
      "family_finding_context": [],
      "filter_issues": []
    }
  ],
  "strengths": {
    "covered": [],
    "production": [],
    "operationalUse": [],
    "adversarial": [
      "M-0016"
    ],
    "noNewHardware": [
      "M-0010"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "properties": {
    "covered": [],
    "production": [],
    "operationalUse": [],
    "adversarial": [
      "M-0016"
    ],
    "noNewHardware": [
      "M-0010"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "attack_testing": [
    {
      "id": "M-0016",
      "record": "I-0020",
      "evaluation": "analysis",
      "in_setting": true
    },
    {
      "id": "M-0010",
      "record": "M-0010",
      "evaluation": "red-teamed",
      "in_setting": true
    }
  ],
  "selected_implementations": {
    "M-0016": "I-0020"
  },
  "weaknesses": {
    "gaps": [],
    "excluded": [],
    "unlinked": [],
    "critical": [],
    "significant": [
      {
        "mech": "M-0016",
        "n": 1,
        "historical": false,
        "title": "Remote memory narrows the timing margin",
        "classification": "failure",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "A remote memory access round trip takes about 1–2 µs over InfiniBand or RoCE, against about 70–200 ns for a local DRAM read. The overview says verification of memory saturation depends on ruling out remote access, by response latency or by physical disconnection.",
        "response": null,
        "sources": [
          "S-0018"
        ],
        "record": "I-0020"
      },
      {
        "mech": "M-0010",
        "n": 2,
        "historical": false,
        "title": "Adversarially disguised fine-tuning partly evades classification",
        "classification": "failure",
        "kind": "demonstrated-attack",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Across 20 evasion strategy families in five monitor-evader rounds, the classifier's accuracy against the most challenging disguised workloads held out from training was 43–87%. White-box LoRA fine-tuning was the only evasion family detected less than half the time. The evaluation covered single nodes, PyTorch-level evasion and NVIDIA hardware.",
        "response": null,
        "sources": [
          "S-0037"
        ]
      },
      {
        "mech": "M-0010",
        "n": 4,
        "historical": false,
        "title": "Counters leak information about protected workloads",
        "classification": "failure",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Performance counters have been used as a side channel against TEEs, for example in CounterSEVeillance. NVIDIA disables performance counters in full confidential-computing mode, stating that they could provide an avenue for side-channel attacks. Richer counters for verification therefore pull against confidentiality.",
        "response": null,
        "sources": [
          "S-0014",
          "S-1200"
        ]
      }
    ],
    "criticalMechanisms": [],
    "significantMechanisms": [
      "M-0016",
      "M-0010"
    ],
    "familyContext": [
      {
        "id": "M-0016",
        "implementation": "I-0020",
        "flaws": [
          {
            "n": 1,
            "historical": false,
            "title": "Timing-based software attestation has been broken in practice",
            "classification": "failure",
            "kind": "demonstrated-attack",
            "severity": "significant",
            "status": "disputed",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "Castelluccia et al. implemented two generic attacks, one based on a return-oriented rootkit and one on code compression, together with specific attacks on SWATT and ICE-based schemes, on commodity sensor nodes. They conclude that secure time-based attestation is \"very difficult, if not impossible, to design correctly\". The attacks target embedded schemes, not AI accelerators.",
            "response": "Perrig and van Doorn, two of the designers of SWATT and ICE, replied in August 2010. They argue that the rootkit attack defeats a naive implementation, not a property the schemes claim, and that the SWATT attack was run on a re-implementation on a chip with eight times the program memory, where SWATT's own chip is almost always full of code. They accept that the attack on ICE works.",
            "sources": [
              "S-1308",
              "S-0074"
            ],
            "record": "M-0016",
            "represented_by": []
          },
          {
            "n": 2,
            "historical": false,
            "title": "Remote memory narrows the timing margin",
            "classification": "failure",
            "kind": "theoretical-argument",
            "severity": "significant",
            "status": "open",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "Data-centre remote memory access returns in about 1–2 µs, against about 70–200 ns for local DRAM. The MIRI overview says verification of memory saturation depends on ruling out remote access by latency or physical disconnection. It names pre-staging data into local memory as the remaining evasion and proposes an unpredictable, capacity-filling challenge to close it.",
            "response": null,
            "sources": [
              "S-0018"
            ],
            "helps": [
              {
                "by": "M-0014",
                "how": "Physical disconnection is proposed to exclude remote memory between the separated groups during a challenge. It depends on the isolation boundary being enforced."
              }
            ],
            "record": "M-0016",
            "represented_by": []
          },
          {
            "n": 3,
            "historical": false,
            "title": "Error rates not quantified",
            "classification": "open-question",
            "kind": "open-question",
            "severity": "minor",
            "status": "open",
            "evidence_scope": null,
            "scope_note": null,
            "related_finding": null,
            "description": "Monfared et al. show separable timing distributions. Their acceptance rule passes a GPU when its mean time per round stays at or below a chosen maximum, and an appendix outlines statistical tests for the proof-of-work puzzle. They leave hardware-specific threshold values to future work and report no false-positive or false-negative rates.",
            "response": null,
            "sources": [
              "S-0033"
            ],
            "record": "M-0016",
            "represented_by": []
          }
        ]
      }
    ],
    "scopeLimitations": [
      {
        "mech": "M-0016",
        "n": 2,
        "historical": false,
        "title": "Presence does not show absence",
        "classification": "scope-limitation",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "A check that data is present does not show that nothing else is stored. The overview names pre-staging data into local memory before a challenge as the remaining evasion, and proposes an unpredictable, capacity-filling challenge to close it.",
        "response": null,
        "sources": [
          "S-0018"
        ],
        "record": "I-0020"
      },
      {
        "mech": "M-0010",
        "n": 1,
        "historical": false,
        "title": "Software-read telemetry can be forged by the operator",
        "classification": "scope-limitation",
        "kind": "theoretical-argument",
        "severity": "critical",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "NVML-based classification assumes trustworthy telemetry. Without a tamper-resistant read path, an authenticated telemetry channel and secure boot of the monitoring software, an operator who controls the full software stack could forge counter values. Monfared et al. start from the same premise: current GPUs expose little trusted telemetry and can be modified or virtualized.",
        "response": null,
        "sources": [
          "S-0037",
          "S-0033"
        ],
        "helps": [
          {
            "by": "M-0009",
            "how": "A guarantee processor on the chip would give the tamper-resistant, authenticated telemetry path the flaw says is missing."
          }
        ]
      },
      {
        "mech": "M-0010",
        "n": 3,
        "historical": false,
        "title": "Timing challenges do not identify the individual chip",
        "classification": "scope-limitation",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "GEMM and VDF challenges can be answered by identical GPUs elsewhere, and floating-point fingerprints distinguish GPU models, not individual devices. GPU virtualization adds timing leakage that prevents attributing compute use.",
        "response": null,
        "sources": [
          "S-0033"
        ]
      }
    ],
    "openQuestions": [
      {
        "mech": "M-0010",
        "n": 5,
        "historical": false,
        "title": "No quantified error rates or formal thresholds for timing primitives",
        "classification": "open-question",
        "kind": "open-question",
        "severity": "minor",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Monfared et al. state that false-positive and false-negative rates are not quantified and leave hardware-specific formal thresholds to future work.",
        "response": null,
        "sources": [
          "S-0033"
        ]
      }
    ],
    "minor": 0,
    "minorFindings": [],
    "minorBy": [],
    "notDemonstrated": [
      "M-0016"
    ],
    "newChip": []
  },
  "findings": [
    {
      "mech": "M-0016",
      "record": "I-0020",
      "n": 1,
      "historical": false,
      "title": "Remote memory narrows the timing margin",
      "classification": "failure",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "A remote memory access round trip takes about 1–2 µs over InfiniBand or RoCE, against about 70–200 ns for a local DRAM read. The overview says verification of memory saturation depends on ruling out remote access, by response latency or by physical disconnection.",
      "response": null,
      "sources": [
        "S-0018"
      ]
    },
    {
      "mech": "M-0016",
      "record": "I-0020",
      "n": 2,
      "historical": false,
      "title": "Presence does not show absence",
      "classification": "scope-limitation",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "A check that data is present does not show that nothing else is stored. The overview names pre-staging data into local memory before a challenge as the remaining evasion, and proposes an unpredictable, capacity-filling challenge to close it.",
      "response": null,
      "sources": [
        "S-0018"
      ]
    },
    {
      "mech": "M-0010",
      "record": "M-0010",
      "n": 1,
      "historical": false,
      "title": "Software-read telemetry can be forged by the operator",
      "classification": "scope-limitation",
      "kind": "theoretical-argument",
      "severity": "critical",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "NVML-based classification assumes trustworthy telemetry. Without a tamper-resistant read path, an authenticated telemetry channel and secure boot of the monitoring software, an operator who controls the full software stack could forge counter values. Monfared et al. start from the same premise: current GPUs expose little trusted telemetry and can be modified or virtualized.",
      "response": null,
      "sources": [
        "S-0037",
        "S-0033"
      ],
      "helps": [
        {
          "by": "M-0009",
          "how": "A guarantee processor on the chip would give the tamper-resistant, authenticated telemetry path the flaw says is missing."
        }
      ]
    },
    {
      "mech": "M-0010",
      "record": "M-0010",
      "n": 2,
      "historical": false,
      "title": "Adversarially disguised fine-tuning partly evades classification",
      "classification": "failure",
      "kind": "demonstrated-attack",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Across 20 evasion strategy families in five monitor-evader rounds, the classifier's accuracy against the most challenging disguised workloads held out from training was 43–87%. White-box LoRA fine-tuning was the only evasion family detected less than half the time. The evaluation covered single nodes, PyTorch-level evasion and NVIDIA hardware.",
      "response": null,
      "sources": [
        "S-0037"
      ]
    },
    {
      "mech": "M-0010",
      "record": "M-0010",
      "n": 3,
      "historical": false,
      "title": "Timing challenges do not identify the individual chip",
      "classification": "scope-limitation",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "GEMM and VDF challenges can be answered by identical GPUs elsewhere, and floating-point fingerprints distinguish GPU models, not individual devices. GPU virtualization adds timing leakage that prevents attributing compute use.",
      "response": null,
      "sources": [
        "S-0033"
      ]
    },
    {
      "mech": "M-0010",
      "record": "M-0010",
      "n": 4,
      "historical": false,
      "title": "Counters leak information about protected workloads",
      "classification": "failure",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Performance counters have been used as a side channel against TEEs, for example in CounterSEVeillance. NVIDIA disables performance counters in full confidential-computing mode, stating that they could provide an avenue for side-channel attacks. Richer counters for verification therefore pull against confidentiality.",
      "response": null,
      "sources": [
        "S-0014",
        "S-1200"
      ]
    },
    {
      "mech": "M-0010",
      "record": "M-0010",
      "n": 5,
      "historical": false,
      "title": "No quantified error rates or formal thresholds for timing primitives",
      "classification": "open-question",
      "kind": "open-question",
      "severity": "minor",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Monfared et al. state that false-positive and false-negative rates are not quantified and leave hardware-specific formal thresholds to future work.",
      "response": null,
      "sources": [
        "S-0033"
      ]
    }
  ],
  "possible_additions": [
    {
      "id": "M-0014",
      "title": "Bandwidth limits and compartmentalization",
      "url": "https://trustbutveri.fyi/mechanisms/bandwidth-limits-and-compartmentalization/",
      "readiness": "R2",
      "development_status": {
        "code": "R2",
        "label": "Research demonstration",
        "short": "Research demo",
        "rank": 2,
        "legacy_code": "R2"
      },
      "security_evidence": {
        "attack_testing": {
          "status": "analysis",
          "label": "Published security analysis",
          "kind": "analysis"
        },
        "independent_evaluation": {
          "status": "unassessed"
        },
        "formal_proof": {
          "status": "unassessed"
        },
        "deployment_assurance": {
          "status": "unassessed"
        },
        "legacy_evaluation_code": null,
        "scoped_findings": [
          {
            "n": 2,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-1301"
            ]
          },
          {
            "n": 5,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-1313"
            ]
          }
        ],
        "open_failures": {
          "critical": 0,
          "significant": 2,
          "minor": 0
        }
      },
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "blocker",
          "mech": "M-0016",
          "text": "Remote memory access must be excluded during challenges."
        }
      ]
    },
    {
      "id": "M-0009",
      "title": "Hardware-enabled guarantees (flexHEG) and guarantee processors",
      "url": "https://trustbutveri.fyi/mechanisms/flexheg-guarantee-processors/",
      "readiness": "R1",
      "development_status": {
        "code": "R1",
        "label": "Proposed",
        "short": "Proposed",
        "rank": 1,
        "legacy_code": "R1"
      },
      "security_evidence": {
        "attack_testing": {
          "status": "analysis",
          "label": "Published security analysis",
          "kind": "analysis"
        },
        "independent_evaluation": {
          "status": "unassessed"
        },
        "formal_proof": {
          "status": "unassessed"
        },
        "deployment_assurance": {
          "status": "unassessed"
        },
        "legacy_evaluation_code": null,
        "scoped_findings": [
          {
            "n": 1,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-1204",
              "S-0057"
            ]
          },
          {
            "n": 2,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-1204"
            ]
          },
          {
            "n": 4,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "unassessed",
            "sources": [
              "S-1204"
            ]
          }
        ],
        "open_failures": {
          "critical": 0,
          "significant": 3,
          "minor": 0
        }
      },
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "blocker",
          "mech": "M-0010",
          "text": "Shipping accelerators need a tamper-resistant, authenticated telemetry path."
        }
      ]
    },
    {
      "id": "M-0008",
      "title": "TEE remote attestation for AI workloads",
      "url": "https://trustbutveri.fyi/mechanisms/tee-remote-attestation/",
      "readiness": "R3",
      "development_status": {
        "code": "R3",
        "label": "Operational use",
        "short": "Operational use",
        "rank": 3,
        "legacy_code": "R3"
      },
      "security_evidence": {
        "attack_testing": {
          "status": "independent-red-team",
          "label": "Published attack testing",
          "kind": "practical",
          "attribution": "Independent team"
        },
        "independent_evaluation": {
          "status": "unassessed"
        },
        "formal_proof": {
          "status": "unassessed"
        },
        "deployment_assurance": {
          "status": "unassessed"
        },
        "legacy_evaluation_code": null,
        "scoped_findings": [
          {
            "n": 1,
            "severity": "critical",
            "status": "open",
            "evidence_scope": "mechanism",
            "sources": [
              "S-1202",
              "S-3126",
              "S-0012",
              "S-1206",
              "S-0014",
              "S-1210",
              "S-1212",
              "S-3127"
            ]
          },
          {
            "n": 2,
            "severity": "critical",
            "status": "open",
            "evidence_scope": "mechanism",
            "sources": [
              "S-1210",
              "S-1211"
            ]
          },
          {
            "n": 3,
            "severity": "critical",
            "status": "mitigated",
            "evidence_scope": "mechanism",
            "sources": [
              "S-1212",
              "S-1213",
              "S-3127",
              "S-3128"
            ]
          },
          {
            "n": 4,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "mechanism",
            "sources": [
              "S-1202"
            ]
          },
          {
            "n": 5,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "mechanism",
            "sources": [
              "S-0012",
              "S-0009",
              "S-0014",
              "S-3123",
              "S-3129"
            ]
          },
          {
            "n": 8,
            "severity": "significant",
            "status": "open",
            "evidence_scope": "mechanism",
            "sources": [
              "S-0014",
              "S-0009",
              "S-3130",
              "S-3131"
            ]
          }
        ],
        "open_failures": {
          "critical": 2,
          "significant": 3,
          "minor": 0
        }
      },
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "prerequisite",
          "mech": "M-0010"
        }
      ]
    }
  ],
  "goal": null,
  "design": null,
  "dependencies": {
    "prerequisites": [
      {
        "id": "M-0014",
        "neededBy": [
          "M-0016"
        ]
      },
      {
        "id": "M-0008",
        "neededBy": [
          "M-0010"
        ]
      }
    ],
    "shared": [],
    "blockers": [
      {
        "mech": "M-0016",
        "n": 1,
        "historical": false,
        "text": "No network-level probe has been shown to distinguish one server's memory contents from another's.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [
          "S-0018"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 2,
        "historical": false,
        "text": "Most of the design needs a probe in close proximity to the challenged memory.",
        "theme": "access-governance",
        "blocked_by": null,
        "sources": [
          "S-0018"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 3,
        "historical": false,
        "text": "Filling a pod's volatile memory takes tens of minutes, and on-board SSDs take hours.",
        "theme": "performance-compatibility",
        "blocked_by": null,
        "sources": [
          "S-0018"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 4,
        "historical": false,
        "text": "Remote memory access must be excluded during challenges.",
        "theme": "coverage-hidden-compute",
        "blocked_by": "M-0014",
        "sources": [
          "S-0018"
        ],
        "inProposal": false
      },
      {
        "mech": "M-0010",
        "n": 1,
        "historical": false,
        "text": "Shipping accelerators need a tamper-resistant, authenticated telemetry path.",
        "theme": "hardware-trust",
        "blocked_by": "M-0009",
        "sources": [
          "S-0037",
          "S-0034"
        ],
        "inProposal": false
      },
      {
        "mech": "M-0010",
        "n": 2,
        "historical": false,
        "text": "NVIDIA's full confidential-computing mode disables the hardware performance counters its profiling tools use, so telemetry that needs them conflicts with it.",
        "theme": "privacy-leakage",
        "blocked_by": null,
        "sources": [
          "S-1200",
          "S-0014"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0010",
        "n": 3,
        "historical": false,
        "text": "Continuous challenge puzzles cost power and throughput on production workloads.",
        "theme": "performance-compatibility",
        "blocked_by": null,
        "sources": [
          "S-0033"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0010",
        "n": 4,
        "historical": false,
        "text": "Evaluation has not gone beyond single nodes, framework-level evasion and one vendor's hardware.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [
          "S-0037"
        ],
        "inProposal": null
      }
    ]
  },
  "exposure": {
    "weights": {
      "shown": [],
      "partial": [
        "M-0010"
      ],
      "hidden": [],
      "none": [],
      "unknown": [
        "M-0016"
      ]
    },
    "io": {
      "shown": [],
      "partial": [
        "M-0010"
      ],
      "hidden": [],
      "none": [],
      "unknown": [
        "M-0016"
      ]
    },
    "training": {
      "shown": [],
      "partial": [
        "M-0010"
      ],
      "hidden": [],
      "none": [],
      "unknown": [
        "M-0016"
      ]
    }
  },
  "implementations": [
    {
      "mechanism": "M-0016",
      "selected": {
        "id": "I-0020",
        "title": "Data-centre memory challenging",
        "url": "https://trustbutveri.fyi/implementations/data-centre-memory-challenging/"
      },
      "implementations": [
        {
          "id": "I-0020",
          "title": "Data-centre memory challenging",
          "url": "https://trustbutveri.fyi/implementations/data-centre-memory-challenging/"
        },
        {
          "id": "I-0018",
          "title": "GPU contention probes",
          "url": "https://trustbutveri.fyi/implementations/gpu-contention-probes/"
        },
        {
          "id": "I-0012",
          "title": "Low-trust AI compute verification system overview",
          "url": "https://trustbutveri.fyi/implementations/low-trust-compute-verification-system-overview/"
        },
        {
          "id": "I-0021",
          "title": "SAGE",
          "url": "https://trustbutveri.fyi/implementations/sage-gpu-attestation/"
        },
        {
          "id": "I-0019",
          "title": "VRAM-residency challenge",
          "url": "https://trustbutveri.fyi/implementations/vram-residency-challenge/"
        }
      ]
    },
    {
      "mechanism": "M-0010",
      "selected": null,
      "implementations": []
    }
  ],
  "sources": [
    {
      "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-1308",
      "title": "On the Difficulty of Software-Based Attestation of Embedded Devices",
      "authors": "C. Castelluccia et al.",
      "year": 2009,
      "url": "https://s3.eurecom.fr/docs/ccs09_Castelluccia.pdf",
      "path": "/sources/castelluccia-difficulty-software-based-attestation/"
    },
    {
      "id": "S-0074",
      "title": "Refutation of \"On the Difficulty of Software-Based Attestation of Embedded Devices\"",
      "authors": "A. Perrig & L. van Doorn",
      "year": 2010,
      "url": "https://netsec.ethz.ch/publications/papers/perrig-ccs-refutation.pdf",
      "path": "/sources/perrig-refutation-software-based-attestation/"
    },
    {
      "id": "S-0033",
      "title": "Timing and Memory Telemetry on GPUs for AI Governance",
      "authors": "S. K. Monfared et al.",
      "year": 2026,
      "url": "https://arxiv.org/abs/2602.09369",
      "path": "/sources/monfared-timing-memory-telemetry-gpus/"
    },
    {
      "id": "S-0034",
      "title": "Guaranteeable Memory: An HBM-Based Chiplet for Verifiable AI Workloads",
      "authors": "J. Petrie",
      "year": 2025,
      "url": "https://openreview.net/forum?id=uc79kOv0MV",
      "path": "/sources/petrie-guaranteeable-memory/"
    },
    {
      "id": "S-0037",
      "title": "Detecting Hidden ML Training With Zero-Overhead Telemetry",
      "authors": "R. Rahman & S. Tajdari",
      "year": 2026,
      "url": "https://arxiv.org/abs/2606.19262",
      "path": "/sources/rahman-detecting-hidden-ml-training/"
    },
    {
      "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-1200",
      "title": "NVIDIA Secure AI with Blackwell and Hopper GPUs (White Paper)",
      "authors": "NVIDIA",
      "year": 2025,
      "url": "https://docs.nvidia.com/nvidia-secure-ai-with-blackwell-and-hopper-gpus-whitepaper.pdf",
      "path": "/sources/nvidia-secure-ai-blackwell-hopper-whitepaper/"
    }
  ]
}