SudarshanG9/HallucinatingCrusaders

GitHub: SudarshanG9/HallucinatingCrusaders

基于LangGraph多智能体工作流和Wazuh SIEM构建的自动化AI SOC分析师,实现对安全告警的智能分诊、威胁情报富化和人在环路的自动化响应。

Stars: 0 | Forks: 0

# 🛡️ Agentic AI SOC Analyst ⚡ [![Python 3.11](https://img.shields.io/badge/Python-3.11-3776AB.svg?style=flat&logo=python&logoColor=white)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.104.0-009688.svg?style=flat&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) [![LangGraph](https://img.shields.io/badge/LangGraph-Stateful%20DAG-8B5CF6.svg?style=flat&logo=chainlink&logoColor=white)](https://github.com/langchain-ai/langgraph) [![HTMX](https://img.shields.io/badge/HTMX-1.9.5-3D72D7.svg?style=flat&logo=htmx&logoColor=white)](https://htmx.org/) [![Docker](https://img.shields.io/badge/Docker-Desktop-2496ED.svg?style=flat&logo=docker&logoColor=white)](https://www.docker.com/) [![License](https://img.shields.io/badge/License-MIT-brightgreen.svg?style=flat)](https://opensource.org/licenses/MIT) 一个基于 **Wazuh SIEM** 构建的自动化、生产级 **安全运营中心 (SOC) 分析师**。该系统拦截来自您 Windows 主机的安全事件,通过有状态的多智能体 LangGraph 流水线进行处理,使用多供应商威胁情报进行丰富化,并提供一个带有 Human-in-the-Loop (HITL) 主动隔离功能的高级实时响应仪表板。 ## 🌌 仪表板美学 SOC 仪表板采用了定制的 **"地空发光 (Geospatial Luminescence)"** 深色模式主题(基于 Stitch 设计令牌): * **调色板**:深空海军蓝背景 (`#0e1322`) 和半透明卡片表面 (`rgba(22, 27, 43, 0.7)`),并带有背景模糊效果。 * **标志性光影**:活动元素会发出电光青 (`#00fbfb`) 和霓虹紫 (`#ecb1ff`) 的光芒。 * **动态交互**:由 cubic-bezier 曲线驱动的 CSS 过渡效果,结合 **HTMX** 实现流畅、无需刷新的单页过渡。 ## 🛠️ 核心功能与防护机制 ### 🧠 1. 多智能体 LangGraph 分诊 系统不再使用单提示词 AI 推理,而是在有向无环图 (DAG) 中编排 **6 个专门协作的智能体**: 1. **Gate Agent**:执行提示词注入防御,并将原始日志解析为事实。 2. **Triage Agent**:对攻击类别(勒索软件、暴力破解等)进行分类,并评估严重程度。 3. **Endpoint Agent**:通过 Wazuh API 从主机轮询实时进程树和 FIM 记录。 4. **Threat Intel Agent**:并行查询 VT、AbuseIPDB 和 AlienVault OTX。 5. **Correlation Agent**:扫描数据库历史 (Postgres) 和过往的事件报告。 6. **Decision Agent**:综合所有数据,编写 Markdown 分诊报告,并发出隔离请求。 ### 🛡️ 2. 双 LLM 注入防御 为了保护 AI 免受日志注入攻击: * **阶段 1:启发式过滤器**:在 LLM 执行之前阻止常见的覆盖模式。 * **阶段 2:隔离的 JSON 事实提取**:独立的 LLM 在不进行推理的情况下将事实提取为 JSON。 * **阶段 3:特权评估**:决策 LLM 仅能看到经过净化的事实,从而使得提示词注入变得不可能。 ### 🔌 3. 解耦的跨供应商连接器 零配置的模块化连接器(Wazuh、AWS GuardDuty、Okta、Microsoft Defender),可以在设置面板中实时在 `MOCK`(模拟)和 `LIVE`(实时)数据收集之间进行切换。 ## 🧭 系统架构 ``` +-----------------------+ | Wazuh Agent (Host) | +-----------------------+ | v +------------------+ +-----------+ | Mock Connectors | --(10s Poll)-----> | FastAPI | <---(HTMX Poll)--- +----------------+ | (Okta/AWS/Def) | | Backend | | Jinja2 Web UI | +------------------+ +-----------+ | (Port 8080) | | | +----------------+ +---------------------+ +------------+ v v +---------------------------+ +----------------------------+ | PostgreSQL (Partitioned) | | LangGraph Agent Pipeline | | - Normalised Alerts Table | | - Gate / Triage / Intel | | - Response Actions Queue | | - Postgres & ChromaDB Mem | +---------------------------+ +----------------------------+ ``` ## 🚀 快速入门指南 ### 前置条件 * 启用了 WSL2 的 Windows 10/11。 * 正在运行的 Docker Desktop。 * 已安装 Python 3.11+。 ### 1. 启动数据库与 SIEM 技术栈 通过 Docker Compose 部署 PostgreSQL、ChromaDB 和 Wazuh 技术栈: ``` docker-compose up -d ``` ### 2. 设置本地环境 配置 Python 依赖项: ``` # 安装 packages pip install -r requirements.txt ``` ### 3. 运行仪表板与后端服务器 启动 FastAPI 服务器: ``` python -m uvicorn soc_analyst.api.main:app --reload --host 127.0.0.1 --port 8080 ``` 在浏览器中打开 **[http://127.0.0.1:8080](http://127.0.0.1:8080)**。 * **用户名**:`admin` * **密码**:`socadmin2026` ## ⚡ 尝试实时威胁模拟! 要观看自动化威胁狩猎流水线实时执行的过程,请打开一个单独的 **管理员 PowerShell** 窗口,并运行我们内置的模拟器脚本之一: * **本地账户创建**(本地权限提升): net user securitytest operatorpass123! /add *触发的 Wazuh 规则:61100 (Windows Audit: User account created)* * **Base64 编码脚本执行**(防御规避): powershell -EncodedCommand JgAgACcAdwByAGkAdABlAC0AaABvAHMAdAAnACAAJwBIAGUAbABsAG8AIABmAHIAbwBtACAAQQBJACcADwA= *触发的 Wazuh 规则:91000 (PowerShell Encoded Command execution)* * **可疑计划任务创建**(恶意持久化): schtasks /create /tn "DiagnosticPatch" /tr "cmd.exe /c echo 'patching'" /sc daily /st 12:00 *触发的 Wazuh 规则:61100 (Windows Audit: Scheduled Task Created)* *在 10 秒内观察警报在您的仪表板上弹出,检查包含您主机运行进程的生成的 AI 分诊报告,并在响应中心批准隔离操作!* ## ⚙️ 服务端口映射 | 服务 | 端口 / URL | 凭证 | |---------|------------|-------------| | **SOC 仪表板网页** | `http://127.0.0.1:8080` | `admin` / `socadmin2026` | | **Wazuh 仪表板** | `https://localhost:443` | `admin` / `socadmin2026` | | **Wazuh REST API** | `https://localhost:56000` | `wazuh-wui` / `MyS3cr37P450r.*-` | | **PostgreSQL** | `localhost:5432` | `soc_user` / `soc_password` | | **ChromaDB 向量数据库** | `localhost:8001` | — | | **Docker Registry 镜像** | `madmaxboi/agenticaisocanalyst` | — | ## 📄 参考文档 有关架构决策、开发阶段(阶段 1-11)、文件夹布局结构以及 LangGraph DAG 配置更深入说明的详细回顾,请参阅以下私有文档: `C:\Users\mmddf\.gemini\antigravity\brain\ddf0b3e7-bc31-4063-884c-f5d781c6f688\agentic_soc_analyst_reference_guide.md`
标签:事件调查, 威胁情报, 安全运营, 开发者工具, 扫描框架, 测试用例, 自动化响应, 请求拦截, 逆向工具