15-second sketch: an AI agent pays an API in USDC on Base, and the API owner gets euros in the bank via SEPA Instant. Concept, made with AI assistance.
@gary_yangge Enjoyed digging into KYABridge8004’s responseMap[0] logic on Magicians the other day — solid framework. If you’re ever looking for a second pair of eyes on the agent-identity contracts before mainnet, happy to help.
Lesson: a patched bug isn’t “done” until someone tries to break it again on purpose. If you want someone to actually try this on your fixes before an attacker does — DMs open.
A cross-chain bridge got drained for $1B+ earlier this year. The patch shipped. Everyone moved on. I didn't — I went back and tried to break the fix itself. Thread on how to actually verify a security patch (not just read it) 🧵
Пост 6:
Went one level up: is the vulnerable architecture even still there? Turns out the whole privileged-admin-change mechanism that made the exploit so devastating was redesigned away entirely. Sometimes the best fix isn’t a check — it’s removing the attack surface.
@_ticoworld Good that fake IDs and deletion were tested. Next case I'd test: two agents spend from the same shared allowance Cell in one block. Only one tx can consume it, so does the loser retry on the new state, or is there a per-agent sub-allowance to avoid contention?
@_ticoworld Thanks. One more on the rule itself: does the treasury lock require the allowance cell as an input in every spend, and how does it tell the real allowance cell from a look-alike (type ID or similar)? That is the check I would want tested first.
@SanjeebDas44977@RialoHQ Useful idea. Do the 14 scenarios include a request the policy cannot classify, like an unknown method or a missing amount field? That is where many caps fail open. And does the proof report hash the scenario set too, so a top score can't come from an easier test suite?
@RaphElevator@arc Good framing: a cap answers "how much", not "who". Who can record the job and set the wallet? If an injected invoice can reach that step, the attack just moves there. Does the WhatsApp confirmer see the full address, and is it exactly the address the contract pays?
Read the ERC-8427 spend-grant reference code today. Two things I liked: a zero cap is rejected, never treated as unlimited, and the executor's comment says caps bound the requested amount, not what an odd token actually moves. Honest limits in comments beat silent assumptions.
@Habuskiid@PayBox@moonpay Thanks for the straight answer. A simple fix: keep a policy outside the agent (daily cap plus max per call) and have Sober check cumulative spend against it before creating each PayBox request. If the counter can't be read, deny. Happy to read the repo and share notes if useful.
@scdolab Useful registry. One question: if usdcWallet is self-declared in registration.json, how does a paying agent know that wallet really belongs to the service? Without a signature from the agent's own key, anyone can list someone else's address, or swap in their own.
@termix_ai Escrow, deliver, challenge, settle is a sound loop. The hard step is challenge: who judges, and what does the judge read? If the evidence comes from the agent being judged, it can be gamed. How are disputes decided in your design?
@TrellisSol Rulebook is the right frame. One thing I'd check in any rule engine: where does the spend cap get its number? If it's decoded from calldata, an unrecognized call can read as 0 and pass every cap. Default-deny on unknown calls plus a before/after balance check closes that gap.
If you build or use agent wallets, ask: what number does the cap read, and what happens with a call it doesn't recognize? If the answer is "0" or "allowed", it's not a limit.Code-reading analysis, AI-assisted, labeled as such. DMs open for a second-opinion review.
This month I read the contracts of 8 open-source "AI agent wallet" projects. One question decides whether an agent can drain you: where does the spend limit get its number from?
Pattern D (not a limit at all): a vault where the agent role can call any address with any amount. Protection is off-chain screening and a guardian that reacts after the fact. Fine for a hackathon, not for real funds.