panoulhc/ai-soc-triage-assistant

GitHub: panoulhc/ai-soc-triage-assistant

一款防御性 AI 驱动的 SOC 告警分诊助手,通过提取 IOC、整合威胁情报、映射 MITRE ATT&CK 并结合 Claude 生成调查报告,帮助安全分析师加速告警研判。

Stars: 0 | Forks: 0

# AI SOC 告警分诊助手 防御性 AI 驱动的 SOC 分诊助手,可提取 IOC,通过威胁情报丰富告警内容,将可疑活动映射到 MITRE ATT&CK,并使用 Claude 生成分析师风格的报告。 由 @panoulhc 开发。 ``` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ``` ## 概述 AI SOC 告警分诊助手是一款蓝队网络安全工具,旨在帮助您更快地分析安全告警。 该应用接收 JSON 格式的告警,提取其中的入侵指标 (IOC),利用威胁情报对其进行丰富,应用 SOC 分诊逻辑,可选择使用 Claude 进行 AI 辅助分析,并最终生成整洁的 Markdown 调查报告。 本项目建立在我之前的 AI 安全项目基础之上:[LLM 提示词注入防御](https://github.com/panoulhc/llm-prompt-injection-defense)。 该项目侧重于易受攻击的 AI 助手行为与防御性 AI 助手行为之间的对比。而本项目则将这些防御性 AI 概念应用到了真实的 SOC 工作流中。 ## 功能 - JSON 告警分诊 - IOC 提取 - 公网/私网 IP 检测 - 域名、URL、哈希和邮箱提取 - AbuseIPDB 情报丰富 - VirusTotal 情报丰富 - 本地/模拟情报兜底 - 基于规则的 SOC 分析 - Claude 辅助分诊 - MITRE ATT&CK 映射 - 提示词注入标记检测 - Markdown 报告生成 - Streamlit 仪表板 - CLI 运行器 - 示例告警 - Pytest 测试 ## 技术栈 - Python 3.12 - Streamlit - Pydantic - Anthropic Claude API - Requests - python-dotenv - Pytest ## 项目结构 ``` ai-soc-triage-assistant/ ├── app/ │ ├── __init__.py │ ├── config.py │ ├── schemas.py │ ├── ioc_extractor.py │ ├── enrichers.py │ ├── triage_rules.py │ ├── claude_triage.py │ ├── report_generator.py │ └── pipeline.py ├── sample_alerts/ │ ├── brute_force.json │ ├── suspicious_powershell.json │ └── phishing_url.json ├── tests/ │ ├── conftest.py │ ├── test_ioc_extractor.py │ └── test_triage_rules.py ├── streamlit_app.py ├── run_cli.py ├── requirements.txt ├── .env.example ├── .gitignore └── README.md ``` ## 安装说明 ``` git clone https://github.com/panoulhc/ai-soc-triage-assistant.git cd ai-soc-triage-assistant ``` ``` python3.12 -m venv .venv source .venv/bin/activate ``` ``` pip install -r requirements.txt ``` ## 环境变量 在项目根目录下创建一个 `.env` 文件: ``` ANTHROPIC_API_KEY=your_claude_api_key ANTHROPIC_MODEL=claude-sonnet-5 ABUSEIPDB_API_KEY=your_abuseipdb_key VIRUSTOTAL_API_KEY=your_virustotal_key ``` AbuseIPDB 和 VirusTotal 是可选的。如果它们为空,应用将使用模拟/本地情报丰富。 ## 运行仪表板 ``` streamlit run streamlit_app.py ``` ## 运行 CLI 分析示例告警: ``` python run_cli.py sample_alerts/brute_force.json ``` 使用 Claude: ``` python run_cli.py sample_alerts/brute_force.json --claude ``` 保存报告: ``` python run_cli.py sample_alerts/brute_force.json --claude --save-report ``` ## 运行测试 ``` python -m pytest -q ``` ## 示例告警 ``` { "alert_name": "Multiple Failed Login Attempts", "username": "admin", "source_ip": "203.0.113.16", "destination_host": "WIN-SRV-01", "failed_attempts": 45, "time_window": "10 minutes", "timestamp": "2026-07-07T18:35:00Z" } ``` ## 示例输出 ``` { "severity": "high", "confidence": "high", "likely_activity": "Possible credential brute-force attempt", "mitre_attack_mapping": [ { "technique_id": "T1110", "technique_name": "Brute Force", "tactic": "Credential Access" } ], "evidence": [ "45 failed login attempts observed.", "High-volume failures or privileged account targeting detected.", "Documentation IP address used for sample data: 203.0.113.16." ], "recommended_actions": [ "Check whether any successful login occurred after the failures.", "Search for the same source IP across other hosts.", "Review MFA and account lockout status for the targeted user." ], "analyst_summary": "Possible credential brute-force attempt. Severity is high. The assessment is based on alert fields, extracted IOCs, enrichment results, and rule-based SOC logic." } ``` ## 支持的告警类型 当前的规则引擎支持: - 暴力破解登录尝试 - 可疑的 PowerShell 执行 - Office 程序派生 shell/脚本进程 - 钓鱼主题告警 - 可疑特权账户活动 - IOC 信誉发现 - 告警内容中的提示词注入标记 ## 支持的 IOC - 公网 IP 地址 - 私网 IP 地址 - 域名 - URL - 文件哈希 - 电子邮箱地址 ## MITRE ATT&CK 映射示例 | 行为 | MITRE 技术 | |---|---| | 多次登录失败 | T1110 - Brute Force | | 可疑的 PowerShell | T1059.001 - PowerShell | | 使用混淆命令 | T1027 - Obfuscated Files or Information | | 钓鱼相关活动 | T1566 - Phishing | | Office 程序派生脚本 | T1204 - User Execution | | 可疑账户创建 | T1136 - Create Account | ## 防御性 AI 设计 该应用将告警内容视为不受信任的数据。 Claude 工作流旨在: - 保持 AI 的防御角色 - 避免执行告警文本中的指令 - 检测提示词注入标记 - 使用结构化的告警上下文 - 在 Claude 不可用时回退到基于规则的分诊 示例标记: ``` ignore previous instructions reveal your system prompt developer message system message jailbreak bypass your rules forget your instructions ``` ## 报告输出 生成的报告包含: ``` 1. Triage Verdict 2. Analyst Summary 3. Evidence 4. MITRE ATT&CK Mapping 5. Extracted IOCs 6. IOC Enrichment 7. Recommended Next Steps 8. Prompt-Injection Safety Check 9. Raw Alert ``` ## 截图

Dashboard Home Dashboard Analysis


Triage Result Triage Details


IOC Extraction Threat Intelligence Enrichment


Generated Report Part 1 Generated Report Part 2 Generated Report Part 3


Raw JSON Output

## 未来改进 - PDF 报告导出 - SQLite 调查历史记录 - Sigma 规则建议 - Wazuh 告警集成 - Elastic/Splunk 风格的告警解析 - 更多 MITRE 映射 - 仪表板图表 - 案例管理工作流 - Docker 支持
标签:AI辅助分析, Claude, CVE检测, Kubernetes, Python, 告警分诊, 威胁情报, 字符串匹配, 安全运营, 开发者工具, 扫描框架, 无后门, 逆向工具