← ClaudeAtlas

auditing-account-abstraction-and-paymaster-trustlisted

Audit an ERC-4337 account-abstraction deployment for trust misplaced in the user-operation lifecycle: a smart account whose validation accepts a signature or nonce it should reject, a paymaster that agrees to sponsor gas for operations it should not so an attacker drains its deposit, a bundler or entry-point assumption that lets a user operation be replayed or reordered for gain, and validation logic that reads mutable state or reaches outside its allowed scope. Covers smart-contract wallets, paymasters, bundlers, and the entry point in an account-abstraction stack where a user operation is validated and sponsored before it executes. Use when a user operation is validated, paid for, and executed by separate parties and that trust split is the boundary. The crafted user operation is the source, the drained paymaster or unauthorized execution is the sink, and the over-permissive validation or sponsorship rule is the bug.
UnboundCompute/security-agent-skills · ★ 5 · AI & Automation · score 80
Install: claude install-skill UnboundCompute/security-agent-skills
# Auditing account abstraction and paymaster trust: validation, payment, and execution are three trusts In an ERC-4337 stack a user operation is validated by the smart account, paid for by a paymaster, bundled by a bundler, and executed through the entry point, and those are separate trust decisions made by separate parties. Each is a place trust can be misplaced. The account's validation decides whether a signature and nonce are acceptable; if it accepts what it should reject, an attacker executes operations as the account. The paymaster decides whether to sponsor an operation's gas; if it sponsors what it should not, an attacker drains its deposit by submitting operations that cost the paymaster and benefit no legitimate user, a denial-of-wallet on the sponsor. The entry point and bundler order and submit operations; if an operation can be replayed or reordered for gain, the lifecycle itself is the exploit. And validation runs under strict rules about what state it may read, mutable or external state in validation is both a denial vector and a soundness hole. The audit walks the user-operation lifecycle and checks each trust: what validation accepts, what the paymaster agrees to pay for, and what the ordering allows. You audit this by crafting user operations that probe each decision. ## When to use - An ERC-4337 account-abstraction stack validates, sponsors, and executes user operations across a smart account, a paymaster, a bundler, and the entry point. - A paymaster