LuisMiguelCG/Audits-of-Vulnerable-Smart-Contracts
GitHub: LuisMiguelCG/Audits-of-Vulnerable-Smart-Contracts
包含故意植入漏洞的Solidity智能合约集合,配合Foundry测试用例,用于学习智能合约安全审计与漏洞利用实践。
Stars: 0 | Forks: 0
# 🛡️ 智能合约安全审计 – Foundry 实践




## 📌 概述
本仓库包含作为**智能合约安全审计实践**的一部分进行的审计:
该项目专注于识别、利用和理解与**资金管理系统**相关的 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安全, 不安全外部调用, 以太坊, 以太坊安全, 众筹合约, 区块链安全, 去中心化金融, 合约安全测试, 合约审计, 合约漏洞, 整数溢出, 智能合约安全, 智能合约开发, 算术下溢, 访问控制漏洞, 资金管理, 退款机制, 重入攻击