{
  "schema_version": "1.2",
  "url": "https://trustbutveri.fyi/explorer/?mechanisms=M-0015,M-0016&hide=weights",
  "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": [
      "weights"
    ]
  },
  "mechanisms_passing_filters": 24,
  "claims": [],
  "mechanisms": [
    {
      "id": "M-0015",
      "title": "Memory wiping and proofs of secure erasure",
      "url": "https://trustbutveri.fyi/mechanisms/memory-wiping-and-secure-erasure/",
      "assessment_record": {
        "id": "M-0015",
        "title": "Memory wiping and proofs of secure erasure",
        "url": "https://trustbutveri.fyi/mechanisms/memory-wiping-and-secure-erasure/"
      },
      "selected_implementation": null,
      "readiness": {
        "level": "R1",
        "scope": "showing that no data from earlier work persists in memory the wipe reaches",
        "confidence": "medium",
        "evidence": [
          "S-0067",
          "S-1304",
          "S-0032",
          "S-0018",
          "S-1302",
          "S-1303",
          "S-1321",
          "S-3240"
        ]
      },
      "assessed_properties": {
        "threat_model": "adversarial",
        "hardware_requirement": "none",
        "prover_cooperation": "required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "none",
        "io": "none",
        "training": "none",
        "note": "Overwrites memory with verifier-chosen data; it does not handle model data."
      },
      "family_finding_context": [],
      "filter_issues": []
    },
    {
      "id": "M-0016",
      "title": "Timed challenge-response and memory-occupation challenges",
      "url": "https://trustbutveri.fyi/mechanisms/timed-challenge-response/",
      "assessment_record": {
        "id": "M-0016",
        "title": "Timed challenge-response and memory-occupation challenges",
        "url": "https://trustbutveri.fyi/mechanisms/timed-challenge-response/"
      },
      "selected_implementation": null,
      "readiness": {
        "level": "R2",
        "scope": "detecting whether a GPU is doing other work",
        "confidence": "medium",
        "evidence": [
          "S-0018",
          "S-0067",
          "S-0033",
          "S-1306",
          "S-1307",
          "S-1607",
          "S-1304",
          "S-0032"
        ]
      },
      "assessed_properties": {
        "threat_model": "adversarial",
        "hardware_requirement": "none",
        "prover_cooperation": "required",
        "adversarial_evaluation": "analysis"
      },
      "claims": [],
      "exposure": {
        "weights": "none",
        "io": "none",
        "training": "none",
        "note": "Uses verifier-chosen challenges; it does not handle model data."
      },
      "family_finding_context": [],
      "filter_issues": []
    }
  ],
  "strengths": {
    "covered": [],
    "production": [],
    "adversarial": [
      "M-0015",
      "M-0016"
    ],
    "noNewHardware": [
      "M-0015",
      "M-0016"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "properties": {
    "covered": [],
    "production": [],
    "adversarial": [
      "M-0015",
      "M-0016"
    ],
    "noNewHardware": [
      "M-0015",
      "M-0016"
    ],
    "mitigated": [],
    "notCounted": []
  },
  "attack_testing": [
    {
      "id": "M-0015",
      "record": "M-0015",
      "evaluation": "analysis",
      "in_setting": true
    },
    {
      "id": "M-0016",
      "record": "M-0016",
      "evaluation": "analysis",
      "in_setting": true
    }
  ],
  "selected_implementations": {},
  "weaknesses": {
    "gaps": [],
    "excluded": [],
    "unlinked": [],
    "critical": [],
    "significant": [
      {
        "mech": "M-0015",
        "n": 1,
        "title": "Memory the wipe cannot reach",
        "kind": "open-question",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Amodo's inventory of a GB200 system lists many memory stores beyond GPU HBM and host DRAM. It notes that SSD controller DRAM sits on a private bus that host commands cannot read or write, and that its optimized algorithm leaves 25 GiB of HBM unattested. It also asks how switch memory could be wiped.",
        "response": null,
        "sources": [
          "S-1302",
          "S-1303"
        ]
      },
      {
        "mech": "M-0015",
        "n": 2,
        "title": "Outside help during challenges",
        "kind": "theoretical-argument",
        "severity": "significant",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Classic proofs of secure erasure assume the device is isolated during the protocol. Bursuc et al. relax this to a bound on how close a helper can be, enforced by round-trip times. In data centres, remote memory access has round trips of about 1–2 µs, against about 70–200 ns for local DRAM. The MIRI overview therefore says verification depends on ruling out RDMA by latency or physical disconnection.",
        "response": null,
        "sources": [
          "S-0032",
          "S-0018"
        ],
        "helps": [
          {
            "by": "M-0016",
            "how": "Timed challenges bound how far away a helper can be by how quickly it must answer."
          },
          {
            "by": "M-0014",
            "how": "Removing or capping links between groups of accelerators limits remote memory access during a challenge."
          }
        ]
      },
      {
        "mech": "M-0016",
        "n": 2,
        "title": "Remote memory narrows the timing margin",
        "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 adds that pre-staging data is ruled out only by unpredictable, capacity-filling challenges.",
        "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."
          }
        ]
      }
    ],
    "criticalMechanisms": [],
    "significantMechanisms": [
      "M-0015",
      "M-0016"
    ],
    "familyContext": [],
    "minor": 2,
    "minorFindings": [
      {
        "mech": "M-0015",
        "n": 3,
        "title": "Gap between erased and total memory",
        "kind": "theoretical-argument",
        "severity": "minor",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Bursuc et al. note that memory left between the erased region and the device's full memory could hold data, and that their bounds are tighter only against a restricted adversary.",
        "response": null,
        "sources": [
          "S-0032"
        ]
      },
      {
        "mech": "M-0016",
        "n": 3,
        "title": "Error rates not quantified",
        "kind": "open-question",
        "severity": "minor",
        "status": "open",
        "evidence_scope": null,
        "scope_note": null,
        "related_finding": null,
        "description": "Monfared et al. show separable timing distributions but do not define thresholds or statistical tests, so false-positive and false-negative rates are not quantified.",
        "response": null,
        "sources": [
          "S-0033"
        ]
      }
    ],
    "minorBy": [
      {
        "id": "M-0015",
        "n": 1
      },
      {
        "id": "M-0016",
        "n": 1
      }
    ],
    "notDemonstrated": [
      "M-0015"
    ],
    "newChip": []
  },
  "findings": [
    {
      "mech": "M-0015",
      "record": "M-0015",
      "n": 1,
      "title": "Memory the wipe cannot reach",
      "kind": "open-question",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Amodo's inventory of a GB200 system lists many memory stores beyond GPU HBM and host DRAM. It notes that SSD controller DRAM sits on a private bus that host commands cannot read or write, and that its optimized algorithm leaves 25 GiB of HBM unattested. It also asks how switch memory could be wiped.",
      "response": null,
      "sources": [
        "S-1302",
        "S-1303"
      ]
    },
    {
      "mech": "M-0015",
      "record": "M-0015",
      "n": 2,
      "title": "Outside help during challenges",
      "kind": "theoretical-argument",
      "severity": "significant",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Classic proofs of secure erasure assume the device is isolated during the protocol. Bursuc et al. relax this to a bound on how close a helper can be, enforced by round-trip times. In data centres, remote memory access has round trips of about 1–2 µs, against about 70–200 ns for local DRAM. The MIRI overview therefore says verification depends on ruling out RDMA by latency or physical disconnection.",
      "response": null,
      "sources": [
        "S-0032",
        "S-0018"
      ],
      "helps": [
        {
          "by": "M-0016",
          "how": "Timed challenges bound how far away a helper can be by how quickly it must answer."
        },
        {
          "by": "M-0014",
          "how": "Removing or capping links between groups of accelerators limits remote memory access during a challenge."
        }
      ]
    },
    {
      "mech": "M-0015",
      "record": "M-0015",
      "n": 3,
      "title": "Gap between erased and total memory",
      "kind": "theoretical-argument",
      "severity": "minor",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Bursuc et al. note that memory left between the erased region and the device's full memory could hold data, and that their bounds are tighter only against a restricted adversary.",
      "response": null,
      "sources": [
        "S-0032"
      ]
    },
    {
      "mech": "M-0016",
      "record": "M-0016",
      "n": 1,
      "title": "Timing-based software attestation has been broken in practice",
      "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"
      ]
    },
    {
      "mech": "M-0016",
      "record": "M-0016",
      "n": 2,
      "title": "Remote memory narrows the timing margin",
      "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 adds that pre-staging data is ruled out only by unpredictable, capacity-filling challenges.",
      "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."
        }
      ]
    },
    {
      "mech": "M-0016",
      "record": "M-0016",
      "n": 3,
      "title": "Error rates not quantified",
      "kind": "open-question",
      "severity": "minor",
      "status": "open",
      "evidence_scope": null,
      "scope_note": null,
      "related_finding": null,
      "description": "Monfared et al. show separable timing distributions but do not define thresholds or statistical tests, so false-positive and false-negative rates are not quantified.",
      "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",
      "fits_filters": true,
      "filter_issues": [],
      "reasons": [
        {
          "kind": "flaw",
          "mech": "M-0015",
          "n": 2,
          "title": "Outside help during challenges",
          "severity": "significant",
          "how": "Removing or capping links between groups of accelerators limits remote memory access during a challenge."
        },
        {
          "kind": "flaw",
          "mech": "M-0016",
          "n": 2,
          "title": "Remote memory narrows the timing margin",
          "severity": "significant",
          "how": "Physical disconnection is proposed to exclude remote memory between the separated groups during a challenge. It depends on the isolation boundary being enforced."
        },
        {
          "kind": "blocker",
          "mech": "M-0016",
          "text": "Outside help, such as remote memory, must be excluded during challenges."
        }
      ]
    }
  ],
  "goal": null,
  "design": null,
  "dependencies": {
    "prerequisites": [],
    "shared": [],
    "blockers": [
      {
        "mech": "M-0015",
        "n": 1,
        "text": "Wipes take time: tens of minutes for a pod's volatile memory and hours for SSDs, displacing work.",
        "theme": "performance-compatibility",
        "blocked_by": null,
        "sources": [
          "S-0018",
          "S-1302",
          "S-1303"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0015",
        "n": 2,
        "text": "Timed challenges must exclude remote memory and other helpers.",
        "theme": "coverage-hidden-compute",
        "blocked_by": "M-0016",
        "sources": [
          "S-0018",
          "S-0032"
        ],
        "inProposal": true
      },
      {
        "mech": "M-0015",
        "n": 3,
        "text": "All memory stores in a system must be inventoried and wiped at the same time.",
        "theme": "coverage-hidden-compute",
        "blocked_by": null,
        "sources": [
          "S-1302"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 1,
        "text": "No network-level memory challenge across data-centre servers has been demonstrated.",
        "theme": "adversarial-validation",
        "blocked_by": null,
        "sources": [
          "S-0018"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 2,
        "text": "Challenges that fill memory displace workloads; filling a pod's volatile memory takes tens of minutes and SSDs take hours.",
        "theme": "performance-compatibility",
        "blocked_by": null,
        "sources": [
          "S-0018",
          "S-0033"
        ],
        "inProposal": null
      },
      {
        "mech": "M-0016",
        "n": 3,
        "text": "Outside help, such as remote memory, must be excluded during challenges.",
        "theme": "coverage-hidden-compute",
        "blocked_by": "M-0014",
        "sources": [
          "S-0018"
        ],
        "inProposal": false
      }
    ]
  },
  "exposure": {
    "weights": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0015",
        "M-0016"
      ],
      "unknown": []
    },
    "io": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0015",
        "M-0016"
      ],
      "unknown": []
    },
    "training": {
      "shown": [],
      "partial": [],
      "hidden": [],
      "none": [
        "M-0015",
        "M-0016"
      ],
      "unknown": []
    }
  },
  "implementations": [
    {
      "mechanism": "M-0015",
      "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-0012",
          "title": "Low-trust AI compute verification system overview",
          "url": "https://trustbutveri.fyi/implementations/low-trust-compute-verification-system-overview/"
        }
      ]
    },
    {
      "mechanism": "M-0016",
      "selected": null,
      "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/"
        }
      ]
    }
  ],
  "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-1304",
      "title": "Secure Code Update for Embedded Devices via Proofs of Secure Erasure",
      "authors": "D. Perito & G. Tsudik",
      "year": 2010,
      "url": "https://link.springer.com/chapter/10.1007/978-3-642-15497-3_39",
      "path": "/sources/perito-proofs-of-secure-erasure/"
    },
    {
      "id": "S-0032",
      "title": "Software-Based Memory Erasure with Relaxed Isolation Requirements",
      "authors": "S. Bursuc et al.",
      "year": 2024,
      "url": "https://ieeexplore.ieee.org/document/10664348/",
      "path": "/sources/bursuc-software-based-memory-erasure/"
    },
    {
      "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-1302",
      "title": "Memory Wipes - Performance Analysis",
      "authors": "Amodo Design",
      "year": 2026,
      "url": "https://amododesign.com/notes/2026-07-01-memory-wiping/",
      "path": "/sources/amodo-memory-wipes-performance-analysis/"
    },
    {
      "id": "S-1303",
      "title": "Improving Disk Wiping Speed for Memory Wipes",
      "authors": "Amodo Design",
      "year": 2026,
      "url": "https://amododesign.com/notes/2026-09-14-disk-wiping-speed/",
      "path": "/sources/amodo-improving-disk-wiping-speed/"
    },
    {
      "id": "S-1321",
      "title": "Amodo-Design/PoSE-Memory-Wiping (GitHub repository)",
      "authors": "Amodo Design",
      "year": 2026,
      "url": "https://github.com/Amodo-Design/PoSE-Memory-Wiping",
      "path": "/sources/amodo-pose-memory-wiping-code/"
    },
    {
      "id": "S-3240",
      "title": "Empirical Evaluation of Memory-Erasure Protocols",
      "authors": "R. Gil-Pons et al.",
      "year": 2025,
      "url": "https://www.scitepress.org/Papers/2025/135548/135548.pdf",
      "path": "/sources/gil-pons-empirical-evaluation-memory-erasure/"
    },
    {
      "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-1306",
      "title": "SAGE: Software-based Attestation for GPU Execution",
      "authors": "A. Ivanov et al.",
      "year": 2023,
      "url": "https://www.usenix.org/conference/atc23/presentation/ivanov",
      "path": "/sources/ivanov-sage-gpu-attestation/"
    },
    {
      "id": "S-1307",
      "title": "SWATT: SoftWare-based ATTestation for Embedded Devices",
      "authors": "A. Seshadri et al.",
      "year": 2004,
      "url": "https://netsec.ethz.ch/publications/papers/swatt.pdf",
      "path": "/sources/seshadri-swatt/"
    },
    {
      "id": "S-1607",
      "title": "Proofs of Space",
      "authors": "S. Dziembowski et al.",
      "year": 2015,
      "url": "https://eprint.iacr.org/2013/796",
      "path": "/sources/dziembowski-proofs-of-space/"
    },
    {
      "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/"
    }
  ]
}