登录 后可观看高清视频

智能合约审计、DeFi安全课程 | Tswap 重新审计(续)

27次播放
1天前

视频 AI 总结: 该视频主要讲解了在智能合约安全审计中如何利用模糊测试(Fuzzing)和不变性测试(Invariant Testing)来发现漏洞,并以 TSWAP 协议为例,展示了从无到有构建测试套件的过程。视频强调了理解协议核心不变性的重要性,并介绍了无状态模糊测试、有状态模糊测试(包括 open 方法和 handler 方法)等不同测试策略。通过实例演示,说明了如何编写测试代码,以及如何解读测试结果,最终成功发现 TSWAP 协议中的一个漏洞。

视频中提出的关键信息包括:

  1. 模糊测试(Fuzzing):通过向系统输入随机数据来尝试破坏它,分为无状态和有状态两种。
  2. 不变性测试(Invariant Testing):验证系统中的某些属性是否始终成立,即使在随机输入下。
  3. 无状态模糊测试:每次测试都从头开始,不保留之前的状态。
  4. 有状态模糊测试:每次测试都基于前一次测试的状态,模拟更复杂的交互场景。
  5. Handler 方法:通过创建一个 Handler 合约来限制模糊测试的范围,使其更贴近实际使用场景。
  6. 核心不变性:协议中必须始终保持的属性,例如 TSWAP 协议中的 x * y = k。
  7. WEIRD ERC20s:具有非标准行为的 ERC20 代币,可能导致协议出现漏洞。
  8. 代码覆盖率:使用 Foundry 提供的工具来检查测试覆盖率,确保测试充分。
  9. 工具链:Slither、Adarin 等静态分析工具可以辅助发现潜在问题。
  10. 手动代码审查:即使有自动化工具,也需要进行手动代码审查,以发现逻辑错误和潜在风险。
  11. 报告撰写:清晰地描述漏洞、影响、复现步骤和修复建议。