hamishdean/Threat_hunting_SOC_agent

GitHub: hamishdean/Threat_hunting_SOC_agent

一款基于 AI 的 SOC 威胁狩猎工具,通过自然语言自动生成 KQL 查询并分析 Azure Log Analytics 日志,将检测结果映射到 MITRE ATT&CK 框架。

Stars: 0 | Forks: 0

# 代理式 SOC 分析师 一款基于 AI 的安全运营中心 (SOC) 工具,用于在 Azure Log Analytics 中进行自动化威胁搜寻。它使用 OpenAI 模型生成 KQL 查询,针对您的工作区执行查询,并分析结果以寻找安全威胁 —— 所有操作均通过深色主题的桌面 GUI 完成。 ## 功能 - **AI 驱动的 KQL 生成** — 用通俗英语描述您正在调查的内容,AI 会为您编写查询。 - **自愈查询** — 如果 KQL 查询失败,AI 会自动诊断并修复它(最多重试 3 次)。 - **自动化威胁分析** — 检索到的日志将分批分析,以查找入侵指标,并映射到 MITRE ATT&CK 战术和技术。 - **手动 KQL 模式** — 直接编写并执行您自己的查询,以实现完全控制。 - **会话记忆** — AI 会记住您最近的 3 个查询,以提供更好的上下文结果。 - **导出所有内容** — 将发现结果导出为 JSON、格式化的 TXT 报告或 CSV(用于 Excel / SIEM 导入)。导出输出面板和会话日志到文本文件。 - **内置帮助** — 应用程序内的“如何使用”标签页包含完整指南。 ## 前置条件 - Python 3.10+ - 一个 [OpenAI API key](https://platform.openai.com) - 拥有 Log Analytics 工作区的 Azure 订阅 - 已登录 Azure CLI (`az login`),以便 `DefaultAzureCredential` 可以进行身份验证 ## 安装 ``` # 克隆 repository git clone https://github.com/hamishdean/Threat_hunting_SOC_agent.git cd Threat_hunting_SOC_agent # 安装 dependencies pip install openai azure-identity azure-monitor-query pandas tiktoken ``` ## 使用方法 ``` python soc_analyst_gui.py ``` ### 快速开始 1. 打开 **Settings** 标签页。 2. 输入您的 **OpenAI API key** 和 **Azure Log Analytics Workspace ID**。 3. 选择一个模型(`gpt-5-mini` 用于节省成本,`gpt-5.2` 用于最强性能)。 4. 点击 **Connect**,然后点击 **Save Settings** 以在本地持久化您的凭据。 5. 切换到 **AI Investigation** 标签页,描述您想要搜寻的内容。 ### 标签页指南 | 标签页 | 用途 | |-----|---------| | **Settings** | 配置 API key、Workspace ID 和模型。连接并保存。 | | **AI Investigation** | 用通俗英语描述威胁。AI 生成、执行并分析 KQL 查询。 | | **Manual KQL** | 直接针对您的工作区编写并运行您自己的 KQL 查询。 | | **Findings** | 浏览检测到的威胁,包含 MITRE ATT&CK 映射、证据和建议。 | | **Session Log** | 会话期间执行的每项操作的完整审计跟踪。 | | **How to Use** | 包含提示、支持的表和键盘快捷键的内置指南。 | ### 支持的 Azure Log 表 | 表 | 覆盖范围 | |-------|---------------| | `DeviceProcessEvents` | 进程执行和命令行活动 | | `DeviceLogonEvents` | 身份验证和登录事件 | | `SigninLogs` | Azure AD 登录活动 | | `SecurityAlert` | Microsoft Defender 安全警报 | | `DeviceNetworkEvents` | 网络连接日志 | 其他表通过通用分析提示支持。 ### MITRE ATT&CK 覆盖范围 威胁搜寻器专门检测: - **T1059** — 命令和脚本解释器 - **T1003** — 操作系统凭据转储 (LSASS, Shadow Copy) - **T1204** — 用户执行(可疑进程) - **T1110** — 暴力破解(密码喷洒、撞库) - **T1078** — 有效账户(合法凭据的异常使用) - 以及跨所有战术和技术的一般异常检测。 ### 导出结果 | 按钮 | 格式 | 位置 | |--------|--------|----------| | Export Findings (JSON) | 机器可读 JSON | Findings 标签页 | | Export Findings (TXT) | 格式化文本报告 | Findings 标签页 | | Export Findings (CSV) | 电子表格 / SIEM 导入 | Findings 标签页 | | Export Output (TXT) | 原始输出面板文本 | AI / Manual 标签页 | | Export Log | 会话日志 | Session Log 标签页 | ### 提示 - 在 AI Investigation 文本框中按 **Enter** 可快速生成查询。使用 **Shift+Enter** 换行。 - 使用右上角的 **STOP** 按钮取消任何长时间运行的操作。 - 每次分析后,发现结果会作为 `.jsonl` 文件自动保存在工作目录中。 ## 项目结构 ``` ├── soc_analyst_gui.py # GUI application (main entry point) ├── agenticsocanalyst_py (7).py # Original CLI/Colab version └── README.md ``` ## CLI 版本 还包含一个命令行版本(`agenticsocanalyst_py (7).py`),用于终端或 Google Colab。它需要 `colorama` 作为额外依赖项: ``` pip install colorama requests ``` ## 许可证 本项目按原样提供,用于安全研究和教育目的。
标签:AI 安全, AI 编程, Azure Monitor, Azure 日志分析, GPT 安全分析, KQL 查询, OpenAI, Petitpotam, Python GUI, SIEM 集成, SOC 工具, 不可变基础设施, 内存规避, 安全报告导出, 安全运营中心, 攻击分析, 网络映射, 自动化威胁检测, 逆向工具