智能合约风险识别入门手册
📚 共计 30 章节
第1章
智能合约安全入门
什么是智能合约 · 为什么需要关注安全 · 常见安全事件回顾 · 本课程的学习路径
基础
概念
第2章
Solidity基础回顾
数据类型与变量 · 函数修饰符 · 事件与日志 · 地址与转账
Solidity
语法
第3章
重入攻击 (Reentrancy)
攻击原理 · 经典DAO攻击案例 · 防御手段 (检查-效果-交互模式、重入锁)
经典漏洞
重入
第4章
访问控制漏洞
tx.origin与msg.sender区别 · Ownable模式缺陷 · 权限管理最佳实践
权限
Ownable
第5章
整数溢出漏洞
Solidity 0.8+默认检查 · SafeMath库 · 实际案例解析
算术
SafeMath
第6章
前端运行 (Front-running)
Mempool机制 · 抢跑攻击原理 · Commit-Reveal方案 · 滑点保护
MEV
抢跑
第7章
时间戳依赖漏洞
block.timestamp可操纵性 · 15秒规则 · 避免时间戳作为随机源
时间戳
随机数
第8章
Gas消耗与拒绝服务
Gas限制攻击 · 无限循环 · 区块Gas上限 · Gas高效编码习惯
Gas
DoS
第9章
闪电贷攻击
闪电贷原理 · 价格操纵 · 流动性池攻击 · 预言机安全
闪电贷
DeFi
第10章
预言机安全
中心化预言机风险 · TWAP机制 · 去中心化预言机网络 · 喂价延迟问题
预言机
价格
第11章
随机数安全
链上随机数脆弱性 · RANDAO · VRF · Commitment方案
随机数
VRF
第12章
代理合约与逻辑漏洞
透明代理与UUPS模式 · 存储冲突 · 函数选择器冲突 · 初始化函数问题
代理
升级
第13章
自毁函数与合约销毁
selfdestruct风险 · 强制发送ETH · 合约不可变性
selfdestruct
销毁
第14章
委托调用 (delegatecall) 风险
上下文混淆 · 存储布局冲突 · 典型攻击案例
delegatecall
存储
第15章
未初始化存储指针
结构体指针 · 映射默认值 · 存储覆盖攻击
存储
指针
第16章
短地址攻击
EVM填充机制 · ERC20转账漏洞 · 前端校验方法
ERC20
编码
第17章
签名重放攻击
EIP-712标准 · nonce机制 · 签名有效期 · 链ID绑定
签名
EIP-712
第18章
approve与permit机制
无限授权风险 · permit钓鱼攻击 · 安全授权策略
授权
permit
第19章
MEV与矿工可提取价值
MEV分类 · 三明治攻击 · MEV缓解策略 · Flashbots
MEV
三明治
第20章
跨链桥安全
跨链通信原理 · 验证者集攻击 · 中继器风险 · 轻客户端验证
跨链
桥
第21章
NFT合约安全
ERC721与ERC1155差异 · 铸币漏洞 · 版税机制 · 元数据冻结
NFT
ERC721
第22章
治理合约安全
投票权重计算 · 提案执行延迟 · 治理攻击 (闪电贷投票) · 时间锁配置
治理
DAO
第23章
合约升级安全
可升级模式对比 · 存储布局兼容性 · 初始化函数保护 · 升级权限管理
升级
代理
第24章
经济模型漏洞
通缩代币 · 税收机制 · 滑点计算 · 流动性池平衡
经济
代币
第25章
事件与日志安全
事件索引 · 敏感信息泄露 · 日志伪造 · 链下监听风险
事件
日志
第26章
测试与审计方法论
单元测试 · 模糊测试 · 形式化验证 · 审计报告解读
测试
审计
第27章
安全开发工具链
Slither静态分析 · Mythril符号执行 · Foundry测试框架 · Hardhat安全插件
工具
Slither
第28章
漏洞赏金与应急响应
漏洞披露流程 · 暂停机制 · 资金回收 · 保险协议
赏金
应急
第29章
合规与监管风险
证券法认定 · KYC/AML要求 · 地域限制 · 法律意见书
合规
监管
第30章
综合实战演练
模拟审计一个DeFi合约 · 编写安全报告 · 修复建议 · 复盘总结
实战
审计