ts990303/DeFiExploitDB
GitHub: ts990303/DeFiExploitDB
结构化的 DeFi 攻击事件数据库,配合链上取证 Python 工具集,用于查询、重放和可视化去中心化金融协议的安全事件与攻击流程。
Stars: 0 | Forks: 0
# DeFiExploitDB 🔍
## 问题背景
DeFi 安全研究十分碎片化。当某个协议遭到攻击时,事后分析通常会发布在 Medium、Rekt News 或博客文章上。交易追踪记录在 Etherscan 上。根因分析则存在于某些安全公司的报告中。而实际存在漏洞的合约代码……则在区块链上的某个地方,前提是你知道去哪找。
目前没有一个结构化且可查询的数据库能将这些信息串联起来。研究人员在研究攻击模式时,每次都必须手动拼凑这些信息。
## 我们的方案
DeFiExploitDB 是一个经过精心整理、结构化的 DeFi 攻击事件数据库,包含三个核心组件:
1. **事件记录** — 每次攻击的标准化 JSON 数据:日期、协议、所在链、损失资金、攻击类别、根因摘要以及事后分析报告链接
2. **链上取证工具** — Python 工具集,利用归档节点或 Tenderly 重放并可视化攻击交易流
3. **分析实用工具** — 查询数据库、生成时间轴可视化图表、导出数据以供下游研究使用
目前已收录 2022 年至 2024 年间的 **180 多起事件**。
## 快速演示
```
pip install -r requirements.txt
# 查询 2023 年所有的 flash loan 攻击
python scripts/query_db.py --category flash_loan --year 2023
# 追踪一笔攻击 transaction
python scripts/trace_attack.py --tx 0x... --rpc $ETH_RPC_URL
# 生成攻击时间线可视化
python scripts/generate_timeline.py --chain ethereum --year 2024
# 添加新 incident
python scripts/add_incident.py
```
## 数据库结构
每起事件的 JSON 数据遵循以下结构:
```
{
"id": "2023-balancer-flash",
"date": "2023-08-22",
"protocol": "Balancer",
"chain": "ethereum",
"funds_lost_usd": 900000,
"category": "flash_loan",
"subcategory": "price_manipulation",
"root_cause": "Read-only reentrancy via Balancer vault's transient reentrancy guard allowed attacker to observe inflated LP token price mid-transaction.",
"attack_tx": ["0x..."],
"attacker_address": "0x...",
"vulnerable_contract": "0x...",
"postmortem_urls": ["https://..."],
"tags": ["reentrancy", "price_oracle", "flash_loan"]
}
```
## 快速开始
```
git clone https://github.com/ts990303/DeFiExploitDB
cd DeFiExploitDB
pip install -r requirements.txt
# 对于 on-chain 追踪,请设置你的 RPC endpoint
export ETH_RPC_URL="https://..." # needs archive access
export BSC_RPC_URL="https://..."
```
## 统计数据(截至 2024 年 12 月)
| 链 | 事件数 | 损失总资金 |
|-------|-----------|-----------------|
| Ethereum | 89 | ~$2.1B |
| BSC | 54 | ~$680M |
| Polygon | 18 | ~$120M |
| Arbitrum | 12 | ~$95M |
| 其他 | 15 | ~$210M |
攻击类别:
```
Flash loan / price manipulation ████████████████ 42%
Access control ████████ 21%
Reentrancy ██████ 16%
Logic errors ████ 11%
Oracle manipulation ███ 8%
Other ██ 2%
```
## 路线图
- [x] 核心事件数据库(180 多条记录)
- [x] 查询 CLI
- [x] 交易追踪重放
- [x] 时间轴可视化
- [ ] Web UI (Streamlit)
- [ ] 自动事后分析 RSS 抓取器
- [ ] 跨事件模式聚类
- [ ] 集成 Tenderly API
## 参与贡献
发现了数据库中尚未收录的攻击事件?请提交 Issue 或通过新的 JSON 事件文件发起 PR。有关数据结构和规范指南,请参阅 `CONTRIBUTING.md`。
## 开源许可证
BSD-3-Clause
标签:CISA项目, DeFi, Etherscan, Homebrew安装, Prisma Cloud, Python, Tenderly, Web3安全, 交易回放, 以太坊, 加密货币, 区块链安全, 去中心化金融, 威胁情报, 安全情报, 安全漏洞数据库, 库, 应急响应, 开发者工具, 攻击溯源, 无后门, 智能合约审计, 漏洞分析, 资金追踪, 路径探测, 逆向工具, 链上取证, 闪电贷攻击