LuisMiguelCG/Audits-of-Vulnerable-Smart-Contracts

GitHub: LuisMiguelCG/Audits-of-Vulnerable-Smart-Contracts

包含故意植入漏洞的Solidity智能合约集合,配合Foundry测试用例,用于学习智能合约安全审计与漏洞利用实践。

Stars: 0 | Forks: 0

# 🛡️ 智能合约安全审计 – Foundry 实践 ![Solidity](https://img.shields.io/badge/Solidity-0.8.x-blue) ![Foundry](https://img.shields.io/badge/Foundry-Framework-black) ![状态](https://img.shields.io/badge/Status-Educational-orange) ![安全](https://img.shields.io/badge/Security-Audit-red) ## 📌 概述 本仓库包含作为**智能合约安全审计实践**的一部分进行的审计: 该项目专注于识别、利用和理解与**资金管理系统**相关的 Solidity 智能合约中的漏洞。 ## 🎯 范围 审计的合约模拟真实世界的金融逻辑,包括: * 💰 众筹系统 * 🔁 退款机制 * 🏦 资金库管理 * 🎁 奖励兑换系统 这些合约经过特意设计,包含漏洞,以支持**实践审计练习**。 ## 🔍 审计方法论 审计过程分为两个互补的阶段: ### 🧠 1. 人工审查 对智能合约代码进行彻底检查,以识别: * 访问控制漏洞 * 重入风险 * 不安全的外部调用 * 算术问题(溢出/下溢) * 业务逻辑缺陷 ### 🧪 2. 利用与验证(Foundry) 所有发现都通过 **Foundry** 进行了验证,包括: * 编写自定义测试合约 * 模拟攻击者控制的合约 * 重现真实利用场景 ## 🚨 发现的关键漏洞 ### 🔴 严重 * 重入攻击 → 合约资金被完全抽干 * 不当访问控制(`tx.origin`) → 合约被接管 * 拒绝服务(DoS) → 退款被阻塞 * 逻辑错误导致资金被锁定 * 不安全的外部调用 ### 🟠 重大 * 算术下溢(通过 `unchecked`) → 余额错误 * 函数可见性不当 → 未授权的资金转移 ## ⚠️ 影响分析 ### 👤 用户 * 资金损失(部分或全部) * 无法提取资产 * 暴露于恶意合约 ### 🏦 协议 * 失去对合约逻辑的控制 * 系统不稳定或意外行为 * 资金永久锁定 * 信任度和可靠性丧失 ## 🧪 概念验证(PoC) 每个漏洞都配有 **Foundry 测试**,演示: * 如何触发利用 * 产生的状态变化 * 财务影响 ### 示例: * 🔁 重入攻击合约抽干资金 * 🎭 恶意合约利用 `tx.origin` * 💣 DoS 攻击阻塞退款循环 ## 🛠️ 技术栈 * **Solidity(0.8.x)** * **Foundry(Forge 和 Cast)** * 人工安全分析 ## ✅ 应用的安全最佳实践 * Checks-Effects-Interactions 模式 * 使用 `msg.sender` 进行适当的访问控制 * 外部调用验证 * 推改拉支付模型 * 安全的算术运算 * 限制函数可见性 ## 📚 教育目的 本仓库是智能合约审计**实践学习练习**的一部分。 目标是: * 了解常见漏洞 * 学习如何安全地利用它们 * 应用安全编码实践 ## ⚠️ 免责声明 ❌ 请勿在生产环境中使用此代码 ❌ 请勿在真实环境中部署 ## 👨‍🎓 作者 **Luis Miguel Campos García** 马拉加大学 ## ⭐ 结语 本项目反映了**智能合约安全的实践方法**,将理论分析与使用 Foundry 的真实利用开发相结合。
标签:DeFi安全, DoS攻击, EVM, Foundry, Solidity, Web3安全, 不安全外部调用, 以太坊, 以太坊安全, 众筹合约, 区块链安全, 去中心化金融, 合约安全测试, 合约审计, 合约漏洞, 整数溢出, 智能合约安全, 智能合约开发, 算术下溢, 访问控制漏洞, 资金管理, 退款机制, 重入攻击