Checklists/EVM/Wallet & Account Abstraction Security

Wallet & Account Abstraction Security Checklist

20 security checks for Safe integrations, account abstraction, wallet modules, and smart account systems. Covering EIP-712 typehash mismatches, Safe version incompatibility, guard bypasses, signature replay, and recovery mechanism exploits. Derived from real audit findings including Brahma, Biconomy, and major Safe integrations.

Threat Analysis

Key statistics from analyzing wallet and account abstraction audit findings:

800+ findings analyzed from real smart contract audits across Safe integrations and AA wallets

20 vulnerability patterns identified and categorized across 4 security domains

13 Critical/High items require immediate attention in any wallet/AA audit

📄
Want this as a PDF? DM me on Telegram →

Automate with Krait CLI

12/20 checks

60% of these checks can be automated against your codebase. 8 checks require manual review.

/krait:scan --deepInstall Krait →
Showing 20 of 20 vulnerabilities
#1

EIP-712 Typehash Mismatch

CriticalKrait

Typehash string does not match the actual struct definition, causing signatures to validate against wrong data

#2

Signature Replay Across Chains or Contracts

CriticalKrait

EIP-712 domain separator missing chainId or verifyingContract, enabling cross-chain/cross-contract replay

#3

Nonce Management Gaps

HighKrait

Nonces are not per-operation-type, enabling cross-type replay or nonce collision

#4

Signature Malleability Acceptance

High

Contract accepts both high-s and low-s ECDSA signatures, enabling signature replay with different s values

#5

Missing Signature Deadline/Expiry

Medium

Signed messages have no expiry, allowing indefinite replay of old authorizations

#6

Safe Version Interface Incompatibility

CriticalKrait

Code targets one Safe version but deploys with another — guard interfaces, module callbacks, and return data differ

#7

Missing Validation on Module Enable/Disable

CriticalKrait

Modules can be enabled without proper Safe owner authorization, allowing unauthorized transaction execution

#8

Module Transaction Gas Refund Drain

HighKrait

Gas refund parameters not included in policy validation, allowing executor to drain Safe ETH

#9

Uninitialized Proxy Implementation

HighKrait

Safe module or guard proxy implementation can be initialized by anyone, enabling takeover

#10

Validator Registration Without Ownership Proof

HighKrait

Validator or sub-account can be registered for a Safe without proving ownership of that Safe

#11

Guard Bypass via Module Execution

CriticalKrait

Guard protects execTransaction but modules execute via execTransactionFromModule without guard checks

#12

Delegate Call Restriction Bypass

HighKrait

Policy restricts call operations but does not restrict delegatecall, enabling arbitrary code execution in Safe context

#13

Fallback Handler Manipulation

HighKrait

Fallback handler can be changed by a module, enabling interception of all calls to the Safe

#14

Insufficient Transaction Validation in Guard

High

Guard checks transaction parameters but not the actual call data, allowing malicious payloads

#15

Single Owner Safe Without Recovery

Medium

Safe with single owner and no recovery module — lost key means permanently locked funds

#16

Recovery Mechanism Takeover by Colluding Guardians

HighKrait

Social recovery guardians can collude to take over the Safe without the owner's knowledge

#17

Session Key Over-Permissioning

High

Session keys granted overly broad permissions — no amount, target, or time restrictions

#18

UserOperation Validation Insufficient

High

ERC-4337 account validates UserOperation signature but not the operation parameters

#19

Paymaster Drain via Gas Manipulation

High

ERC-4337 paymaster can be drained by submitting operations with inflated gas parameters

#20

Upgrade Path Missing or Unprotected

Medium

Smart account has no upgrade path, or upgrade can be triggered without full owner authorization

Need a Professional Wallet or AA Audit?

Smart wallets and account abstraction systems are the most security-critical code in Web3 — they directly custody user funds. Get your wallet, Safe module, or AA system audited by a team that understands EIP-712, Safe compatibility, and ERC-4337.

oog
zealynx

Smart Contract Security Digest

Monthly exploit breakdowns, audit checklists, and DeFi security research — straight to your inbox

© 2026 Zealynx