aakashsingh-sec/osint-automation-tool
GitHub: aakashsingh-sec/osint-automation-tool
一款命令行 OSINT 威胁情报聚合工具,跨六个数据源对 IP、域名和 URL 进行加权风险评分,帮助 SOC 分析师自动化指标分类流程。
Stars: 0 | Forks: 0
# OSINT 自动化工具
一款命令行威胁情报聚合工具,可跨六个独立的 OSINT 来源对 IP、域名和 URL 进行调查,并得出加权风险判定。旨在自动化 SOC 运营中常见的手动指标分类工作流。
## 功能介绍
给定一个 IP 地址、域名或 URL,该工具会通过单条命令查询多个威胁情报来源,并将结果综合为一个单一的加权判定(CLEAN / SUSPICIOUS / MALICIOUS),同时提供支持原因。
## 数据来源
| 来源 | 提供内容 |
|--------|----------|
| VirusTotal | 多引擎信誉(90+ AV 引擎) |
| AbuseIPDB | IP 滥用置信度评分和报告历史 |
| Shodan InternetDB | 暴露的端口、服务和已知 CVE |
| URLhaus (abuse.ch) | 已知的恶意软件分发 URL |
| AlienVault OTX | 威胁情报 pulses 和活动标签 |
| RDAP | 域名注册数据和注册时长 |
## 为什么需要多个来源
每个来源检测的威胁类型各不相同。例如,一个 Tor exit node 在 URLhaus 上显示为 clean(因为它不托管恶意软件),但在 AbuseIPDB 上会被标记为 100%(因为它是攻击源)。聚合多个来源可以呈现出单一工具无法提供的完整风险概况。
## 判定评分
结果会根据来源的可靠性进行加权,并合并为 0–100 的风险评分:
- 0–20:CLEAN
- 21–50:SUSPICIOUS
- 51–100:MALICIOUS
## 设置
```
git clone https://github.com/asingh140696/osint-automation-tool.git
cd osint-automation-tool
pip install -r requirements.txt
```
将 `.env.example` 复制为 `.env` 并添加你的 API keys:
```
cp .env.example .env
```
## 所需的 API keys
免费层级的 keys 来自:VirusTotal、AbuseIPDB、AlienVault OTX、URLhaus (auth.abuse.ch)。Shodan InternetDB 和 RDAP 不需要 key。
## 用法
```
python osint.py 8.8.8.8
python osint.py google.com
python osint.py https://example.com
```
## 文件模式(批量)
```
python osint.py --file indicators.txt
```
每行一个指标。结果将保存为单个合并的 JSON 报告。
## 示例输出
### Clean 判定

### Malicious 判定

## 技术栈
Python 3.11+、requests、rich、python-dotenv、OTXv2
## 免责声明
专为防御性安全研究和 SOC 分类构建。将指标提交到公共扫描服务可能会提醒威胁行为者其基础设施正在受到调查。
标签:ESC4, GitHub, OSINT, PB级数据处理, Python, 动态调用, 威胁情报, 安全运维, 实时处理, 开发者工具, 无后门, 自动化分析, 跨站脚本