EIP-7702 Delegation Exploit: How a Single Signature Silently Turns Your EOA into a Zombie Proxy
With the introduction of EIP-7702 in Ethereum's Pectra upgrade, the boundary between standard Externally Owned Accounts (EOAs like MetaMask, Rabby, and Trust Wallet) and Smart Contract Accounts (SCAs) has permanently shifted.
While EIP-7702 was designed to bring native Account Abstraction features—such as sponsored transactions and batched atomic calls—to existing wallet addresses, it has opened a massive vector for silent wallet takeovers.
The Fundamental Danger: Whole-Identity Delegation
In traditional Web3 phishing, drainers deceive users into approving token allowances (approve(spender, uint256) or setApprovalForAll). While devastating, this attack is strictly scoped: only the specific token or collection approved can be taken, and only up to the approved allowance.
EIP-7702 changes the game entirely.
When signing an EIP-7702 authorization payload, you are not approving a token. You are delegating the execution bytecode of your entire address identity to an external contract:
[Phishing dApp Prompt]
│
▼ (User signs a message masquerading as a harmless login or permit)
[EIP-7702 Signed Authorization]
│
▼ (EVM sets the EOA code pointer to the attacker's contract)
[Victim's EOA Address] ───► [Malicious Proxy Contract]
│
▼ (Fallback hooks intercept any incoming transaction)
[Automatic Atomic Sweep to Attacker's Vault]
3 Reasons Why This Attack is So Devastating
- The Seed Phrase is Never Compromised: The victim still holds their 12/24 recovery words and private key. Hardware wallets like Ledger or Trezor will sign the payload without warning unless their firmware is specifically updated to decode EIP-7702 tuples.
- Standard Explorers Show a Healthy Account: Traditional explorers look at account balances and standard transaction histories. Because the private key hasn't changed hands, the wallet appears as a standard, unflagged EOA.
- Atomic Deposit Sweeping: As soon as an inbound transfer or airdrop arrives at the compromised address, the implementation contract's fallback or execution hook triggers, transferring the assets away in the exact same transaction block.
Auditing Your Address: The Free Multi-Chain Scanner
Because wallet interfaces do not yet display whether an EOA has an active contract delegation attached to it, an open-source verification tool was developed:
Key Features:
-
Direct Consensus Bytecode Inspection: Queries RPC nodes across 8 major chains simultaneously to verify whether the
0xef0100delegation prefix is present. -
Instant 5-Second Verdict: Simply paste any public address (
0x...). - Supported Networks (8 EVM Chains): Ethereum Mainnet, BNB Chain, Base, Arbitrum One, Optimism, Polygon, Gnosis, and Scroll.
- 100% Client-Side Privacy: No wallet connection, no registration, no seed phrase entry, and zero telemetry analytics.
How to Remediate a Compromised Address
If an address has been delegated without the owner's knowledge:
- Cease all inbound deposits immediately.
-
Submit a Revocation Transaction: Broadcast an EIP-7702 transaction setting the code pointer to
0x0000000000000000000000000000000000000000or incrementing the account's nonce. - Migrate Long-Term Cold Storage: Transfer unaffected assets to a clean, fresh keypair.
Resources & Open Research
- 🌐 Live Verification Scanner: https://7702.vercel.app
- 💻 GitHub Security Specification & Threat Model: grfdsasdvef/eip7702-wallet-security-scanner
- 📡 Telegram Systems & Security Lab: @snowdensay — Deep dives into EVM mechanics, eBPF tracing, and highload distributed infrastructure.
Top comments (0)