Security Vulnerability Checklist for Smart Contract Auditors
This checklist provides a systematic approach to smart contract auditing. Work through each category methodically to ensure no vulnerability class is overlooked.
Pre-Audit Setup
Essential preparation before starting the code review.
Access Control Checks
Verify all authorization and permission mechanisms.
Reentrancy Analysis
Check for all types of reentrancy vulnerabilities.
Arithmetic and Logic
Verify mathematical operations and business logic.
External Interactions
Review all interactions with external contracts and users.
Protocol-Specific Checks
Checks specific to DeFi protocol types.
Gas and DoS
Check for denial of service and gas-related issues.
Upgrade and Proxy Safety
For upgradeable contracts, verify upgrade safety.
Tips from the field
- 1.
Start with the highest-value functions (those handling the most funds) and work outward.
- 2.
Keep a running list of potential issues during first pass, then investigate each thoroughly.
- 3.
Write proof-of-concept exploits for all medium+ severity findings. If you can't exploit it, reconsider the severity.
- 4.
Review similar protocol audits for context. Past vulnerabilities in comparable code are likely to reappear.
- 5.
Document your findings as you go. Waiting until the end often means missing details you noticed early.