ezequielranieri/threat-intel-dashboard

GitHub: ezequielranieri/threat-intel-dashboard

一款基于 Python 的威胁情报 CLI 工具,聚合 VirusTotal、AbuseIPDB 和 Shodan 三大公开 API,实现 IP、域名、哈希的快速信誉分析与多源关联,并可生成 PDF/JSON 报告。

Stars: 0 | Forks: 0

# 威胁情报仪表盘 **一款专业的 CLI 工具,用于快速进行安全指标分析与关联。** [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Code Style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](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, 可观测性, 哈希校验, 域名分析, 威胁情报, 安全仪表盘, 安全规则引擎, 安全运营, 实时处理, 密码管理, 开发者工具, 异步编程, 情报分析, 扫描框架, 数据清洗, 无线安全, 网络信息收集, 网络安全, 网络诊断, 输入验证, 运行时操纵, 逆向工具, 隐私保护