FIX-WITH-AVII/audit-notes

GitHub: FIX-WITH-AVII/audit-notes

一个以专业审计竞赛格式编写的小型智能合约安全审查实践笔记库,用于积累和分享漏洞发现与修复经验。

Stars: 0 | Forks: 0

# 审计笔记 小型智能合约的安全审查实践,采用专业审计比赛(如 Code4rena、Sherlock 和 Cantina)所使用的格式编写。 ## 发现格式 每项发现的编写格式如下: ### [严重程度] 标题 - **严重程度:** High / Medium / Low / Informational - **目标:** 文件和函数 - **描述:** 问题是什么 - **影响:** 攻击者能实现什么 - **概念验证:** 触发该问题的步骤或代码 - **建议:** 具体的修复方案 ## 严重程度指南 | 严重程度 | 含义 | | --- | --- | | High | 直接的资金损失或合约完全被攻破 | | Medium | 有条件的损失,或需要特定状态才能造成的破坏 | | Low | 影响有限,难以利用 | | Informational | 最佳实践、Gas 或代码质量 | ## 发现示例 ### [High] withdraw 中的重入漏洞耗尽了金库 - **严重程度:** High - **目标:** VulnerableVault.withdraw() - **描述:** 对调用者的外部调用在余额清零之前执行。 - **影响:** 恶意合约重入 withdraw() 并反复提款,耗尽所有存款。 - **概念验证:** 攻击者存款后,调用 withdraw(),然后在余额清除之前从其 receive() 函数重入。 - **建议:** 应用检查-生效-交互模式并添加重入锁。请查看 vulnerable-then-fixed 仓库中已修复的合约。 ## 审查报告 完成的审查将持续添加。
标签:区块链, 学习资源, 智能合约, 漏洞分析, 路径探测, 防御加固