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, 云资产可视化, 多模态安全, 威胁情报, 安全规则引擎, 安全运营, 开发者工具, 扫描框架, 无后门, 自动化分类, 逆向工具, 速率限制处理