SrishtiCode/DamnVulnDefiSolutions

GitHub: SrishtiCode/DamnVulnDefiSolutions

该仓库提供了 Damn Vulnerable DeFi 挑战赛的详细解题方案,涵盖了从闪电贷操纵到治理攻击等多种 DeFi 智能合约漏洞的利用代码与审计思路。

Stars: 0 | Forks: 0

# Damn Vulnerable DeFi Damn Vulnerable DeFi 是面向开发者、安全研究人员和教育者的智能合约安全演练场。 这可以说是迄今为止最精密的一套 Solidity 智能合约漏洞集合,它包含了闪电贷、价格预言机、治理、NFT、DEX、借贷池、智能合约钱包、时间锁、金库、元交易、代币分发、可升级性以及更多功能。 使用 Damn Vulnerable DeFi 来: - 磨练你的审计和漏洞挖掘技能。 - 学习如何在现实场景中检测、测试和修复缺陷,从而成为一名具备安全意识的开发者。 - 对智能合约安全工具进行基准测试。 - 通过文章、教程、演讲、课程、研讨会、培训、CTF 等形式,创建关于智能合约安全的教育内容。 ## 安装 1. 克隆该仓库。 2. 检出最新版本(例如,`git checkout v4.1.0`)。 3. 将 `.env.sample` 文件重命名为 `.env` 并添加一个有效的 RPC URL。这仅适用于需要分叉主网状态的挑战。 4. 安装 [Foundry](https://book.getfoundry.sh/getting-started/installation),或者使用[提供的 devcontainer](./.devcontainer/)(在 VSCode 中,使用命令 "Devcontainer: Open Folder in Container..." 将仓库作为 devcontainer 打开)。 5. 运行 `forge build` 来初始化项目。 ## 使用方法 每个挑战由以下部分组成: - 位于 `src//README.md` 的说明。 - 位于 `src//` 的一组合约。 - 位于 `test//.t.sol` 的 [Foundry 测试](https://book.getfoundry.sh/forge/tests)。 要解决一个挑战: 1. 阅读挑战的说明。 2. 找出挑战智能合约中的缺陷。 3. 在相应的测试文件中编写你的解决方案。 4. 使用 `forge test --mp test//.t.sol` 测试你的解决方案。 如果测试通过,说明你已经解决了该挑战! 挑战可能有不止一种解决方案。 ### 规则 - 你必须始终使用 `player` 账户。 - 你不得修改挑战的初始或最终条件。 - 你可以编写并部署你自己的智能合约。 - 必要时,你可以使用 Foundry 的作弊码来推进时间。 - 你可以导入未安装的外部库,尽管这通常不是必需的。 ## 故障排除 你可以在[讨论区](https://github.com/theredguild/damn-vulnerable-defi/discussions)向社区寻求帮助。 ## 免责声明 本仓库中的所有代码、实践和模式都**极其脆弱**,仅用于教育目的。 **请勿在生产环境中使用。**
标签:DeFi, Foundry, Solidity, 以太坊, 借贷池, 元交易, 区块链安全, 升级模式, 去中心化交易所, 安全培训, 安全测试, 安全靶场, 审计教学, 攻击性安全, 时间锁, 智能合约, 智能合约钱包, 治理攻击, 漏洞复现, 金库, 闪电贷攻击, 预言机操纵