bizzorotical-ank01/smart-contract-audit-checklist

GitHub: bizzorotical-ank01/smart-contract-audit-checklist

一个使用 Hardhat 展示智能合约常见漏洞与修复方法的审计教学项目。

Stars: 0 | Forks: 0

智能合约审计检查清单

一个注重安全的项目,使用 Hardhat 展示现实世界中的智能合约漏洞及其修复方法。

## 项目结构 smart-contract-audit-checklist/ │ ├── contracts/ │ ├── Vulnerable/ │ │ ├── Reentrancy.sol │ │ ├── AccessControl.sol │ │ └── Overflow.sol │ │ │ └── Fixed/ │ ├── ReentrancyFixed.sol │ ├── AccessControlFixed.sol │ └── OverflowFixed.sol │ ├── test/ │ ├── audit.test.js │ ├── access.test.js │ └── overflow.test.js │ ├── checklist/ │ └── audit-checklist.md │ ├── scripts/ │ └── analyze.js │ └── README.md ## 目的 本仓库演示如何: - 识别关键智能合约漏洞 - 利用不安全的实现进行攻击 - 应用安全修复 - 使用自动化测试验证安全性 ## 涵盖的漏洞 ### 1. 重入攻击 #### 问题: - 外部调用在状态更新之前发生,允许攻击者重新进入合约。 #### 影响: - 资金可能被耗尽。 #### 修复: - 使用“检查-影响-交互”模式 - 使用 ReentrancyGuard #### 案例: 1. 漏洞案例(攻击成功) ![重入基础测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6f3dc06b4b092542.png) 2. 修复案例(攻击失败) ![重入修复测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/6d8bbbde4c092552.png) ### 2. 访问控制漏洞 #### 问题: - 函数缺乏适当的授权检查。 #### 影响: - 未经授权的用户可以获取所有权或执行特权操作。 #### 修复: - 实现 onlyOwner - 使用基于角色的访问控制 #### 案例: 1. 漏洞案例(攻击成功) ![访问控制基础测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2eef82aa4d092559.png) 2. 修复案例(攻击失败) ![访问控制修复测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e78f6a282a092600.png) ### 3. 整数溢出 #### 问题: - 未检查的算术运算导致溢出。 #### 影响: - 余额不正确或逻辑破坏。 #### 修复: - 使用 Solidity ≥0.8(内置检查) - 仅在必要时使用 unchecked #### 案例: 1. 漏洞案例(攻击成功) ![整数溢出基础测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ddc18ff23d092602.png) 2. 修复案例(攻击失败) ![整数溢出修复测试](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e78f6a282a092600.png) ## 测试策略 每个漏洞包含: - 攻击测试(证明漏洞存在) - 修复测试(证明漏洞被缓解) 运行所有测试: npx hardhat test ## 安装 npm install npx hardhat compile npx hardhat test ## 审计检查清单 ### 位置: checklist/audit-checklist.md ### 包含: - 访问控制审查 - 重入检查 - 算术安全性 - Gas 优化提示 - 存储布局验证 ## 展示技能 - 智能合约安全分析 - 编写攻击模拟 - 安全 Solidity 开发 - Hardhat 测试框架 - 漏洞重现与缓解 ## 感谢 本项目由 @bizzorotical-ank01 开发,专注于智能合约安全与审计的学习之旅。 它旨在用于教育和实践目的,模拟现实世界的 DeFi 漏洞,帮助开发者理解: - 智能合约中的安全漏洞如何发生 - 攻击者如何利用这些漏洞 - 如何实现安全且健壮的修复 本仓库作为实践学习资源,供希望提升智能合约安全与审计技能的开发者使用。 欢迎探索本仓库的代码和文档。 如有疑问或建议,请连接交流,祝你好运,伙计!
标签:Checks-Effects-Interactions, Hardhat, ReentrancyGuard, Smart Contract Auditing, Solidity, Streamlit, 区块链安全, 单元测试, 去中心化安全, 合约审计清单, 数据可视化, 整数溢出, 智能合约安全, 漏洞修复, 漏洞演示, 网络安全培训, 自定义脚本, 访问控制, 重入攻击, 防御编程