Z-Bra0/Tx2Poc
GitHub: Z-Bra0/Tx2Poc
tx2poc 是一个 agent skill,能将 EVM 攻击交易 ID 自动转换为可运行的 Foundry fork PoC,帮助安全研究者快速复现和分析链上漏洞利用。
Stars: 18 | Forks: 2
# tx2poc
`tx2poc` 是一个 agent skill,用于将 EVM 交易 ID 转换为 Foundry fork PoC。
## 环境要求
- 用于获取 trace 的 Alchemy API key(付费功能),设置为 `ALCHEMY_API_KEY`。
- 用于查询源码/ABI 的 Etherscan API key,设置为 `ETHERSCAN_API_KEY`。
- Foundry,用于通过 `forge test` 运行生成的 PoC。
## 基本用法
将此仓库作为 agent 根目录打开,然后带上链名称和 tx hash 请求 `$tx2poc`:
```
$tx2poc eth 0x1234...
```
该 skill 会处理 trace 获取、证据收集、角色判定、分析、PoC 编写以及验证。输出内容将存放在 `cases//` 目录下。
## tx2poc Skill 工作流程
1. 获取 transaction、receipt、block 和 call trace。
2. 将 trace 标准化为易读的摘要和事实上下文。
3. 仅在需要时解码 calldata 并查询源码/token 证据。
4. 判定 attacker、attack contract、vulnerable contract、victim 和 fork block。
5. 编写 `metadata.json`、`attack_analysis.md` 以及 Foundry PoC。
6. 运行并迭代 PoC,直到其通过或明确遇到阻碍。
## 仓库布局
- `cases/`:生成的 tx 案例、事实性产出物、分析以及 PoC。
- `cases/basetest.sol`、`cases/interface.sol`、`cases/StableMath.sol`、`cases/tokenhelper.sol`:共享的 Solidity 辅助文件。
- `tests/`:用于 tx2poc 辅助脚本的离线 Python 测试。
- `skills/tx2poc/`:可移植的 tx2poc skill、脚本、数据和参考资料。
- `.agents/skills/`:仓库本地的 Codex 自动化 skill。
- `DeFiHackLabs/`:用户 DeFiHackLabs fork 的本地克隆(被 gitignore),由 `defihacklabs-pr` 使用。
- `lib/forge-std/`:Foundry 测试依赖 submodule。
## Submodule
此仓库为 Foundry 依赖使用了一个 git submodule。克隆后:
```
git submodule update --init --recursive
```
对于 DeFiHackLabs PR 工作,请将你的 fork 克隆到 `DeFiHackLabs/` 目录中,并将官方仓库添加为 `upstream`。
## 限制
- 经过配置后可移植,但并非零安装。它需要 Foundry、forge-std、共享的辅助文件以及 API key。
- 获取 trace 需要付费的 Alchemy 访问权限。
- 大型或复杂的 tx trace 可能不完整或不准确。生成的分析和 PoC 仍需人工审查。
标签:AI代理, 以太坊, 区块链安全, 智能合约审计, 漏洞分析, 自动化复现, 路径探测, 逆向工具