Saif8671/soc-agent

GitHub: Saif8671/soc-agent

一款基于多Agent流水线的SOC自动化分诊平台,利用AI和威胁情报自动完成安全告警的调查、风险评估与响应建议,显著减轻安全分析师的工作负担。

Stars: 0 | Forks: 0


[![实时演示](https://img.shields.io/badge/🔗%20Live%20Demo-soc--agent--rosy.vercel.app-4f46e5?style=for-the-badge\&logo=vercel\&logoColor=white)](https://soc-agent-rosy.vercel.app/) [![React](https://img.shields.io/badge/React-19-61DAFB?style=for-the-badge\&logo=react\&logoColor=black)](https://react.dev/) [![Node.js](https://img.shields.io/badge/Node.js-18+-339933?style=for-the-badge\&logo=nodedotjs\&logoColor=white)](https://nodejs.org/) [![Express](https://img.shields.io/badge/Express.js-Backend-black?style=for-the-badge\&logo=express)](https://expressjs.com/) [![MIT License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)
### 🛡️ 自主威胁调查与响应平台 **检测 • 丰富 • 分析 • 响应 • 审计**
# 📖 概述 SOC Triage Agent 是一个现代化的安全运营中心 (SOC) 自动化平台,旨在减轻分析师的工作量并显著缩短事件响应时间。 该平台通过一个 **5阶段的 AI 驱动的 agent pipeline** 自动处理传入的安全警报,丰富攻陷指标 (IOC),执行威胁情报查询,生成 AI 驱动的风险评估,并执行已批准的响应操作。 该平台采用事件驱动架构构建,分析师可以通过实时的 Server-Sent Events (SSE) 实时观察每一个决策的展开过程,从而确保完全的透明度和人工监督。 # 🎯 使命 # ✨ 核心功能 | 功能 | 描述 | | ----------------------- | ------------------------------------------------ | | 🤖 多 Agent Pipeline | 五个专业的 AI agent 处理每一个警报 | | ⚡ 实时流处理 | 实时的 SSE 更新,提供透明度和可见性 | | 🔍 威胁情报 | 集成 VirusTotal、AbuseIPDB 和 NVD | | 🧠 AI 风险分析 | 基于 LLM 的评分和调查 | | 🛡️ 人工介入 | 针对高风险操作的审批门控 | | 📋 审计追踪 | 完整的调查历史 | | 🎯 MITRE ATT&CK 映射 | 自动化的 ATT&CK 分类 | | 🔄 多 LLM 故障转移 | 支持 Groq、Gemini、OpenAI 和 Ollama | # 📈 商业价值 | 挑战 | 传统 SOC | SOC Triage Agent | | -------------------- | ------------------------- | ------------------------------- | | 警报疲劳 | 每天数千个警报 | AI 会优先处理关键威胁 | | 调查时间 | 每个警报 20–40 分钟 | 2 分钟以内的自动化分诊 | | 威胁上下文 | 需要手动研究 | 自动化的数据丰富 | | 响应一致性 | 依赖于分析师 | 标准化的 AI 工作流 | | 合规报告 | 手动记录 | 自动化的审计日志 | # 🤖 AI Agent Pipeline ``` ┌────────────────────┐ │ Incoming Alert │ │ Logs / IOC / Event │ └─────────┬──────────┘ │ ▼ ┌────────────────────┐ │ Agent 1 │ │ Intake & Parsing │ └─────────┬──────────┘ ▼ ┌────────────────────┐ │ Agent 2 │ │ Threat Enrichment │ └─────────┬──────────┘ ▼ ┌────────────────────┐ │ Agent 3 │ │ AI Risk Analysis │ └─────────┬──────────┘ ▼ ┌────────────────────┐ │ Agent 4 │ │ Response Engine │ └─────────┬──────────┘ ▼ ┌────────────────────┐ │ Agent 5 │ │ Audit & Reporting │ └────────────────────┘ ``` # 🏗️ 系统架构 ``` graph TD UI[React Frontend] API[Express Backend] UI --> API subgraph AI Pipeline A1[Intake Agent] A2[Enrichment Agent] A3[AI Scoring Agent] A4[Response Agent] A5[Audit Agent] end API --> A1 A1 --> A2 A2 --> A3 A3 --> A4 A4 --> A5 A2 --> TI[Threat Intelligence APIs] TI --> VT[VirusTotal] TI --> AB[AbuseIPDB] TI --> NVD[NIST NVD] A3 --> LLM[AI Models] LLM --> GROQ[Groq] LLM --> GEMINI[Gemini] LLM --> OPENAI[OpenAI] LLM --> OLLAMA[Ollama] ``` # ⚙️ 技术栈 | 层级 | 技术 | | ------------------- | ------------------------------- | | 前端 | React, Vite, Tailwind CSS | | 后端 | Node.js, Express.js | | 流处理 | Server Sent Events (SSE) | | AI 模型 | Groq, Gemini, OpenAI, Ollama | | 威胁情报 | VirusTotal, AbuseIPDB, NIST NVD | | 安全框架 | MITRE ATT&CK | | 部署 | Vercel | # 🔎 五个 Agent | Agent | 职责 | 输出 | | ------- | ---------------------- | --------------------- | | Agent 1 | 接收与标准化 | 结构化的警报 | | Agent 2 | 威胁信息丰富 | IOC 信誉数据 | | Agent 3 | AI 风险分析 | 严重程度与置信度 | | Agent 4 | 自动化响应 | 响应操作 | | Agent 5 | 审计与合规 | 调查记录 | # 🚀 快速开始 ## 前置条件 * Node.js 18+ * npm 或 yarn * 一个 LLM API 密钥 * 可选的威胁情报 API 密钥 ## 克隆仓库 ``` git clone https://github.com/Saif8671/soc-triage-agent.git cd soc-triage-agent ``` ## 配置环境 ``` cp backend/.env.example backend/.env ``` ``` PORT=3001 # AI Providers GROQ_API_KEY= GEMINI_API_KEY= OPENAI_API_KEY= # Ollama Fallback OLLAMA_URL=http://localhost:11434 OLLAMA_MODEL=llama3 # Threat Intelligence VIRUSTOTAL_API_KEY= ABUSEIPDB_API_KEY= NVD_API_KEY= ``` ## 启动后端 ``` cd backend npm install node server.js ``` 后端 URL: ``` http://localhost:3001 ``` ## 启动前端 ``` cd frontend npm install npm run dev ``` 前端 URL: ``` http://localhost:5173 ``` # 🖥️ 使用说明 ### 步骤 1 启动应用程序。 ### 步骤 2 粘贴原始的安全警报、IOC、钓鱼邮件、SIEM 日志或 EDR 输出。 ### 步骤 3 点击: ``` Run AI Triage ``` ### 步骤 4 观察 AI pipeline 的处理过程: ``` Parse ↓ Enrich ↓ Analyze ↓ Respond ↓ Audit ``` ### 步骤 5 通过人工介入审批系统批准或拒绝高风险的响应操作。 # 📸 截图 ## 仪表盘概览 ## 威胁情报丰富 ## AI 调查流 ## 人工审批工作流 # 🔒 安全特性 * API 密钥身份验证 * 人工审批门控 * 威胁情报验证 * MITRE ATT&CK 分类 * 审计日志 * 多 LLM 冗余 * 实时调查可见性 # 📊 示例工作流 ``` Suspicious Login Alert ↓ IOC Extraction ↓ AbuseIPDB Lookup ↓ VirusTotal Analysis ↓ AI Severity Assessment ↓ Analyst Approval ↓ Response Execution ↓ Audit Record Created ``` # 🚀 路线图 ## 当前 * [x] 多 Agent Pipeline * [x] 实时流处理 * [x] 威胁情报集成 * [x] 多 LLM 支持 * [x] 人工审批系统 * [x] 审计日志 ## 即将推出 * [ ] PostgreSQL 持久化 * [ ] MongoDB 分析 * [ ] Splunk 集成 * [ ] Microsoft Sentinel 集成 * [ ] Elastic SIEM 集成 * [ ] ServiceNow 集成 * [ ] Slack 通知 * [ ] Teams 通知 * [ ] RBAC 身份验证 * [ ] 多租户 SOC 支持 # 📜 许可证 基于 MIT License 授权。 详情请参阅 LICENSE 文件。
## 🛡️ 自主安全运营 AI 驱动的检测 • 调查 • 响应 由 **Saif Ur Rahman** 用 ❤️ 构建
[![GitHub](https://img.shields.io/badge/GitHub-Saif8671-181717?style=for-the-badge\&logo=github)](https://github.com/Saif8671) [![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-0077B5?style=for-the-badge\&logo=linkedin)](https://linkedin.com) [![作品集](https://img.shields.io/badge/Portfolio-Visit-00C7B7?style=for-the-badge\&logo=vercel)](https://saif-portfolio8671.netlify.app)

**更快的分诊。更少的盲区。人在关键处发挥作用。**
标签:AI风险缓解, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 人工智能, 威胁情报, 安全运营, 开发者工具, 扫描框架, 用户模式Hook绕过, 自动化响应, 自定义脚本