文章 视频 课程 百科图谱 集训营
更多
  • 问答
  • 提问
  • 发表文章
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 发现
  • 文章
  • 问答
  • 视频
  • 课程
  • 集训营
  • 专栏
  • 活动
  • 工作
  • 文档
  • 集市
搜索
  • 登录/注册
0xOwenThurm
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的视频 TA的合集
高级 Web3 安全课程 | 第九部分
视频 AI 总结: 该视频主要讲解了智能合约的形式化验证,强调其作为最高级别的测试手段,能够彻底证明合约在任何情况下的行为符合预期。与单元测试或模糊测试不同,形式化验证通过布尔公式将智能合约代码转换为 SMT 求解器可解释的形式,从而验证特定不变性。视频还介绍了如何使用 Solidity 内置的 SMT 检查器进行形式化验证,并通过实例演示了如何通过添加 require 语句来限制输入范围,从而使断言通过验证。 关键信息: * 形式化验证基于布尔公式,通过 SMT 求解器检查公式的满足性。 * SMT 检查器通过检查布尔公式的否定的不可满足性来验证断言。 * 可以通过 require 语句限制输入范围,使断言通过形式化验证。 * SMT 检查器不仅可以用于断言验证,还可以用于检查溢出、下溢、除零等潜在问题。 * SMT 检查器有其局限性,对于过于复杂的代码可能无法证明。 * 视频还介绍了如何通过提供价值和建立联系来获取审计机会,以及如何通过参加竞赛来展示自己的能力。
28
0
0
1天前
高级 Web3 安全课程 | 第八部分
视频 AI 总结: 该视频是关于智能合约审计培训的 mob auditing 会议,重点在于使用 mob auditing 的方法来查找智能合约中的漏洞。视频中,讲师带领学员们对一个 Perpetual Protocol 的智能合约实现进行审计,并逐步讲解了 mob auditing 的流程和技巧,最终学员们成功发现了一些关键漏洞。 关键信息: 1. **Mob Auditing 介绍:** 类似于 pair programming,但规模更大,有多人参与,角色包括驱动者(driver)和指导者(dictator),其他人作为 mob 提供想法。 2. **Mob Auditing 流程:** 驱动者分享屏幕并逐行解释代码,指导者提出问题和 edge cases,mob 成员随时提出潜在的 bug 或漏洞,角色定期轮换。 3. **审计目标:** 理解如何开仓、追踪盈亏、平仓实现利润、实现损失、存入和执行流动性。 4. **发现的漏洞:** * `increasePosition` 函数中缺少对最大杠杆的验证,可能导致用户开设过高杠杆的仓位。 * USDC 黑名单问题,可能导致用户无法提取资金。 * 清算费用计算中的舍入误差,可能导致小额仓位无法收取清算费用。 5. **Fuzzing 和 Invariant Testing:** 介绍了 fuzzing 和 invariant testing 的概念,以及如何在 Foundry 中使用它们来发现智能合约中的漏洞。 6. **Echidna 介绍:** 介绍了 Echidna 这一更高级的模糊测试工具,它能够进行更复杂的 invariant testing,并提供代码覆盖率报告和可重现的测试用例。
30
0
0
1天前
高级 Web3 安全课程 | 第七部分
视频 AI 总结: 该视频主要讲解了 ERC-4626 的通货膨胀攻击,OpenZeppelin 如何解决这个问题,以及 AMM 的相关知识,包括 AMM 的数学原理、Uniswap V3 的深度解析,以及与链上 AMM 相关的预言机操纵。视频详细解释了通货膨胀攻击的原理,以及 OpenZeppelin 的实现如何降低攻击的可行性,并提供了调整参数以几乎完全避免该问题的方案。此外,还深入探讨了 AMM 的运作机制,包括常数积公式、流动性提供等,并分析了 Uniswap V3 中范围流动性的概念和实现方式。最后,视频还讨论了预言机操纵攻击,包括攻击方式、防范措施以及 Chainlink 的应用。 关键信息: 1. ERC-4626 通货膨胀攻击的原理和 OpenZeppelin 的解决方案。 2. OpenZeppelin 通过使用虚拟资产和份额来降低通货膨胀攻击的盈利性。 3. AMM 的基本原理,包括常数积公式(x * y = k)和流动性提供。 4. Uniswap V3 的范围流动性概念,以及如何通过调整价格范围来提高资金利用率。 5. 预言机操纵攻击的原理和防范措施,包括时间加权平均价格(TWAP)的应用。 6. Chainlink 作为一种更安全的预言机解决方案。 7. Uniswap V3 中,每个 tick 都遵循一个公式,该公式本质上指出,每个 tick 都对应于必须提高 1.0001 的幂才能获得价格 P 的价格。
26
0
0
1天前
高级 Web3 安全课程 | 第六部分
视频 AI 总结: 该视频主要讲解了智能合约的可升级性,并深入探讨了五种常见的升级模式:永恒存储、透明代理、通用可升级代理(UUPS)、信标代理和钻石标准。视频详细分析了每种模式的原理、优缺点以及潜在的安全风险,例如存储冲突和函数选择器冲突。此外,视频还通过实际代码示例,展示了这些升级模式在智能合约中的应用,并讨论了在选择升级模式时需要考虑的关键因素。 视频中提出的关键信息: 1. **五种升级模式:** 永恒存储、透明代理、UUPS、信标代理和钻石标准。 2. **永恒存储:** 将数据存储与逻辑分离,通过逻辑合约操作数据合约。 3. **透明代理:** 使用代理合约将调用委托给实现合约,实现逻辑升级。 4. **UUPS:** 将升级逻辑放在实现合约中,简化代理合约。 5. **信标代理:** 多个代理合约共享一个信标合约,信标合约指向实现合约。 6. **钻石标准:** 将合约功能分解为多个 facet,通过钻石合约路由调用。 7. **存储冲突:** 升级后,新的实现合约可能覆盖旧的存储变量。 8. **函数选择器冲突:** 代理合约和实现合约可能存在相同函数选择器,导致调用错误。 9. **安全风险:** 访问控制不当、升级逻辑错误等可能导致安全漏洞。 10. **gas 效率:** 不同的升级模式在 gas 消耗方面存在差异。
29
0
0
1天前
高级 Web3 安全课程 | 第五部分
视频 AI 总结: **核心内容概要:** 该视频主要讲解了以太坊 Solidity 智能合约中常见的两种安全漏洞:舍入误差(Rounding Issues)和签名可延展性(Signature Malleability)。视频深入分析了这两种漏洞的根本原因、常见表现形式,并通过实际案例展示了如何识别和防范这些问题。目的是帮助开发者在进行智能合约安全审计时,能够更好地发现和修复潜在的安全风险。 **关键信息:** * **舍入误差:** * 根本原因是 Solidity 不支持浮点数,除法运算会进行截断(Truncation),导致精度丢失。 * 常见场景包括计算平均价格、分配奖励等,如果未充分考虑精度问题,可能导致资金损失或协议被操纵。 * 解决方法包括使用足够的小数位数、采用向上取整或向下取整策略,并根据具体业务逻辑进行调整。 * **签名可延展性:** * 根本原因是 ECDSA 算法中,对于同一个消息,存在多个有效的签名。 * 攻击者可以利用这一特性,篡改签名中的 `s` 值,生成另一个有效的签名,从而重复执行某些操作。 * 解决方法是限制签名中 `s` 值的范围,只接受小于 `n/2` 的 `s` 值,从而避免签名可延展性攻击。 * **案例分析:** * 视频通过两个具体的漏洞案例,详细展示了舍入误差和签名可延展性在实际项目中的表现形式,以及相应的修复方案。 * **安全审计建议:** * 在进行智能合约安全审计时,需要特别关注除法运算和 ECDSA 签名验证,仔细分析是否存在舍入误差和签名可延展性问题。 * 需要充分考虑各种边界情况和异常输入,确保智能合约的安全性。
29
0
0
1天前
高级 Web3 安全课程 | 第四部分
视频 AI 总结: **核心内容概要:** 该视频是关于Web3高级安全主题课程的第二部分,主要讲解Perpetuals、AMM、Oracle操纵、舍入误差等高级安全审计技能。课程旨在帮助智能合约安全研究员和区块链工程师提升技能,快速成为高级安全审计员。视频还介绍了课程资源、任务和社群互动方式,并分享了Guardian Audits在智能合约审计中发现的漏洞案例,旨在帮助学习者建立安全审计的工具箱。 **关键信息:** * **课程内容:** * 深入研究Perpetuals,并将其转化为实际的审计技能。 * 涵盖AMMs、Oracle操纵、舍入误差等主题。 * 讲解升级模式(Upgradability Patterns)及相关漏洞。 * 学生代码走查(Student Code Walks),分析他人代码中的漏洞。 * 高级攻击手段,如ERC 4626通货膨胀攻击。 * 模糊测试(Fuzzing)和形式化验证(Formal Verification)等验证方法。 * 市场策略(Approaching the Marketplace)建议。 * **课程资源:** * 课程中心(Course Hub)提供必要的资源和任务。 * Solidity Lab Discord社群用于交流和提问。 * **审计任务(Mission 3):** * 审计其他团队的代码库,或审计讲师提供的代码库。 * 编写审计报告,包括漏洞发现、修复建议和核心协议不变性。 * 提交模糊测试套件(Fuzzing Suite)和代码覆盖率报告。 * 总结漏洞发现的启发式方法(Heuristics)。 * **漏洞案例:** * Ethernote:不正确的费用结构导致会计不一致。 * Key Finance:奖励复利可被抢先交易(Sandwichable)。 * DOS攻击:无限制的循环导致拒绝服务。 * IDX:交换保证金可用于从AMM中提取资金。 * GMX:无限制的交换路径长度导致气体操纵。 * GMX:列入黑名单的地址可用于阻止清算。
28
0
0
1天前
高级 Web3 安全课程 | 第三部分
视频内容 AI 总结: **核心内容概要:** 该视频主要讲解了Perpetuals协议Mission 2的目标和具体内容,包括增加交易者减少仓位、抵押品,以及引入清算功能、借款费用和仓位费用等。视频详细解释了这些功能的实现逻辑,以及可能出现的边界情况和注意事项,旨在为开发者提供清晰的开发指南,并为社区推出Perpetuals协议做准备。同时,视频还深入探讨了EVM(以太坊虚拟机)的存储结构,包括堆栈、内存、调用数据和存储,以及它们在交易执行中的作用,并详细分析了GMX和Safe Transfer Lib中的代码示例,以帮助开发者更好地理解和应用EVM知识。 **关键信息:** * **Mission 2目标:** 增加交易者减少仓位、抵押品的功能,引入清算功能,收取借款费用和仓位费用。 * **清算机制:** 任何人都可以调用清算函数,清算人将获得清算费用,以激励清算。 * **费用:** 引入借款费用(给流动性提供者)和仓位费用(可选)。 * **EVM存储:** 堆栈(临时数据)、内存(临时数据,用于存储结构体)、调用数据(只读数据,用于函数调用)、存储(永久数据,区块链数据库)。 * **Opcodes:** EVM指令,用于操作存储区域的数据。 * **GMX示例:** 分析了GMX代理合约中的汇编代码,展示了如何优化合约以节省gas。 * **Safe Transfer Lib示例:** 分析了Safe Transfer Lib中的汇编代码,展示了如何安全地处理地址和避免脏数据。 * **Calldata:** 深入分析了Calldata的结构,包括静态数据和动态数据的编码方式,以及如何解析复杂的Calldata结构。 * **内存安全:** 讨论了内存安全的重要性,以及如何避免覆盖已分配的内存和保持零槽的零值。
34
0
0
2天前
高级 Web3 安全课程 | 第二部分
视频总结: **核心内容概要:** 该视频主要讲解了如何撰写一份出色的漏洞报告,强调了报告的重要性,不仅能赢得比赛,更能说服项目方修复漏洞。视频详细介绍了优秀报告的组成部分,包括清晰的根本原因、明确的影响、简洁的表达,以及提供代码或概念验证。视频还通过一个实际的例子,展示了如何针对一个简单的 gas 优化问题撰写一份高质量的报告,并分享了学习优秀报告的资源。 **关键信息:** * **漏洞报告的重要性:** 赢得比赛、获得奖励,最重要的是说服项目方修复漏洞。 * **优秀报告的组成部分:** * 清晰的根本原因(Root Cause) * 明确的影响(Impact) * 简洁的表达(Succinct) * 提供代码或概念验证(Proof of Concept/Code) * **撰写报告的步骤:** * 撰写引人注目的标题(Root Cause + Impact) * 选择合适的严重程度(Severity) * 添加相关代码链接(GitHub Links) * 撰写简洁的摘要(Summary) * 详细描述漏洞细节(Vulnerability Details) * 说明漏洞的影响,并提供代码或概念验证(Impact) * 列出使用的工具(Tools Used) * 给出清晰的修复建议(Recommendations) * **学习优秀报告的资源:** * Solid it 平台:搜索和学习其他团队的报告。 * Code Hawks 平台的 Beetle 竞赛报告:学习 Defi 领域的常见问题。 * **代码审计实战:** * 确定审计目标:理解如何铸造代币、抵押品如何运作、清算机制等。 * 代码分析:识别潜在问题,如循环中的 gas 消耗、价格操纵等。 * 问题记录:记录审计过程中的发现和思考。 * **代码走查(Code Walk):** * 代码走查是一种交互式的代码审查方法,通过讲解代码库的设计和功能,促进代码理解和问题发现。 * 参与者分为讲解者(Walker)和审查者(Reviewer),讲解者负责解释代码,审查者负责提问和提出建议。 * 代码走查有助于提高代码沟通能力、发现潜在问题、加深对代码库的理解。
52
0
0
2天前
高级 Web3 安全课程 | 第一部分
视频总结: **核心内容:** 该视频是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。
74
0
0
3天前
构建您的审计工具包
视频的核心内容是通过分析审计报告来提升审计技能,特别是理解审计师的思维方式和发现漏洞的过程。讲者Owen分享了他在Guardian Audits的经验,介绍了三项具体的审计发现,并提供了相应的启发式方法,以帮助观众在自己的审计工作中识别类似的漏洞。 关键论据和信息包括: 1. **审计师的思维方式**:理解审计师如何发现漏洞是提升审计能力的关键。审计报告通常缺乏对发现过程的详细说明,因此Owen希望通过分享自己的经验来填补这一空白。 2. **具体审计发现**: - **Bridges Exchange的漏洞**:通过转移锁定的代币,攻击者可以缩短锁定期。Owen强调在赋值状态变量时要考虑所有可能的边界情况。 - **Reliquary的截断避免问题**:代码中的分支逻辑可能导致精度损失,Owen建议使用极端值来测试逻辑的正确性。 - **gmxv2的全局漏洞**:由于try-catch块未能捕获所有类型的revert,攻击者可以利用这一点进行无风险交易。Owen强调编写测试用例的重要性,以便及早发现潜在问题。 3. **启发式方法**:Owen提供了一些实用的启发式方法,帮助审计人员在审计过程中识别和分析漏洞,包括关注状态变量的变化、测试极端值以及编写测试用例等。 最后,Owen鼓励观众参与审计社区,分享发现并提升自己的审计技能,同时介绍了他所提供的智能合约审计课程。
325
0
0
2025-02-10 14:36
  • ‹
  • 1
  • 2
  • 3
  • 4
  • ›
0xOwenThurm
0xOwenThurm
贡献值: 5 学分: 10
www.youtube.com/@0xOwenThurm
0 关注 4 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2025 登链社区 版权所有 | Powered By Tipask3.5|
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览