dan-chui/AI-SOC-Analyst-Agent

GitHub: dan-chui/AI-SOC-Analyst-Agent

AI 辅助 SOC 分析师代理,用于威胁狩猎和安全调查。

Stars: 0 | Forks: 0

# AI SOC 分析师代理 使用 **Python**、**Azure 日志分析**、**Microsoft Defender for Endpoint (MDE**) 和 **OpenAI** 构建的 AI 辅助威胁狩猎平台。 该项目展示了大型语言模型 (LLM) 如何通过分析安全遥测数据、识别可疑活动、将发现映射到 **MITRE ATT&CK** 以及生成结构化威胁狩猎报告来协助安全运营中心 (SOC) 分析师。 ## 项目概述 安全分析师经常需要调查多个系统和数据源中的大量遥测数据。 该项目探讨了 AI 驱动的 SOC 分析师如何协助: - 解释自然语言调查请求 - 选择相关的遥测源 - 从 Azure 日志分析中检索数据 - 执行 AI 辅助威胁狩猎 - 将发现映射到 MITRE ATT&CK - 生成结构化调查报告 - 支持可选的分析师批准的响应操作 目标是不要取代人类分析师,而是在保持人类监督和决策的同时加速调查。 ## 架构 ### 高级工作流程 ``` SOC Analyst Request │ ▼ Determine Investigation Scope │ ▼ Apply Security Guardrails │ ▼ Query Azure Log Analytics │ ▼ Collect Security Telemetry │ ▼ Redact Sensitive Data │ ▼ OpenAI Threat Analysis │ ▼ MITRE ATT&CK Mapping │ ▼ Threat Findings │ ▼ Optional Human-Approved Remediation ``` 有关其他架构和工作流程图,请参阅 `docs/` 目录。 ## 功能 ### AI 辅助威胁狩猎 代理可以: - 解释分析师请求 - 选择适当的遥测源 - 从 Azure 日志分析中检索数据 - 使用 OpenAI 分析日志 - 识别可疑活动 - 提取入侵指标 (IOCs) - 将发现映射到 MITRE ATT&CK - 生成调查建议 ### 支持的遥测源 - DeviceLogonEvents - DeviceProcessEvents - DeviceNetworkEvents - DeviceFileEvents - AzureActivity - SigninLogs - AzureNetworkAnalytics_CL ### 人工反馈循环响应操作 潜在的响应操作在执行之前需要分析师批准。 示例包括: - 终端隔离 - 调查转向 - 事件升级建议 不会自动发生任何修复操作。 ## 🛡️ 安全增强与重构 原始训练实现提供了一个工作的概念验证。 这个组合版本重构以提高安全性、可维护性、配置管理和操作安全性。 ### 配置改进 #### 原始实现 - 直接凭据引用 - 有限的 GitHub 发布保护措施 #### 组合版本 - 支持环境变量 - `.env.example` 模板 - 安全存储库结构 - 改进的配置卫生 ### 其他安全防护措施 #### 表允许列表 只能查询批准的遥测源。 #### 字段允许列表 只能返回每个遥测源中批准的字段。 #### 模型允许列表 只能使用批准的 OpenAI 模型。 #### 时间窗口限制 每个遥测源强制执行最大回溯期。 示例: | 源 | 最大回溯期 | | ------------------- | ---------------- | | DeviceProcessEvents | 24 小时 | | DeviceNetworkEvents | 24 小时 | | DeviceLogonEvents | 96 小时 | | AzureActivity | 168 小时 | | SigninLogs | 168 小时 | #### 行限制 在提交给 LLM 之前,自动截断大型查询结果。 当前限制: ``` 500 rows ``` 好处: - 控制令牌消耗 - 提高响应性能 - 降低运营成本 - 防止提示过大 #### 敏感数据擦除 在将日志提交给 LLM 之前,对敏感信息进行清理。 当前擦除包括: - IP 地址 - 电子邮件地址 - Azure GUID #### 防护措施报告 平台显示在每次调查期间应用的主动安全控制,包括: - 时间窗口强制执行 - 行截断状态 - PII 擦除状态 #### 人工批准要求 潜在的修复操作在执行之前需要分析师明确确认。 ## 🚨 截图 ### 调查初始化 显示调查范围选择、遥测源选择和 Azure 日志分析查询执行。 ![初始调查](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/688beca70d143538.png) ### 模型验证与成本估算 展示模型选择、令牌估算和验证控制。 ![模型选择](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ff45b79f4b143540.png) ### 威胁狩猎结果 #### 威胁 #1 – 凭据填充活动 ![威胁 1](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/ece0a7adad143542.png) #### 威胁 #2 – 可疑的根登录 ![威胁 2](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/462b4193d1143544.png) #### 威胁 #3 – 服务帐户凭据探测 ![威胁 3](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3b7afe38df143546.png) #### 威胁 #4 – SSH 枚举活动 ![威胁 4](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/185f6ddb3c143548.png) #### 可选终端隔离 说明分析师批准的终端隔离。 ![隔离](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/5d4bb4eb63143550.png) ## 仓库结构 ``` ai-soc-analyst-agent/ │ ├── data/ │ └── sample_device_logon_events.csv │ ├── docs/ │ ├── baseline_agent_workflow.jpg │ ├── defining_guardrails.md │ ├── network_guardrails.jpg │ └── prompt_engineering_diagram.jpg │ ├── output/ │ └── .gitkeep │ ├── screenshots/ │ ├── src/ │ ├── executor.py │ ├── guardrails.py │ ├── keys.py │ ├── main.py │ ├── model_management.py │ ├── prompt_management.py │ └── utilities.py │ ├── .env.example ├── .gitignore ├── README.md └── requirements.txt ``` ## 其他文档 `/docs` 文件夹包含开发期间和重构期间使用的支持材料: | 文档 | 描述 | | -------------------------- | ---------------------------------------------------------------------- | | 定义防护措施 | 安全控制、验证机制和 AI 安全考虑 | | 提示工程图 | 提示构建和工作流程可视化 | | 网络防护措施 | 网络环境的高级概述 | | 基线代理工作流程 | 作为项目基础使用的原始工作流程 | ## 配置 根据 `.env.example` 创建本地 `.env` 文件。 示例: ``` OPENAI_API_KEY=your_openai_api_key_here AZURE_WORKSPACE_ID=your_workspace_id_here AZURE_TENANT_ID=your_tenant_id_here AZURE_CLIENT_ID=your_client_id_here AZURE_CLIENT_SECRET=your_client_secret_here ``` `.env` 文件不包括在源控制中,不应提交到 Git。 ## 使用的技术 - Python - Azure 日志分析 - Microsoft Defender for Endpoint (MDE) - Azure Identity - Kusto 查询语言 (KQL) - OpenAI API - MITRE ATT&CK 框架 ## 🎓 经验教训 该项目提供了以下方面的实践经验: - 威胁狩猎工作流程 - Azure 安全遥测 - KQL 查询开发 - 提示工程 - AI 安全防护措施 - 安全自动化 - MITRE ATT&CK 映射 - 人工反馈循环响应工作流程 其中一个关键经验教训是,AI 辅助安全工具需要强大的防护措施、验证控制和分析师监督,才能保持有效和可信。 ## 未来改进 潜在的未来改进包括: - 威胁情报丰富 - IOC 声誉查找 - 调查时间线重建 - 多代理编排 ## ⚠️ 声明 该项目旨在用于教育和组合目的。 截图是从受控的网络安全培训环境中捕获的。所有租户信息、基础设施标识符、凭据、IP 地址和敏感遥测数据都已清理或删除。 开发期间未访问任何生产系统。 ## 📬 联系 我的博客文章:[Happy Bytes](https://happy-bytes.vercel.app/blogs/ai_soc_analyst_agent) 请随时在 [LinkedIn](https://www.linkedin.com/in/danchui/) 上与我联系或查看我的其他安全项目。 _欢迎反馈和讨论。感谢您审阅此项目。_
标签:逆向工具