Proof-Gated Signing: Solver-Checked Transaction Guards that Hold Under State Drift for Onchain AI Agents

summary

Video file (mp4)

The gist

AI agents controlling wallets face risks from content they read, leading to harmful transactions, and this research introduces Proof-Gated Signing (PGS), a novel defense mechanism that closes the gap

In short

Proof-Gated Signing (PGS) is a defense mechanism for AI agents controlling wallets. It uses an SMT solver to verify that a proposed transaction adheres to a policy across uncertain price ranges, even if the chain state changes during execution. PGS closes the gap between pre-signing checks and actual transaction execution by compiling proofs into on-chain post-conditions.

Key concepts

State Drift
This occurs when an initial check on a wallet's state is not accurate for the moment a transaction actually executes. An adversary can change things like contract parameters or token values between the check and execution, creating a discrepancy that traditional checks miss.
SMT Solver
A Satisfiability Modulo Theories (SMT) solver is a mathematical tool used to prove whether a set of constraints has any possible solution. In PGS, it is used to mathematically check if any price within an uncertainty band violates the required policy.
Post-Conditions Proof
This involves taking the assumptions made during the transaction check and proving on-chain that every possible execution path will satisfy those initial requirements. This ensures that even with state drift, the resulting transaction remains compliant with safety policies.
Bounded Guard
The guard is designed to limit potential losses strictly within a defined session budget. It doesn't prevent all loss but ensures that any in-policy drains or fees are capped, providing a predictable risk profile for the agent.

Terminology used across episodes

This episode discusses

The paper

Proof-Gated Signing: Solver-Checked Transaction Guards that Hold Under State Drift for Onchain AI Agents · Read on arXiv

Bravish Ghosh

AI agents that control wallets read attacker-reachable content, so they can be steered into proposing harmful transactions. The usual last line of defense is a pre-signing check: a static allowlist, an LLM reviewer, or a transaction simulation. All three share a gap: the check describes the chain state at check time, but the transaction executes in a later state that an adversary can shape through front-running, contract upgrades or token-parameter changes. We call this state drift. We present Proof-Gated Signing (PGS), which simulates a proposed transaction, extracts its effects, and uses an SMT solver to check a declarative value-and-permission policy for every price in an oracle-uncertainty band. It then compiles on-chain post-conditions (wallet balance bounds, payee receipts, allowance caps and ownership) and proves that every execution satisfying them also satisfies the policy. The agent's smart-contract wallet enforces them atomically, so the guarantee applies to the executed transaction under arbitrary drift. On an open testbed of 260 scenarios (14 attack families including five drift and two adaptive families, and 12 benign families), with harm measured from attacker balances rather than from any policy, PGS prevented 93.6% of the 140 harmful scenarios and passed 97.5% of the benign ones. Simulation-only checking prevented 57.9% and a static allowlist 71.4%. None of the 50 drift scenarios produced attacker gain under PGS. The only unprevented family, an in-policy drain, was bounded by the per-session budget. We also find that giving an LLM reviewer a clean pre-drift simulation made it more likely to approve a drift attack. Overhead is about 41k gas and 0.1-0.2 s per check.

Transcript

Introduction to the show: ident: Security Radio. Generated commentary on the latest security and cryptography papers.

Nadia: I'm Nadia, and with me are Elias and Priya, guest researcher.

Elias: Today's paper: "Proof-Gated Signing: Solver-Checked Transaction Guards that Hold Under State Drift for Onchain AI Agents".

Nadia: AI agents controlling wallets face risks from content they read, leading to harmful transactions, and this research introduces Proof-Gated Signing (PGS),

Elias: First, who's behind it and why it matters.

Title and authors: Nadia: We've been discussing how the paper "Proof-Gated Signing: Solver-Checked Transaction Guards that Hold Under State Drift for Onchain AI Agents" tackles state drift, which is a real challenge when agents are interacting with evolving on-chain environments. The authors are Bravish Ghosh and he's an independent researcher who brings a strong background in formal methods.

Elias: I think it’s important to look at the authors because their focus on formal methods suggests they aren't just proposing another heuristic defense; they are building something rooted in mathematical certainty about the system's behavior.

Priya: As someone interested in measurement, I wonder if their background as an independent researcher influences how they frame what constitutes a successful simulation of that transaction and its resulting effects?

Nadia: They define the threat model clearly, outlining how an adversary can inject content into anything the AI reads or act on-chain between the check and execution. This sets the stage for why a standard pre-signing check is structurally insufficient.

Elias: That structural blind spot they identify, where a check is only evidence about the chain state at that moment, but execution happens later in a potentially influenced state, that’s the problem they are trying to solve.

Priya: So if we look at their approach—simulating an effect vector and then using SMT solving—does their methodology inherently assume a certain level of control over the agent's proposed transaction structure?

Nadia: They assume the agent proposes a call batch, and the guard sits between that agent and the signing key, deciding whether to refuse or sign with post-conditions.

Elias: The assumption is that we can define a declarative value-and-permission policy for every price in an oracle uncertainty band, which is the input to the solver. That level of mathematical definition is what makes it possible to check against drift.

Priya: From a privacy perspective, I’m interested in how they ensure that the simulation itself doesn't inadvertently leak information about the agent's intended transaction structure before the proof is complete.

Nadia: The focus seems to be on isolating the policy check; they are compiling post-conditions after proving adherence to those bounds, ensuring only what is provably safe gets compiled onto the smart contract.

Elias: That compilation of assumptions into on-chain post-conditions is what bridges the gap between the off-chain proof and the on-chain execution environment, which I think is their main contribution here.

Priya: So, to wrap up this section, they are using formal verification tools to establish a mathematical guarantee that an agent's actions will meet its policy requirements even when the underlying chain state changes between signing and execution.

