A-Ragul/ai-dfir-threat-hunting-assistant
GitHub: A-Ragul/AI-Powered-SOC-Alert-Triage-Assistant
一款整合 VirusTotal、AbuseIPDB 威胁情报与 Claude 大模型的 SOC 警报自动化分诊工具,帮助 L1 分析师快速完成指标补充与严重性判断。
Stars: 0 | Forks: 0
# 🛡️ AI 驱动的 SOC 警报分诊助手
一款专为 SOC L1 分析师设计的自动化分诊工具。提交 IP 地址、域名
或文件哈希 —— 该工具会使用 **VirusTotal** 和 **AbuseIPDB**
的威胁情报对其进行情报补充(enrichment),然后将补充数据发送给 **Claude (Anthropic API)**
进行严重性分类并提供响应建议操作。
这减少了分析师在警报分诊期间通常需要跨多个工具进行的
手动查询与关联工作。
## 架构
```
Analyst Input (IP/Domain/Hash)
│
▼
Flask Backend (app.py)
│
├──► VirusTotal API (reputation, detection votes)
├──► AbuseIPDB API (abuse confidence score, reports)
│
▼
Claude API (severity classification + recommended actions)
│
▼
Dashboard (HTML/CSS/JS) — verdict, confidence, intel breakdown
```
## 功能
- 自动检测指示器类型(IP / 域名 / 文件哈希)
- 从 VirusTotal + AbuseIPDB 获取真实威胁情报
- Claude 分析组合数据并返回:
- 分类(真阳性 / 假阳性 / 需要调查)
- 严重性(严重 / 高 / 中 / 低 / 信息)
- 置信度分数
- 纯英文摘要
- 推荐的 SOC 操作
- 专为分析师工作流构建的暗色控制台风格仪表板
## 安装设置 — 分步指南
### 1. 克隆 / 下载本项目
将所有文件放在一个名为 `soc-triage-assistant` 的文件夹中。
### 2. 创建虚拟环境(推荐)
```
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
### 3. 安装依赖项
```
pip install -r requirements.txt
```
### 4. 获取免费 API 密钥
- **VirusTotal**(免费版):https://www.virustotal.com/gui/join-us
- **AbuseIPDB**(免费版):https://www.abuseipdb.com/register
- **Anthropic Claude API**:https://console.anthropic.com/
### 5. 配置环境变量
将 `.env.example` 复制为 `.env`:
```
cp .env.example .env
```
打开 `.env` 并粘贴你实际的 API 密钥。
### 6. 运行应用
```
python app.py
```
在浏览器中访问 **http://127.0.0.1:5000**。
### 7. 测试
尝试提交:
- 来自威胁情报源的已知恶意 IP(例如,来自 AlienVault OTX 的示例 IOC)
- 来自钓鱼样本的域名
- 来自 VirusTotal 公开样本报告的文件哈希
## 关于免费版 API 限制的说明
- VirusTotal 免费版:约 4 次请求/分钟,500 次/天
- AbuseIPDB 免费版:1,000 次请求/天
- 这些配额足以满足演示/作品集需求,但不适用于生产环境的 SOC 业务量
## 简历 / 作品集亮点
## 可能的扩展(适合 v2 / 面试讨论点)
- 将 MISP 或 AlienVault OTX 添加为第三个情报源
- 将分诊历史记录存储在 SQLite 中作为“案例日志”
- 添加 Slack/邮件 webhook,以便在出现严重判定时发送通知
- 添加批量上传模式,一次性对 CSV 格式的 IOC 进行分诊
标签:DLL 劫持, Flask, SOC辅助, 告警分诊, 多模态安全, 大语言模型, 威胁情报, 安全运营, 开发者工具, 扫描框架, 数据可视化, 逆向工具