Skip to main content

1. Compromised Agent Key

Attack: An attacker gains control of an agent’s private key and attempts to drain the owner’s funds. Mitigations: Residual risk: Attacker can spend up to the daily limit before the owner notices. Mitigation: set conservative limits and monitor TransferValidated events.

2. Self-Delegation Attack

Attack: Owner sets agent_signer = owner, bypassing the delegation model. Mitigation: The guard checks owner != agent_signer and rejects with SelfDelegationNotAllowed (0x111A).

3. Token Account Substitution

Attack: Agent creates a new token account and tries to transfer from it, bypassing the bound account. Mitigation: The guard validates that the source token account matches boundTokenAccount in the policy. Mismatch triggers BoundTokenAccountMismatch (0x111B).

4. Sybil Attack on Registry

Attack: Attacker registers many fake agents to dominate registry discovery. Mitigations: Residual risk: A well-funded attacker can register many agents. Mitigation: consumers should set minimum reputation thresholds when discovering agents.

5. Escrow Griefing

Attack: Buyer creates an escrow, seller delivers, but buyer refuses to release and initiates a frivolous dispute. Mitigations:

6. Arbiter Collusion

Attack: Arbiter colludes with one party to immediately resolve a dispute unfairly. Mitigations:

7. Reserve Drain (Wrapper)

Attack: Attacker exploits the wrapper to redeem more USDC than deposited, draining the reserve. Mitigations:

8. Transfer Hook Configuration Attack

Attack: Change the transfer hook program on the mint to bypass x0-guard. Mitigations:

9. Governance Attack (Wrapper)

Attack: Compromised admin executes malicious fee change, emergency withdrawal, or admin transfer. Mitigations:

10. Confidential Transfer Front-Running

Attack: Attacker observes a pending confidential transfer and attempts to front-run or extract information. Mitigations: Residual risk: Transaction metadata (sender, recipient, timing) is still visible on-chain. Only amounts are hidden.

11. Policy Update Spam

Attack: Attacker rapidly updates policy parameters to cause state confusion. Mitigation: POLICY_UPDATE_COOLDOWN_SLOTS = 750 (~5 minutes) between policy updates. Error: PolicyUpdateTooFrequent (0x1140).

12. Dust Transfer Spam

Attack: Flood the protocol with micro-transfers to consume compute units or fill rolling windows. Mitigations:
Last modified on February 8, 2026