ZN9812/evm-incident-regression-lab

GitHub: ZN9812/evm-incident-regression-lab

将公开记录的 EVM 智能合约安全事故转化为可执行的本地回归测试、历史 fork 重现、修补参考实现及可复用的安全不变量。

Stars: 0 | Forks: 0

# EVM 事故回归实验室 [![CI](https://github.com/ZN9812/evm-incident-regression-lab/actions/workflows/ci.yml/badge.svg)](https://github.com/ZN9812/evm-incident-regression-lab/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/ZN9812/evm-incident-regression-lab)](https://github.com/ZN9812/evm-incident-regression-lab/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) EVM 事故回归实验室将公开记录的智能合约事故转化为安全的本地重现、历史的只读 fork 测试、经过修补的参考实现以及可重用的安全不变量(invariants)。 本项目专为智能合约审计员、协议维护者、安全学生以及事故响应人员构建,适合那些希望获得可执行证据而不仅仅是事故总结的用户。 ## 为什么创建此项目 事故报告通常会解释发生了什么,但不会给维护者留下一个他们可以运行的回归测试。本仓库通过将公开证据转化为四个产出物来填补这一空白: 1. 漏洞类别的最小本地模型; 2. 固定到过去区块的可选历史 fork 测试; 3. 经过修补的参考实现; 4. 可以在审查期间重用的防御性不变量。 ## 包含的案例 ### TrustedVolumes RFQ 授权边界 第一个案例对公开报告的 TrustedVolumes 定制 RFQ 代理在 2026-05-07 的授权边界失效进行了建模。 - [案例研究](docs/cases/trustedvolumes-rfq.md) - [研究方法论](docs/methodology.md) - [漏洞重现](src/cases/trustedvolumes/ReconstructedTrustedVolumesRfq.sol) - [修补参考](src/cases/trustedvolumes/PatchedTrustedVolumesRfq.sol) - [本地回归测试](test/cases/trustedvolumes/TrustedVolumesLocalModel.t.sol) - [历史 fork 测试](test/cases/trustedvolumes/TrustedVolumesHistoricalFork.t.sol) ## 快速开始 前置条件:[Foundry](https://book.getfoundry.sh/getting-started/installation) 和 Solidity `0.8.26`。 ``` git clone https://github.com/ZN9812/evm-incident-regression-lab.git cd evm-incident-regression-lab forge test -vv ``` 默认的测试命令仅运行本地模型。除非链 ID 和区块号与记录的历史 fork 匹配,否则历史测试会立即返回。 要运行历史重现,请使用能够提供区块 `25039669` 服务的 Ethereum 归档 RPC: ``` ETH_RPC_URL="https://your-archive-rpc.example" \ forge test \ --match-path test/cases/trustedvolumes/TrustedVolumesHistoricalFork.t.sol \ --fork-url "$ETH_RPC_URL" \ --fork-block-number 25039669 \ -vv ``` ## 安全边界 这是一个防御性研究仓库。 - 不要广播交易或针对线上合约。 - 历史测试使用固定到过去区块的本地、只读 fork。 - 演示密钥和地址无法访问真实资金。 - 该仓库不包含任何部署或广播脚本。 - 通过受影响项目的安全流程报告新发现的线上漏洞,而不是通过这里的公开 issue。 ## 路线图 有关计划的案例系列和维护者工作,请参阅 [ROADMAP.md](ROADMAP.md)。 ## 免责声明 本仓库是独立的防御性研究,与受影响的协议无关。其提供用于教育、测试和预防,不提供任何保证。 ## 许可证 MIT License。详见 [LICENSE](LICENSE)。
标签:Foundry, Solidity, 区块链安全, 回归测试, 智能合约, 漏洞复现