abdussalamabubakarmuhammad92-coder/threat-intel-aggregator

GitHub: abdussalamabubakarmuhammad92-coder/threat-intel-aggregator

自动化聚合多个威胁情报源的 IP 信誉数据并生成统一标准化报告的安全调查工具。

Stars: 0 | Forks: 0

# 威胁情报聚合器 自动化执行针对多个威胁情报来源的 IP 地址检查流程,省去了在调查过程中逐一手动检查的麻烦。 ## 为什么开发这个工具 我开发这个工具是为了自动化收集威胁数据,从而免去在调查过程中手动检查多个安全情报源的繁琐操作。 ## 功能特性 - **多源聚合** — 单次运行即可查询 VirusTotal、AbuseIPDB 和 Shodan - **标准化报告** — 将来自不同 API(各自具有不同的响应格式)的结果合并为统一一致的报告结构 - **内置容错设计** — 如果其中一个来源失败或超时,其他来源仍会正常返回结果;整体扫描不会因此中断 - **持久化扫描历史** — 每次扫描都会带有时间戳记录到 `scans.log` 中,方便日后回顾过往的调查记录 - **可扩展的连接器模式** — 添加新的情报源只需编写一个新的连接器模块,无需改动其他任何代码 ## 工作原理 1. 提供一个目标 IP 地址 2. 聚合器会针对该 IP 并发查询每个已配置的来源(VirusTotal、AbuseIPDB、Shodan) 3. 每个连接器会将其来源的响应标准化为通用格式 4. 将所有结果合并为一份报告并输出到控制台 5. 该报告会被追加到 `scans.log` 中以备存档 ## 技术栈 - **Python 3** - [`requests`](https://pypi.org/project/requests/) 用于发起 API 调用 - [`python-dotenv`](https://pypi.org/project/python-dotenv/) 用于基于环境变量的配置 ## 数据来源 | 来源 | 状态 | 提供的数据 | |---|---|---| | [VirusTotal](https://www.virustotal.com/) | 激活 | 恶意/可疑/无害判定结果,网络所有者 | | [AbuseIPDB](https://www.abuseipdb.com/) | 激活 | 滥用置信度评分,报告数量,ISP,国家 | | [Shodan](https://www.shodan.io/) | 激活 | 开放端口,组织,国家 | | [AlienVault OTX](https://otx.alienvault.com/) | 已搭建,默认禁用 | 威胁脉冲数量 | ## 快速开始 ### 前置条件 - Python 3.9+ - [VirusTotal](https://www.virustotal.com/gui/join-us)、[AbuseIPDB](https://www.abuseipdb.com/register) 和 [Shodan](https://account.shodan.io/register) 的 API 密钥(均提供免费额度) ### 安装说明 ``` git clone https://github.com//threat-intel-aggregator.git cd threat-intel-aggregator pip install -r requirements.txt ``` ### 配置 复制示例环境文件并填入您自己的 API 密钥: ``` cp .env.example .env ``` 然后编辑 `.env`: ``` VIRUSTOTAL_API_KEY=your_virustotal_api_key ABUSEIPDB_API_KEY=your_abuseipdb_api_key SHODAN_API_KEY=your_shodan_api_key OTX_API_KEY= ``` `OTX_API_KEY` 可以留空 —— 该连接器是可选的,在未提供密钥时会自动禁用。 ### 用法 ``` python -m src.main ``` 系统会提示您输入 IP 地址,聚合器将查询所有已配置的来源并输出一份综合报告: ``` === THREAT INTELLIGENCE REPORT === VirusTotal malicious: 0 suspicious: 0 harmless: 78 owner: Google LLC AbuseIPDB abuse_score: 0 total_reports: 0 country: US isp: Google LLC Shodan open_ports: [443, 80] organization: Google LLC country: United States ``` 每次扫描也会保存到 `scans.log` 中,以供日后参考。 ## 项目结构 ``` threat-intel-aggregator/ ├── src/ │ ├── main.py # Entry point — orchestrates the scan │ ├── config.py # Environment variable loading & validation │ ├── connectors/ # One module per intelligence source │ │ ├── virustotal.py │ │ ├── abuseipdb.py │ │ ├── shodan.py │ │ └── alienvault.py │ └── utils/ │ ├── parser.py # Normalizes connector output into one report │ └── logger.py # Appends scan results to scans.log ├── tests/ ├── requirements.txt └── .env.example ``` ## 未来的改进方向 - [ ] 一旦支持区域 API 访问,即刻激活 AlienVault OTX 集成 - [ ] 为每个连接器添加基于模拟 API 响应的单元测试 - [ ] 支持从文件中批量扫描多个 IP - [ ] 添加 `--json` 输出标志以生成机器可读的报告 - [ ] 速率限制处理 / API 触发限流时的重试逻辑 ## 作者 **Abdussalam Abubakar** ## 许可证 MIT
标签:API聚合, GitHub, IP信誉, Python, 代码示例, 威胁情报, 安全调查, 实时处理, 开发者工具, 数据分析, 无后门