auditing-account-abstraction-and-paymaster-trustlisted
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