bluesaphire76/sovereign-ai-soc

GitHub: bluesaphire76/sovereign-ai-soc

一个本地优先的 AI 辅助 SOC 实验室平台,通过接入 Wazuh 告警并利用本地 LLM 进行事件分析、关联和案例管理,帮助团队在数据不出本地的条件下构建和探索 AI 驱动的安全运营工作流。

Stars: 1 | Forks: 0

# 主权 AI SOC **Sovereign AI SOC** 是一个本地优先的 AI 辅助安全运营中心 实验室,结合了 Wazuh 告警接入、PostgreSQL 持久化、本地 LLM 分析、事件关联、调查案例管理、管理层仪表板以及安全的 HTTPS 访问。 该项目被设计为一个防御性网络安全平台,用于学习、实验和构建 AI 辅助 SOC 工作流原型,同时将敏感数据保留在本地控制之下。 ## 目的 现代 SOC 团队面临三个反复出现的挑战: 1. 告警过多,上下文过少。 2. 分析师用于分流、关联和编写文档的时间有限。 3. 在不失去对数据、证据和决策控制的情况下采用 AI 的压力。 Sovereign AI SOC 探索了应对这些挑战的实用方案: - 在本地接入安全告警; - 使用本地 LLM 对其进行富化和分析; - 关联相关事件; - 将它们归入调查案例; - 通过笔记、审计追踪和 AI 生成的案例分析为分析师提供支持; - 提供管理层可见性; - 导出调查报告; - 通过本地认证和 HTTPS 公开仪表板。 该系统是有意设计为防御性的。它不执行攻击性活动、漏洞利用或自动化修复。 ## 核心功能 ### 告警接入 - 从 Wazuh Indexer 接入 Wazuh 告警。 - 使用 Wazuh 文档 ID 进行持久化去重。 - 基于水位线的增量接入。 - 用于操作可见性的接入状态追踪。 ### AI 辅助事件分析 - 通过 Ollama 进行基于本地 LLM 的事件分析。 - 意大利语的防御性分类输出。 - 基于 RAG 的安全上下文富化。 - 当 Wazuh 告警中包含 MITRE ATT&CK 信息时进行提取。 ### 事件生命周期 - 带有过滤和分页功能的事件列表。 - 事件详情页。 - 状态管理。 - 分析师笔记。 - 生命周期变更的审计追踪。 - 高级过滤器: - 状态; - 风险; - 主机; - 搜索; - MITRE 技术; - 建议优先级; - 关联类型; - 是否已关联; - 日期范围。 ### 关联引擎 - 相关事件的本地关联。 - 关联评分。 - 攻击链检测。 - 在 UI 中可见的关联解释。 - 存储在 PostgreSQL 中的结构化关联摘要。 ### 调查案例 - 自动将相关事件分组为调查案例。 - 案例详情页。 - 关联的事件视图。 - 包含建议操作的案例 AI 分析。 - 案例报告导出。 ### 管理层仪表板 - 面向管理的 SOC 状态视图。 - 待处理事件。 - 高风险和严重风险积压。 - 待处理案例。 - 高风险主机排行。 - 关联类型分布。 - 操作建议。 ### 平台健康状态 - 健康仪表板涵盖: - FastAPI 后端; - PostgreSQL; - Ollama; - Wazuh Indexer; - Qdrant; - AI SOC worker 心跳; - Wazuh 接入水位线。 ### 报告导出 - 以 Markdown 和 JSON 格式导出事件报告。 - 以 Markdown 和 JSON 格式导出案例报告。 - 导出内容包括 AI 分析、笔记、审计追踪、关联信息、MITRE 元数据以及适用的原始告警数据。 ### 本地安全 - 本地仪表板认证。 - HttpOnly 会话 cookie。 - 支持 HTTPS 的安全 cookie。 - Nginx 反向代理。 - AI SOC 仪表板的 HTTPS 访问。 - 区分: - Wazuh Dashboard:`https://localhost` - AI SOC Dashboard:`https://localhost:8443` ## 架构 ``` Wazuh Indexer | | alerts v AI SOC Worker | | deduplication + watermark v PostgreSQL | | incidents, notes, audit trail, cases, reports v FastAPI Backend | | REST API v Next.js Dashboard | | HTTPS reverse proxy v Browser ``` 支撑服务: ``` Ollama -> local LLM analysis Qdrant -> local vector/search component PostgreSQL -> persistent SOC data Nginx -> HTTPS reverse proxy Wazuh -> alert source ``` ## 当前稳定版本 当前稳定基线为: ``` v0.1.0-soc-lab-stable ``` 此版本包含: - Wazuh 接入; - AI 事件分析; - 关联引擎; - 事件生命周期; - 分析师笔记; - 审计追踪; - 案例分组; - 案例 AI 分析; - 管理层仪表板; - 报告导出; - 本地认证; - HTTPS 本地加固。 ## 仓库状态 该项目目前是一个**本地 SOC 实验室和原型**,而不是一个生产就绪的商业 SOC 平台。 它适用于: - 防御性网络安全实验; - AI SOC 工作流原型设计; - 本地优先的安全架构研究; - SOC 分析师工作流演示; - 学习 LLM 如何支持分流和调查; - 测试用于安全运营的 Sovereign AI 模式。 如果没有额外的加固、审查、测试和治理,它不打算按原样用于受监管的生产环境。 ## 技术栈 ### 后端 - Python - FastAPI - SQLAlchemy - PostgreSQL - Wazuh Indexer API - Ollama - Qdrant - Uvicorn ### 前端 - Next.js - React - TypeScript - Tailwind CSS - lucide-react ### 基础设施 - WSL2 Ubuntu - 用于支撑服务的 Docker - Nginx 反向代理 - 带有本地证书的 HTTPS - 用于本地运行时的 systemd 服务 ## 主要 URL 在当前的本地加固设置中: | 组件 | URL | |---|---| | Wazuh Dashboard | `https://localhost` | | AI SOC Dashboard | `https://localhost:8443` | | FastAPI 后端 | `127.0.0.1:8008` | | Next.js 前端 | `127.0.0.1:3000` | | PostgreSQL | Docker 容器 `postgres-soc` | 浏览器应通过以下地址访问 AI SOC UI: ``` https://localhost:8443 ``` 不应使用直接 HTTP 访问前端。 ## 主要 UI 区域 | 区域 | 用途 | |---|---| | `/` | 操作事件仪表板 | | `/incidents/[id]` | 事件调查详情 | | `/cases` | 调查案例列表 | | `/cases/[id]` | 案例调查详情和 AI 案例分析 | | `/health` | 平台健康状态仪表板 | | `/executive` | 管理层摘要仪表板 | | `/detection-quality` | 用于合成防御场景的检测质量仪表板 | | `/login` | 本地仪表板登录 | ## 环境变量 该项目使用环境变量进行本地配置。 典型的后端变量包括: ``` POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=aisoc POSTGRES_USER=soc-userX POSTGRES_PASSWORD=socpasswordX WAZUH_INDEXER_URL=https://localhost:9200 WAZUH_USER=userXYZ WAZUH_PASSWORD=SecretPasswordXYZ OLLAMA_MODEL=qwen3:8b POLL_INTERVAL_SECONDS=30 QDRANT_URL=http://localhost:6333 APP_TIMEZONE=Europe/Zurich ``` 典型的前端本地认证变量包括: ``` LOCAL_AUTH_ENABLED=true LOCAL_AUTH_USERNAME=userXYZ LOCAL_AUTH_PASSWORD=change-this-password LOCAL_AUTH_SESSION_SECRET=change-this-secret LOCAL_AUTH_COOKIE_NAME=ai_soc_session LOCAL_AUTH_COOKIE_SECURE=true NEXT_PUBLIC_API_BASE_URL=/api-backend ``` 不要提交本地机密信息,例如 `.env`、`.env.local`、密码、API 密钥、证书或私钥。 ## 本地运行时概述 典型的本地设置使用: ``` PostgreSQL -> Docker Wazuh -> Docker stack Qdrant -> Docker Ollama -> local service FastAPI -> systemd service AI SOC Worker -> systemd service Next.js -> systemd service Nginx -> HTTPS reverse proxy ``` ## 开发工作流 推荐的开发工作流为: ``` git checkout main git pull origin main git checkout -b feature/ ``` 在实现和测试之后: ``` git status -sb git add git commit -m "" git push -u origin feature/ git checkout main git pull origin main git merge feature/ git push origin main ``` 稳定版本可以打标签: ``` git tag -a v0.1.0-soc-lab-stable -m "Stable AI SOC lab baseline with HTTPS and local auth" git push origin v0.1.0-soc-lab-stable ``` ## 仅限防御性使用 该项目仅旨在用于防御性网络安全。 请勿使用此项目: - 攻击第三方系统; - 绕过授权; - 执行未经授权的扫描; - 自动化漏洞利用; - 在合法授权的环境之外进行攻击性活动。 该平台旨在支持 SOC 分流、告警富化、调查、报告和学习。 ## 安全提示 该项目包含本地认证和 HTTPS 加固,但默认情况下不应被视为生产级别加固。 在任何类生产环境使用之前,至少应审查: - 认证模型; - API 授权; - TLS 证书信任; - 机密管理; - 网络暴露; - 依赖项安全性; - 日志记录和保留; - 备份和恢复; - 基于角色的访问控制; - 可审计性; - 数据保护要求; - 法律和法规义务。 ## 已知局限性 当前的局限性包括: - 本地认证有意设计得非常简单; - FastAPI 尚未强制执行完整的 API 级别认证; - 没有基于角色的访问控制; - 没有多用户分析师工作流; - 没有生产级别的证书颁发机构集成; - 没有正式的威胁模型; - 尚无 CI/CD 安全门; - 没有涵盖所有工作流的自动化测试套件; - 没有生产部署指南。 ## 建议的 v0.2 路线图 可能的下一阶段: 1. 合成攻击场景。 2. 检测质量仪表板。 3. 案例工作流成熟度: - 负责人; - SLA; - 严重性审查; - 案例状态生命周期。 4. PDF 报告导出。 5. AI SOC 剧本。 6. 多智能体分类。 7. API 认证加固。 8. 基于角色的访问控制。 9. CI/CD 和自动化冒烟测试。 10. 本地 CA 或受信任的证书工作流。 ## 免责声明 该项目是一个防御性安全实验室和研究原型。 按原样提供,不作任何担保。用户有责任验证系统、保护其环境,并确保任何使用均符合适用的法律、法规、内部政策和授权边界。 ## 许可证 Apache License 2.0
标签:AI安全, AI风险缓解, Chat Copilot, Cloudflare, DInvoke, DLL 劫持, FTP漏洞扫描, HTTPS, IT运维, JSONLines, LLM, LLM评估, MITRE ATT&CK, Ollama, PB级数据处理, PostgreSQL, Python, RAG, Socks5代理, Unmanaged PE, Wazuh, 告警分析, 大语言模型, 安全合规, 安全实验室, 安全数据分析, 安全编排, 安全运维, 安全运营中心, 无后门, 本地部署, 检索增强生成, 测试用例, 网络代理, 网络安全, 网络安全实验, 网络映射, 自动化攻击, 请求拦截, 逆向工具, 隐私保护, 零信任