ezequielranieri/threat-intel-dashboard
GitHub: ezequielranieri/threat-intel-dashboard
一款基于 Python 的威胁情报 CLI 工具,聚合 VirusTotal、AbuseIPDB 和 Shodan 三大公开 API,实现 IP、域名、哈希的快速信誉分析与多源关联,并可生成 PDF/JSON 报告。
Stars: 0 | Forks: 0
# 威胁情报仪表盘
**一款专业的 CLI 工具,用于快速进行安全指标分析与关联。**
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/astral-sh/ruff)
## 🔍 为什么要有这个项目?
在快节奏的网络安全领域,安全研究员和系统管理员通常需要快速评估 IP、域名或文件哈希的信誉。手动访问多个网站非常耗时。
**威胁情报仪表盘** 通过以下方式解决了这个问题:
- **数据关联:** 同时从 VirusTotal、AbuseIPDB 和 Shodan 获取数据。
- **智能评估:** 自动计算统一的威胁级别。
- **专业报告:** 直接从终端生成可执行的摘要以及 PDF/JSON 报告。
- **优雅降级:** 即使某一数据源宕机或受到速率限制,也能提供结果。
## ✨ 功能特性
- 🚀 **异步分析:** 极快的并行 API 查询。
- 🛡️ **精准验证:** 严格的输入清理(屏蔽私有 IP,验证哈希格式)。
- 🎨 **富 UI:** 带有表格和进度条的精美终端输出。
- 📊 **双重报告:** 将结果导出为专业的 PDF 文档或结构化的 JSON。
- 🔒 **安全第一:** 基于环境的配置,并在日志中屏蔽 API 密钥。
## 🛠️ 技术栈与架构
- **语言:** Python 3.12+
- **CLI 框架:** [Typer](https://typer.tiangolo.com/)
- **UI 与格式化:** [Rich](https://rich.readthedocs.io/)
- **异步 HTTP:** [httpx](https://www.python-httpx.org/)
- **数据验证:** [Pydantic v2](https://docs.pydantic.dev/)
- **配置:** [Pydantic-Settings](https://docs.pydantic.dev/latest/usage/pydantic_settings/)
- **日志:** [structlog](https://www.structlog.org/)
- **PDF 生成:** [ReportLab](https://www.reportlab.com/)
- **测试:** [pytest](https://docs.pytest.org/) & [respx](https://lungze.github.io/respx/)
## 🚀 快速开始
### 1. 前置条件
- Python 3.12 或更高版本。
### 2. 获取免费 API 密钥
此工具使用了以下服务的免费额度:
1. **VirusTotal:** 在[此处加入](https://www.virustotal.com/gui/join-us)以获取您的 API 密钥。
2. **AbuseIPDB:** 在[此处注册](https://www.abuseipdb.com/register)以获取您的 API 密钥。
3. **Shodan:** 在[此处注册](https://account.shodan.io/register)以获取您的 API 密钥。
### 3. 安装
```
# Clone 仓库
git clone https://github.com/ezequielranieri/threat-intel-dashboard.git
cd threat-intel-dashboard
# 在 editable mode 下安装 package
pip install -e .
```
## 4. 配置
在根目录中创建一个 `.env` 文件(使用 `.env.example` 作为模板):
```
VIRUSTOTAL_API_KEY=your_key_here
ABUSEIPDB_API_KEY=your_key_here
SHODAN_API_KEY=your_key_here
```
## 📖 使用示例
### 分析 IP 地址
```
threat-intel analyze ip 8.8.8.8
```
### 分析并导出为 PDF
```
threat-intel analyze domain malicious.com --format pdf --output analysis.pdf
```
### 从最近的分析生成 JSON 报告
```
threat-intel report --format json --output report.json
```
### 预期输出
该工具提供清晰、带有颜色编码的摘要:
- **红色(严重):** 高可信度的恶意指标。
- **黄色(警告):** 检测到可疑活动。
- **绿色(干净):** 在启用的数据源中未发现威胁。
## 🧪 测试
本项目包含单元测试和集成测试,覆盖了验证器、API 客户端以及 CLI。
```
# 运行所有测试
pytest
```
## 👨💻 关于作者
**Ezequiel Ranieri**
*自学后端与安全开发者*
我是一名充满热情的开发者,致力于构建安全、高效且架构良好的软件。本项目反映了我在掌握 Python 异步生态系统、数据验证模式以及对网络安全工具浓厚兴趣方面的历程。我坚信应编写出能解决实际问题的、整洁且带有文档的代码。
- **电子邮件:** ez.ranieri@gmail.com
- **GitHub:** [ezequielranieri](https://github.com/ezequielranieri)
- **LinkedIn:** [ezequielranieri](https://linkedin.com/in/ezequielranieri)
## ⚖️ 许可证
本项目基于 MIT 许可证授权 - 详见 [LICENSE](LICENSE) 文件。
标签:AbuseIPDB, API密钥检测, API集成, Ask搜索, GitHub, httpx, IP信誉查询, JSON导出, PDF报告生成, Pydantic, Python 3.12, Rich, Sigma 规则, Typer, VirusTotal, 可观测性, 哈希校验, 域名分析, 威胁情报, 安全仪表盘, 安全规则引擎, 安全运营, 实时处理, 密码管理, 开发者工具, 异步编程, 情报分析, 扫描框架, 数据清洗, 无线安全, 网络信息收集, 网络安全, 网络诊断, 输入验证, 运行时操纵, 逆向工具, 隐私保护