1. 审计前先做什么
外部审计前,你至少应完成:
- 威胁建模(资产、权限、攻击面)
- 测试覆盖核心路径与失败路径
- 不变量测试(invariant)
- 版本和配置冻结(编译器、依赖)
2. 推荐审计流程
- 内部安全评审
- 静态分析与自动化扫描
- 外部审计
- 修复与复审
- 上线前最终签署
3. 检查清单(可直接复用)
- 所有关键函数具备权限约束
- 升级权限在多签 + Timelock
- 价格来源具备抗操纵能力
- 外部调用路径具备重入防护
- 关键参数变更有事件记录
- 紧急暂停流程已演练
- 多链地址映射已逐链验证
4. 常见“审计后仍出事故”的原因
- 合约改了但未复审
- 部署参数和审计环境不一致
- 运维权限没有按建议移交
- 监控和告警系统缺失
审计是必要条件,不是充分条件。