登录 后可观看高清视频

高级 Web3 安全课程 | 第一部分

42次播放
2025-07-01

视频总结:

核心内容:

该视频是Web3安全高级培训课程的第一部分,旨在帮助有一定基础的安全研究人员提升技能,成为高级审计员。课程内容涵盖了智能合约安全的基础知识、高级DeFi概念、常见的攻击模式以及审计技巧。

关键论据/信息:

  • 课程结构: 课程分为两部分,第一部分包含超过20小时的Web3安全培训,包括三个任务和两个小任务。鼓励学员组队完成任务,并在Discord社区进行协作。
  • 核心主题: 课程涵盖了智能合约设计原则、外部调用攻击向量、重入漏洞、智能合约测试原则、永续合约、抢跑交易、三明治攻击、审计技巧、EVM基础知识等。
  • 实战任务: 课程包含实战任务,例如构建永续合约协议,旨在帮助学员深入理解DeFi概念和开发者的常见问题。
  • 审计技巧: 课程强调了审计方法,包括代码审查、漏洞分析和报告撰写。
  • EVM精通: 课程深入讲解了EVM的内存管理、调用数据等底层概念。
  • 强调实践: 课程鼓励学员完成作业,并提供Discord社区进行协作和讨论。
  • Gateway计划: 视频发布者同时宣布推出Gateway训练营,为初级安全研究人员提供更深入的实践指导。
  • Less Code原则: 强调代码简洁的重要性,指出代码量与漏洞数量呈指数关系,并建议精简存储变量。
  • 避免循环: 强调避免在智能合约中使用循环,以防止DoS攻击。
  • 限制输入: 强调对用户输入进行严格验证,防止恶意输入导致意外行为。
  • 处理所有情况: 强调考虑所有可能的情况,包括稳定币脱钩、资不抵债的清算等。
  • 避免并行数据结构: 强调避免使用并行数据结构,以防止数据不一致。
  • 外部调用安全: 强调外部调用的风险,包括重入、DoS攻击、返回值处理和gas限制。
  • 后置检查: 强调在交易完成后进行后置检查,以确保状态一致性。
  • 代码覆盖率的局限性: 强调100%代码覆盖率并不意味着没有漏洞,需要关注边缘情况。
  • Fuzzing测试: 强调Fuzzing测试的重要性,可以发现手动分析难以发现的漏洞。
  • Echidna工具: 介绍了Echidna工具,可以进行Fuzzing测试,并生成代码覆盖率报告。
  • 路径依赖测试: 介绍了路径依赖测试,可以发现由于交易顺序不同而产生的漏洞。
  • 重入漏洞: 介绍了四种重入漏洞,包括经典重入、跨函数重入、跨合约重入和只读重入。
  • 抢跑交易攻击: 介绍了抢跑交易攻击,以及如何通过设置滑点保护来防止攻击。
  • 三明治攻击: 介绍了三明治攻击,以及如何通过设置滑点保护来防止攻击。
  • 代码示例: 提供了大量的代码示例,帮助学员理解各种概念和攻击模式。
  • 审计流程: 介绍了审计流程,包括识别外部调用、分析状态变量和评估风险。
  • 代码风格: 介绍了代码风格,包括使用自定义错误、使用YUL等。
  • 文档: 强调了文档的重要性,包括协议总结、协议组件和组件交互流程。
  • 持续学习: 强调持续学习的重要性,并提供了学习资源,例如CodeHawks和Solidity Lab。