GeorgeKGM2058/DeFi-Protocol-Safety-Scoring-Tool
GitHub: GeorgeKGM2058/DeFi-Protocol-Safety-Scoring-Tool
一个轻量级 DeFi 协议安全评分工具,通过公开 API 聚合实时数据并生成包含热力图与趋势分析的综合风险评分 PDF 报告,可在 Google Colab 中一键运行。
Stars: 0 | Forks: 0
# DeFi 协议安全评分工具
我创建这个项目是为了以一种清晰的方式比较 DeFi 协议,并在 notebook 中解释一些理论。
它会拉取实时数据,进行计算,并生成一份包含具体数据的安全/风险报告 PDF,
以及 Aave、Uniswap 和 Compound 的热力图和图表。
它可以轻松在 Google Colab 中运行,任何人只需点击两下即可完成。
无需繁重的区块链工具、本地安装或包含未知内容的 ML 包,
它仅使用公开的 API 和简单的数学运算,以确保透明度和速度。
## 2026 年 3 月数据的效果展示


[DeFi_安全报告.pdf](https://github.com/GeorgeKGM2058/DeFi-Protocol-Safety-Scoring-Tool/blob/main/sample_report/DeFi_Safety_Report.pdf)
## 具体运行细节
代码首先从 CoinGecko 获取实时代币指标,从 DefiLlama 获取 TVL 和链上数据,并从 GitHub 获取近期的提交活动。
它还包含了回退机制,以防某个 API 突然失效而导致程序崩溃。
然后,它将所有数据汇总成一个介于 0 到 10 之间的综合安全评分,该评分融合了财务健康状况、安全历史和运营风险。
最后,它会生成一份包含详细总结、彩色风险热力图和每个协议 TVL 图表的 PDF,其中包含简单的 7 天预测。
我还在必要的地方添加了详细的注释,并且权重可以轻松自定义,以便快速调整。
### 财务评分
这部分考虑了为保证平衡而设限的 TVL 规模、
最近 7 天的价格动量以及 30 天的价格波动(原始波动率,而非其方向)。
它还使用简单的线性回归来确定 30 天的 TVL 趋势。
价格会随着市场波动,因此每次运行都会得出不同的数值。
### 安全评分
初始分为 10 分(绝对安全),通常会因为任何已知的漏洞利用、
过时的审计、近期的开发空白或其他漏洞而扣分。
相反,如果近期有审计和活跃的漏洞悬赏,它将会加分。
### 运营评分
缺少紧急暂停功能会被扣除 0.5 分,因为即使不可变性是一种安全特性,但没有暂停能力也是危险的。
预言机故障可能导致价格操纵。这种情况会根据无/中/高风险进行相应的扣分。
如果是重度跨链的情况,将被扣除 0.5 分,因为跨链桥的暴露会增加对其他链威胁的脆弱性。
如果单条链占据了 70% 以上的 TVL,则会存在流动性和运营风险,因此也会得到相应的扣分。
协议上的开发活动非常重要,因此如果过去 90 天内的提交少于 20 次,将被扣除 0.5 分;如果少于 5 次,
则会被扣除 1.5 分。维护始终是必需的,特别是在涉及更多资金的情况下。
## 如何运行
### Google Colab,简单快捷
- 打开 notebook:
[](https://colab.research.google.com/github/GeorgeKGM2058/DeFi-Protocol-Safety-Scoring-Tool/blob/main/DeFi-Protocol-Safety-Scoring-Tool.ipynb)
- 点击 “Run all” 运行所有单元格。它应该会无缝执行所有操作。
最后一个单元格将生成报告 PDF 并自动下载,也可以在左侧的文件中找到。
通常在 30-90 秒内完成。
### 本地运行版本,可选
```
git clone https://github.com/GeorgeKGM2058/DeFi-Protocol-Safety-Scoring-Tool.git
cd DeFi-Protocol-Safety-Scoring-Tool
pip install -r requirements.txt
# 打开 .ipynb (Jupyter/VS Code)
```
## 局限性
这不是财务/投资建议。
这是一个使用公开 API(以及作为后备的硬编码摘要)来探索这些协议某一方面的快速工具。
为了保持在 Colab 中的轻量级,它没有进行链上代码扫描。
它依赖于公开的漏洞利用报告、审计时间线和漏洞悬赏页面。
CoinGecko、DefiLlama、GitHub 上的 API 可能会进行限速或阻止。
在这种情况下,它将回退到硬编码数据,并在报告中说明。
除非经常更新或升级,否则它通常无法检测到新的问题和漏洞。
此外,趋势线只是一个简单的线性预测,用于提供一个粗略的概念,并非超级准确的预测模型。
我会将其作为独立研究的一个良好起点,但它不应成为唯一的决策依据。
## API 速率限制及如何避免
如前所述,使用的三个 API 都有免费层的速率限制,这可能导致使用后备数据,
尤其是在 IP 地址共享的 Colab 环境中。
财务评分对此最为敏感,因为它是动态性最强的部分(实时数据与后备数据之间的差异)。
- CoinGecko 每分钟大约允许 30 次请求。如果在一次运行中被限速,等待 2-3 分钟后重试可能会奏效。
- DefiLlama: 如果 TVL 回退到硬编码的值,只需重新运行该单元格,但不要频繁刷新。通常重试即可解决。
- GitHub 显然是每小时 60 次请求。单次运行总共会进行 9 次调用(每个协议 3 次),因此通常没问题。
## 详细数据来源
价格和指标来自 CoinGecko API,TVL 和链上细分数据来自 DefiLlama API。
漏洞悬赏被拆分,Aave 和 Compound 的来自 Immunefi,而 Uniswap 的来自 Cantina。
计入的漏洞利用和审计数据来自 Rekt.news、协议文档和 GitHub。
代码的新鲜度同样来自 GitHub,使用了最新提交的 API。
由 GeorgeKGM2058 提供。于 2025 年期间构建,并在 2026 年初更新,增加了更多功能和真实性。
标签:API集成, CoinGecko, DeFi, DefiLlama, Google Colab, GraphQL安全矩阵, NoSQL, PDF报告生成, Python, TVL总锁仓量, Web3, 代币指标, 代码示例, 价格波动率, 加密货币, 区块链安全, 去中心化金融, 可观测性, 安全扫描器, 开发活跃度, 数据分析, 无后门, 智能合约安全, 热力图, 线性回归, 评分系统, 逆向工具, 金融安全, 风险评分