maciekpoe29/smart-contract-security-lab
GitHub: maciekpoe29/smart-contract-security-lab
一个智能合约安全审计作品集,通过三个包含可复现 Foundry PoC、阴性对照和修复方案的完整漏洞案例,展示端到端的审计工作流。
Stars: 0 | Forks: 0
# Macias2536 — 智能合约安全实验室
三个独立、虚构的漏洞研究,展示了端到端的智能合约审计工作流:威胁建模、漏洞利用构建、可衡量的影响、阴性对照、修复以及回归测试。
## 案例研究
| ID | 漏洞 | 展示的影响 | 恢复的安全属性 |
| --- | --- | --- | --- |
| LAB-01 | Oracle 小数位不匹配 | 一个 collateral token 耗尽 1,000,000 个 debt token | 带单位感知的估值 |
| LAB-02 | Vault 份额膨胀 | 受害者收到零份额;攻击者获取存款 | 公平的份额分配 |
| LAB-03 | 缺失的签名 domain separation | 一个 voucher 耗尽两个独立的 redeemer | 授权范围限定在特定 chain 和 contract |
每个案例包括:
- 故意留有漏洞的最小化实现;
- 修复后的实现;
- 可执行的漏洞利用测试;
- 证明修复能阻止相同攻击向量的阴性对照;
- 涵盖根本原因、影响、局限性和修复方案的报告。
## 本地复现
环境要求:Foundry 和 Solidity 0.8.35。
```
forge test -vv
```
预期结果:
```
Ran 3 test suites: 6 tests passed, 0 failed, 0 skipped
```
每次运行一个案例:
```
forge test --match-path test/01_OracleDecimalMismatchPoC.t.sol -vv
forge test --match-path test/02_VaultShareInflationPoC.t.sol -vv
forge test --match-path test/03_CrossContractSignatureReplayPoC.t.sol -vv
```
## 方法论
PoC 遵循相同的证据标准:
1. 定义受保护资产和安全不变量。
2. 说明攻击者权限和环境前置条件。
3. 最小化易受攻击的代码路径。
4. 使用普通的公开入口点复现影响。
5. 断言最终余额,而不是仅依赖日志。
6. 针对修正后的设计执行相同的攻击。
7. 记录假设并避免夸大严重程度。
## 仓库结构
```
src/ vulnerable and corrected reference implementations
test/ executable exploit PoCs and negative controls
reports/ concise audit-style reports
```
## 安全性
测试完全在 Foundry 的本地 EVM 中运行。它们不使用 RPC endpoint、真实合约、私钥、生产数据或外部网络。请参阅 [SECURITY.md](SECURITY.md)。
## 作者
**Macias2536** — 独立智能合约安全研究员
联系方式:maciekpoe29@gmail.com
标签:Foundry, Solidity, 区块链安全, 情报收集, 智能合约, 漏洞研究