📘 智能合约安全审计实战指南
30章 · 从入门到审计
01
智能合约安全概述
Web3安全现状
常见攻击类型
审计流程与标准
02
Solidity基础回顾
数据类型
函数修饰符
事件与继承
ABI编码
03
重入攻击原理与实战
单函数重入
跨函数重入
重入锁
检查-效果模式
04
访问控制漏洞
Ownable模式缺陷
tx.origin vs msg.sender
角色权限管理
05
整数溢出与下溢
SafeMath库
Solidity 0.8+内置检查
实战案例分析
06
前端操纵与闪电贷攻击
价格预言机操纵
闪电贷攻击流程
TWAP & Chainlink防御
07
未检查的外部调用
call/delegatecall/staticcall
返回值处理
重入与代理陷阱
08
拒绝服务攻击
Gas耗尽
自毁函数
循环依赖
不可终止合约
09
时间戳依赖与随机数漏洞
block.timestamp操纵
链上随机数缺陷
VRF & Commit-Reveal
10
代理合约与逻辑升级漏洞
透明代理
UUPS模式
存储冲突/函数选择器冲突
11
自毁函数与合约自杀
selfdestruct风险
强制发送ETH
合约不可逆操作
12
未初始化存储指针
结构体指针
映射指针
存储布局错误
13
短地址攻击与ABI编码漏洞
参数填充
编码差异
前端验证
14
签名重放攻击
EIP-712
nonce机制
签名有效期/链ID绑定
15
前端运行与MEV攻击
交易排序
三明治攻击
Flashbots & 隐私交易
16
Gas优化与漏洞
Gas消耗估算
循环优化
存储与内存选择
17
事件日志伪造
事件索引
emit滥用
日志验证
18
权限提升与后门
构造函数改名
初始化函数未锁定
管理员后门
19
跨链桥安全
跨链消息验证
中继器信任
轻客户端验证
20
DeFi协议安全
借贷协议
AMM池
质押与奖励分配漏洞
21
NFT合约安全
ERC-721/1155实现缺陷
元数据冻结
白名单漏洞
22
治理合约安全
投票权重计算
提案执行延迟
治理攻击
23
静态分析工具
Slither
Mythril
Securify使用与报告
24
动态分析工具
Foundry测试
Hardhat调试
Echidna模糊测试
25
形式化验证入门
SMT求解器
Certora Prover
不变式检查
26
审计报告撰写
漏洞分类
严重等级
修复建议/PoC编写
27
实战案例一:DAO攻击复盘
The DAO事件
重入攻击经典
分叉与教训
28
实战案例二:Parity多签钱包漏洞
钱包逻辑缺陷
意外自毁
资产冻结
29
实战案例三:BNB跨链桥攻击
跨链消息伪造
验证绕过
资产盗取
30
审计职业发展
审计师技能树
认证路径
社区资源与持续学习