AhsenSiddique/soc-triage-pipeline
GitHub: AhsenSiddique/soc-triage-pipeline
一个纯 Python 实现的 SOC 告警自动化分诊流水线,将原始安全告警经过情报富化、评分、ATT&CK 映射后转化为可视化仪表板和 YARA 规则。
Stars: 0 | Forks: 0
# SOC 告警分诊与富化流水线
用于安全运营的自动化告警分诊流水线 —— 摄取原始安全告警,结合威胁情报进行富化,对 IOC 进行评分,映射至 MITRE ATT&CK,生成 YARA 检测规则,并生成一个独立的 HTML 仪表板。
旨在展示真实的 SOC 自动化工作流:这与在托管检测与响应 (MDR) 环境中用于减少人工分诊时间并大规模维持告警质量的模式相同。
## 功能说明
**1. 告警摄取** — 接受来自 EDR、SIEM 或防火墙的 JSON 格式原始告警
**2. IOC 提取** — 从原始事件数据中提取 IP、文件哈希、域名、进程名称和命令行模式
**3. 威胁情报富化** — 针对威胁情报源检查 IOC(已模拟;可接入 VirusTotal、AbuseIPDB 或内部情报源)
**4. IOC 评分** — 根据指标类型和置信度加权的综合 0–100 风险评分
**5. 严重性分类** — 基于事件类型 + IOC 得分 + 行为启发式算法分为 CRITICAL / HIGH / MEDIUM / LOW / INFO(勒索软件模式始终升级为 CRITICAL)
**6. MITRE ATT&CK 映射** — 将每个告警映射到相关的技术和战术
**7. YARA 规则生成** — 从高于可配置分数阈值的富化告警中自动生成 YARA 规则
**8. HTML 仪表板** — 包含 KPI、图表和完整告警表的独立可视化仪表板
## 快速开始
```
git clone https://github.com/AhsenSiddique/soc-triage-pipeline
cd soc-triage-pipeline
# 在示例告警上运行 triage pipeline
python src/triage_pipeline.py data/sample_alerts.json data/enriched_alerts.json
# 从 enriched 输出生成 YARA 规则
python src/yara_generator.py data/enriched_alerts.json data/generated_rules.yar
# 构建 HTML dashboard
python src/dashboard.py data/enriched_alerts.json dashboards/soc_dashboard.html
# 打开 dashboard
open dashboards/soc_dashboard.html # macOS
xdg-open dashboards/soc_dashboard.html # Linux
```
**无外部依赖。** 纯 Python 标准库。
## 运行测试
```
python -m pytest tests/ -v
# 或
python -m unittest discover tests/
```
## 项目结构
```
soc-triage-pipeline/
├── src/
│ ├── triage_pipeline.py # Core enrichment & scoring engine
│ ├── yara_generator.py # YARA rule generator
│ └── dashboard.py # HTML dashboard generator
├── data/
│ ├── sample_alerts.json # 7 realistic sample alerts (EDR, SIEM, Firewall)
│ ├── enriched_alerts.json # Pipeline output (generated)
│ └── generated_rules.yar # YARA ruleset (generated)
├── dashboards/
│ └── soc_dashboard.html # Visual dashboard (generated)
├── tests/
│ └── test_pipeline.py # Unit + integration tests
└── README.md
```
## 包含的示例告警
| 告警 ID | 来源 | 事件类型 | 预期严重性 |
|---|---|---|---|
| EDR-2024-0001 | EDR | 凭据访问 (Mimikatz) | CRITICAL |
| FW-2024-0042 | 防火墙 | C2 Beacon (端口 4444) | CRITICAL |
| SIEM-2024-0188 | SIEM | 勒索软件 (影子副本删除) | CRITICAL |
| EDR-2024-0055 | EDR | 防御规避 (PowerShell enc) | HIGH |
| SIEM-2024-0201 | SIEM | 横向移动 (PsExec/NTLM) | HIGH |
| EDR-2024-0099 | EDR | 持久化 (计划任务) | MEDIUM |
| FW-2024-0070 | 防火墙 | 发现 (内部扫描) | LOW |
## 扩展流水线
**实时威胁情报源**
```
# 在 triage_pipeline.py 中,将 enrich_ip() 替换为:
import requests
def enrich_ip(ip: str) -> dict:
r = requests.get(f"https://api.abuseipdb.com/api/v2/check",
params={"ipAddress": ip, "maxAgeInDays": 90},
headers={"Key": "YOUR_KEY", "Accept": "application/json"})
data = r.json().get("data", {})
return {
"status": "MALICIOUS" if data.get("abuseConfidenceScore", 0) > 50 else "UNKNOWN",
"confidence": data.get("abuseConfidenceScore", 0),
"reputation": data.get("usageType", "Unknown"),
}
```
**SIEM 集成** — 通过其 API (Splunk HEC, Microsoft Sentinel REST, Elastic ingest) 将富化后的输出直接发送至您的 SIEM
**SOAR 剧本触发** — 将 `severity=CRITICAL` 的富化告警 POST 到 SOAR webhook 以进行自动化遏制
## MITRE ATT&CK 覆盖范围
| 战术 | 映射的技术 |
|---|---|
| Initial Access | T1566 Phishing, T1190 Exploit Public App |
| Execution | T1059 Scripting Interpreter, T1204 User Execution |
| Persistence | T1547 Autostart, T1053 Scheduled Task |
| Defense Evasion | T1027 Obfuscation, T1562 Impair Defenses |
| Credential Access | T1003 Credential Dumping, T1110 Brute Force |
| Discovery | T1082 System Info, T1083 File Discovery |
| Lateral Movement | T1021 Remote Services, T1550 Alt Auth Material |
| Command & Control | T1071 App Layer Protocol, T1095 Non-App Layer |
| Exfiltration | T1041 Exfil Over C2, T1048 Alt Protocol |
| Impact | T1486 Data Encrypted, T1490 Inhibit Recovery |
## 展示的技能
- 跨 EDR、SIEM 和防火墙来源的告警分诊与 IOC 关联
- 威胁情报富化与 IOC 评分(可插拔情报源架构)
- MITRE ATT&CK 技术和战术映射
- 基于行为指标的 YARA 规则生成
- 用于检测工程的 Python 自动化
- SOC 文档和结构化的分析师输出
- 专为集成 SIEM 摄取流水线和 SOAR 剧本而设计
*由 Ahsen Siddique 构建 — [linkedin.com/in/ahsen-s-8ab384305](https://linkedin.com/in/ahsen-s-8ab384305) · [github.com/AhsenSiddique](https://github.com/AhsenSiddique)*
标签:ATT&CK映射, Python, YARA, 云资产可视化, 多模态安全, 威胁情报, 安全规则引擎, 安全运营, 开发者工具, 扫描框架, 无后门, 自动化分类, 逆向工具, 速率限制处理