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, 区块链安全, 情报收集, 智能合约, 漏洞研究