[
 {
  "attack": "equivocation (primary)",
  "evidence": "BFT-TV-06",
  "outcome": "REJECTED: no honest commit of conflicting ops"
 },
 {
  "attack": "equivocation (replica PREPAREs)",
  "evidence": "BFT-TV-08",
  "outcome": "DETECTED + QUARANTINED (evidence record)"
 },
 {
  "attack": "false proposal (digest not bound)",
  "evidence": "BFT-TV-05",
  "outcome": "REJECTED"
 },
 {
  "attack": "false commit (unproposed digest)",
  "evidence": "BFT-TV-07",
  "outcome": "REJECTED; no honest node signs or is framed"
 },
 {
  "attack": "invalid digest / signature",
  "evidence": "BFT-TV-04/05",
  "outcome": "REJECTED"
 },
 {
  "attack": "stale commit / old-view proposal",
  "evidence": "BFT-TV-19, RT-BFT-12",
  "outcome": "REJECTED"
 },
 {
  "attack": "replayed commit",
  "evidence": "BFT-TV-09",
  "outcome": "REJECTED (no re-execution)"
 },
 {
  "attack": "forged replica identity (non-member)",
  "evidence": "BFT-TV-18",
  "outcome": "REJECTED"
 },
 {
  "attack": "conflicting governance state (state transfer)",
  "evidence": "BFT-TV-20",
  "outcome": "REJECTED: only certified contiguous prefix applied"
 },
 {
  "attack": "revocation suppression",
  "evidence": "GOV-BFT-08, RT-BFT-01/10",
  "outcome": "REJECTED: revocation is local, needs no quorum"
 },
 {
  "attack": "authorization escalation via lying replica",
  "evidence": "GOV-BFT-04",
  "outcome": "REJECTED"
 },
 {
  "attack": "evidence tampering",
  "evidence": "RT-BFT-07, judge tests",
  "outcome": "DETECTED"
 },
 {
  "attack": "runtime identity substitution (identity fingerprint)",
  "evidence": "GOV-BFT-09, RT-BFT-06",
  "outcome": "REJECTED (snapshot miss)"
 },
 {
  "attack": "malicious recovery state",
  "evidence": "BFT-TV-20",
  "outcome": "REJECTED"
 },
 {
  "attack": "compromised GATEWAY commits a wrong ALLOW",
  "evidence": "GOV-BFT-10",
  "outcome": "EXECUTED_UNAUTHORIZED is POSSIBLE: replicas do not re-evaluate governance; consensus only makes the wrong ALLOW non-repudiable"
 }
]
