najinkya776/ThreatBlade
GitHub: najinkya776/ThreatBlade
一款为 SOC 分析师打造的开源安全运营自动化工具包,通过 Web 界面和 CLI 双模式将声誉查询、钓鱼邮件分析、泄露检查等常见调查任务整合于一处,帮助蓝队减少重复性手工操作。
Stars: 0 | Forks: 0
```
████████╗██╗ ██╗██████╗ ███████╗ █████╗ ████████╗ ██████╗ ██╗ █████╗ ██████╗ ███████╗
╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗╚══██╔══╝ ██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██║ ███████║██████╔╝█████╗ ███████║ ██║ ██████╔╝██║ ███████║██║ ██║█████╗
██║ ██╔══██║██╔══██╗██╔══╝ ██╔══██║ ██║ ██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██║ ██║ ██║██║ ██║███████╗██║ ██║ ██║ ██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
```
**SOC 分析师自动化工具包**
[](https://python.org)
[](https://flask.palletsprojects.com)
[](LICENSE)
[](https://github.com/najinkya776/ThreatBlade/issues)
[](https://github.com/najinkya776/ThreatBlade/stargazers)
[](CONTRIBUTING.md)
*自动化繁琐任务,专注于威胁。*
[功能](#features) · [快速开始](#quick-start) · [API 密钥](#api-keys) · [用法](#usage) · [贡献](CONTRIBUTING.md)
## 什么是 ThreatBlade?
ThreatBlade 是一个开源的 SOC (安全运营中心) 分析师工具包,可自动化分析师每天面临的重复性调查任务——声誉查询、URL 解码、邮件分类、泄露检查等。
同时提供 **Web 应用**和 **CLI 工具**。无云依赖,完全在您的机器上运行。
## 功能
| 模块 | 描述 | 使用的 API |
|---|---|---|
| **声誉检查** | 扫描 IP、域名、URL 和文件哈希以排查恶意活动 | VirusTotal, AbuseIPDB |
| **URL 工具** | Defang/Refang,解码 ProofPoint 和 SafeLinks,还原短链接,从文本中提取 URL | — |
| **DNS 和 WHOIS** | 完整的 DNS 记录查询 (A/MX/TXT/NS/CNAME/SOA),WHOIS,反向 DNS | — |
| **哈希工具** | MD5/SHA1/SHA256 文件与字符串哈希生成,支持 VirusTotal 哈希声誉检查 | VirusTotal |
| **邮件分析器** | 解析 `.eml` 文件——提取 IOC,检查 SPF/DKIM,检测钓鱼指标 | — |
| **泄露检查** | 电子邮件/域名泄露查询 + 安全的密码暴露检查 (k-anonymity) | HaveIBeenPwned |
| **IP 工具** | GeoIP,Tor 出口节点检测,跨 10 个列表的 DNSBL 黑名单检查 | ip-api.com |
| **告警模板** | 即时生成钓鱼/恶意软件/账户被盗事件的响应邮件 | — |
## 快速开始
### 前置条件
- Python 3.8+
- pip
### 安装
```
git clone https://github.com/najinkya776/ThreatBlade.git
cd ThreatBlade
pip install -r requirements.txt
```
### 运行 Web 应用
```
python app.py
```
在浏览器中打开 [http://localhost:5000](http://localhost:5000)。
### 运行 CLI
```
python threatblade.py
```
## API 密钥
对于 DNS、URL 工具和 IP 地理定位,ThreatBlade 开箱即用,**无需 API 密钥**。
要获取完整功能,请通过 Web 应用的**设置**页面(或 CLI 中的选项 9)添加可选密钥:
| 服务 | 用途 | 获取密钥 |
|---|---|---|
| [VirusTotal](https://www.virustotal.com/gui/my-apikey) | 声誉检查,哈希查询 | 提供免费额度 |
| [AbuseIPDB](https://www.abuseipdb.com/account/api) | IP 滥用评分 | 提供免费额度 |
| [HaveIBeenPwned](https://haveibeenpwned.com/API/Key) | 泄露/凭证检查 | ~$3.50/月 |
| [URLScan.io](https://urlscan.io/user/profile/) | URL 扫描 | 提供免费额度 |
密钥本地存储在 `config/keys.json` 中——此文件已被 **gitignore** 忽略,永远不会被提交。
## 用法
### Web 应用
通过侧边栏在各个工具之间切换。所有结果将直接内联显示,无需重新加载页面。
**声誉检查**
- 选择类型 (IP / 域名 / URL / 哈希),粘贴 IOC,点击扫描
- 同时从 VirusTotal 和 AbuseIPDB 拉取结果
**邮件分析器**
- 上传从您的邮件客户端导出的 `.eml` 文件
- 提取邮件头、URL、IP、附件信息,检查 SPF/DKIM,标记钓鱼关键词
**泄露检查 — 密码**
- 使用 k-anonymity:仅将 SHA1 哈希的前 5 个字符发送到 HIBP
- 您的真实密码绝不会被传输
### CLI
```
threatBlade > 1 # Reputation check
threatBlade > 2 # URL tools
threatBlade > 3 # DNS & WHOIS
threatBlade > 4 # Hash tools
threatBlade > 5 # Email analyzer
threatBlade > 6 # Breach check
threatBlade > 7 # IP tools
threatBlade > 8 # Alert templates
threatBlade > 9 # Settings
```
## 项目结构
```
ThreatBlade/
├── app.py # Flask web application
├── threatblade.py # CLI entry point
├── requirements.txt
├── config/
│ ├── settings.py # API key management
│ └── keys.json.example # Template — copy to keys.json and fill in
├── modules/
│ ├── reputation.py # VirusTotal + AbuseIPDB
│ ├── url_tools.py # URL decode / sanitize
│ ├── dns_tools.py # DNS + WHOIS
│ ├── hash_tools.py # File/string hashing
│ ├── email_analyzer.py # .eml parsing + IOC extraction
│ ├── breach_check.py # HaveIBeenPwned
│ ├── ip_tools.py # GeoIP / Tor / DNSBL
│ └── templates.py # Alert email generator
├── static/
│ ├── css/style.css
│ └── js/app.js
└── templates/
└── index.html
```
## 安全
API 密钥仅在本地存储。有关漏洞披露政策,请参阅 [SECURITY.md](SECURITY.md)。
## 许可证
MIT —— 详见 [LICENSE](LICENSE)。
由 Ajinkya Kadam 为蓝队构建。使用 Python 制作。
标签:ATT&CK, DAST, ESC4, Flask, GitHub, IP工具, OSINT, Python, SOC分析师, URL解码, 信誉检查, 威胁情报, 安全运营, 实时处理, 密码管理, 开发者工具, 恶意软件分析, 扫描框架, 数据泄露查询, 无后门, 网络安全, 自动化工具包, 逆向工具, 钓鱼邮件分析, 隐私保护