Skip to content

Threat model

SAI Guard Protocol addresses substitution and opacity at signing time. It does not stop a user who confirms a bad intent, and it does not stop malware that signs outside the wallet.

Assets

  • user funds and allowances on the target chain;
  • the unsigned transaction proposal;
  • the bound user intent;
  • verification results and policy.

Trust assumptions

SAI Guard Protocol assumes:

  • the user intent supplied by the wallet is authentic;
  • the chain state used for simulation is sufficiently recent;
  • cryptographic primitives used for hashes and signatures are secure;
  • at least the minimum verification-provider assumptions configured by policy hold.

It does not assume:

  • the transaction builder is trusted;
  • the dApp frontend is trusted;
  • the semantic verifier is always correct;
  • external providers are infallible.

Trust boundaries

BoundaryTrusted forNot trusted for
Wallet confirmation surfaceBinding user intentInterpreting calldata
Transaction builder / MCP / dAppConstructing a proposalDeclaring effects
Simulation hostPre-execute against stated stateFinal verdict
Semantic verifierIntent vs effectsSafety policy
Security / AML providersTheir signal classOverriding deterministic BLOCK
SAI Guard Risk EngineVerdict from policySigning
User signerAuthorizationUnderstanding opaque hex

Threats

ThreatMitigationResidual risk
Transaction builder / MCP compromiseIndependent simulation + intent verificationCorrelated simulation-host compromise
Malicious dAppIgnore captions; simulate bytes; origin intelNewly registered phishing domains
Payload substitution after displayRe-hash; signature covers the simulated digestWallet that skips re-hash
Address poisoningIntent destination vs simulated recipient; reputationUser confirmed the poisoned address as intent
Unlimited approval / malicious spenderDecode allowance; policy WARNING or BLOCKEDPolicy that allows unlimited approve
Hidden internal transfersSimulation effects vs intentSimulator omitting internals
Wrong swap route / slippageMin-out vs simulated outIntent without min-out
Verifier compromiseDeterministic policy + independent providersCorrelated provider compromise
Provider outageFail-closed for mandatory checksReduced availability
Signing-path bypass (malware with the key)Outside protocolTotal

MCP authentication is not payment approval.

Residual

If required verifiers and the simulation host are compromised together, or the user’s signer is, the protocol cannot recover. Correlated model errors are not independent votes. That is why simulation and deterministic checks are required for PROTECTED.