zihredoy/ThreatFuse
GitHub: zihredoy/ThreatFuse
一款轻量级实时网络风险评估工具,融合多个免费威胁情报源对 IOC 进行风险评分并在仪表盘中可视化展示。
Stars: 0 | Forks: 0
# ThreatFuse
**ThreatFuse** 是一款实时网络风险评估工具,它*融合*了多个免费的
威胁情报源(**AbuseIPDB, VirusTotal, AlienVault OTX, URLhaus**),为每个受监控的资产进行
风险评分,并在实时仪表盘中展示结果。
其设计初衷是保持简单、易读,并且仅使用**免费层级的 API 密钥**,
即可在学生的笔记本电脑上实现端到端运行。

## 工作原理
```
collectors.py → pull IOCs from the 4 threat feeds
normaliser.py → merge, dedupe, and store IOCs in SQLite
risk_engine.py → weighted risk score + threshold alerting
main.py → runs the pipeline on a loop (default: every 30 min)
dashboard/ → Flask app showing a live risk table + chart
```
风险评分公式:
```
score = severity*0.4 + confidence*0.3 + recency*0.2 + asset_criticality*0.1
```
## 环境要求
- Python 3.10+
- 免费的 API 密钥,获取自:
- [AbuseIPDB](https://www.abuseipdb.com/account/api)
- [VirusTotal](https://www.virustotal.com/gui/my-apikey)
- [AlienVault OTX](https://otx.alienvault.com/api)
- URLhaus **无需**密钥
## 安装说明
```
# 1. 安装依赖项
pip install -r requirements.txt
# 2. 添加您的 API keys
cp .env.example .env
# 然后打开 .env 并粘贴您自己的 keys
# 3. 添加您想要监控的资产
# 编辑 config.py 中的 ASSETS 列表
```
## 运行方式
```
python main.py # runs the full pipeline + starts the dashboard
python dashboard/app.py # run the dashboard alone (frontend-only work)
```
仪表盘每 60 秒自动刷新一次。数据将写入
`data/iocs.db`,警报将写入 `logs/alerts.log`(两者均会自动创建)。
## 配置
所有可配置项均位于 `config.py` 中:
- `ASSETS` — 你想要监控的 IP/域名,每个都带有一个关键性权重
- `SCORE_WEIGHTS` — 风险公式中的四个权重
- `ALERT_THRESHOLD` — 触发记录警报的分数阈值
- `PIPELINE_INTERVAL_MINUTES` — pipeline 的运行频率
## 关于 API 密钥的说明
你的密钥将从本地的 `.env` 文件中读取,该文件已被 **git-ignored** 且绝对不会
被提交。请使用 `.env.example` 作为模板。切勿分享你的 `.env` 文件。
## 许可证
MIT
标签:Flask, Python, 可视化面板, 威胁情报, 安全, 开发者工具, 无后门, 超时处理, 逆向工具