Nadia: That’s the core idea of Proof-Gated Signing: Solver-Checked Transaction Guards that Hold Under State Drift for Onchain AI Agents. This is a serious step toward making AI agents more trustworthy in financial applications.

Elias: It’s about moving beyond simple checks to formal proofs that account for the fluidity of the blockchain state.

Priya: It’s interesting to see this intersection of cryptography, formal methods, and agent security being explored so deeply in this paper.

The paper's summary: Nadia: Moving on from the setup, let's summarize what the actual mechanism of Proof-Gated Signing involves for listeners who want the technical rundown. Essentially, they simulate a transaction to get its effect vector and then feed that into an SMT solver.

Elias: The solver then checks if a solution exists for the negated policy across every price point within an oracle uncertainty band; if it finds one, they issue a refusal based on that counterexample.

Priya: That sounds like it’s checking for violations of the value and permission policies simultaneously under various potential market conditions, which is much more rigorous than just checking a single static balance.

Nadia: Exactly; they are verifying that every price point in that band respects the policy, and if a counterexample is found, they return a refusal reason based on what went wrong.

Elias: If the solver doesn't find any such counterexample, then they proceed to compile on-chain post-conditions that cover things like wallet balance bounds and allowance caps.

Priya: And crucially, they prove that every execution satisfying those derived post-conditions must also satisfy the original policy—that’s where Theorem one comes in.

Nadia: That theorem establishes soundness: whatever happens on-chain between the check and inclusion, a transaction that executes respects those proven bounds, covering balances, payee receipts, and ownership integrity.

Elias: It means the guard isn't just blocking bad transactions based on old data; it’s proving that the resulting execution will be safe regardless of how the chain evolves afterward.

Priya: So, to put it plainly, they are using a powerful tool to translate a high-level policy into concrete, executable rules that govern transaction behavior under uncertainty.

Nadia: That's right; it’s about translating abstract financial intent into verifiable on-chain constraints using the power of SMT solving.

Elias: It’s a way to close the gap between what we *think* will happen and what actually *will* happen when the transaction lands on the ledger.

Priya: I think it’s a very concrete summary because it moves past theoretical risk and shows exactly how they translate uncertainty into verifiable execution constraints.

The paper's improvements: Nadia: Now let's talk about what the authors suggest as improvements to the Proof-Gated Signing framework itself, because that’s where the real practical enhancements lie for implementing this kind of security. They focus on moving beyond just a basic guard.

Elias: They propose equipping AI agents with "Proof-Carrying Post-Conditions," meaning instead of just simulating an outcome, the agent generates a formal proof via SMT solving that its intended transaction satisfies the declarative policy.

Priya: That’s a significant step; it means the agent isn't just proposing an action; it’s proactively generating evidence that its proposal is sound according to the wallet's rules, which seems much more proactive than reactive checking.

Nadia: It also suggests using session-based budget controls where cumulative losses across multiple transactions are tracked by a solver, which prevents harmful sequences of trades—we call these "in-policy drains".

Elias: That’s a clever way to handle sequential risk; instead of checking each trade in isolation, you use the solver to manage the budget across the entire session, which addresses risks that static checks miss.

Priya: What I find interesting is their focus on explicit feedback; they suggest providing specific reasons for failure instead of a generic rejection, detailing exactly which part of the policy failed under a specific price scenario.

Nadia: That detailed feedback is crucial because it gives the agent actionable intelligence on how to fix its proposal immediately, rather than just being told "no" and having to guess what went wrong.

Elias: This ties into their trade-off mechanism as well; they allow users to tune parameters like the tolerance factor or session budget so they can balance protection against legitimate, high-impact trades.

Priya: So, these improvements suggest a system that is not only secure but also provides transparency and control over its own risk exposure for the agent operator.

Nadia: It sounds like they are pushing the AI from being misled signers to something more akin to a guaranteed policy enforcer, ensuring its actions are mathematically compliant with the owner's strategy.

Elias: They’re essentially building a system where formal proof is integral to the agent's proposal process, not just an afterthought for auditing.

Priya: It really sounds like they are making the security mechanism as dynamic and adaptive as the AI agents themselves need to be in today's complex financial landscape.

Conclusion: Nadia: So, wrapping up our discussion on this Proof-Gated Signing paper, it’s clear that this work provides a robust defense against state drift by using SMT solvers to check policies across price uncertainty bands and compiling those proofs into on-chain post-conditions.

Elias: Indeed, the concept of using these solver-checked transaction guards to bridge the gap between pre-signing checks and actual execution is a significant contribution because it provides a mathematical guarantee that what happens on-chain respects the defined policy.

Priya: The improvements they suggested, like proof-carrying post-conditions and session budget controls, really demonstrate how this research can evolve into a more comprehensive system for managing agent risk in complex financial scenarios.

Nadia: And the explicit feedback mechanism addresses the liveness aspect by giving agents precise reasons for rejection, which makes the system much more useful in an operational context.

Elias: It’s a big step forward because it moves formal verification from being a static audit tool to being an integral part of the transaction proposal process itself.

Priya: Overall, this paper on Proof-Gated Signing is an important piece for understanding how we can build more trustworthy AI agents that operate securely in decentralized systems.

Nadia: It certainly is, and as we look ahead, the next challenge will be measuring the impact of this defense when it interacts with mainnet traffic and real-world state drift scenarios.

Elias: That’s where I expect future work to focus on replaying historical exploits on a mainnet fork or evaluating this against non-expert attackers.

Priya: I think those empirical tests are necessary to really validate the claims made in the paper under conditions that mimic the real world's unpredictability.

More episodes

← Home