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, 告警分析, 大语言模型, 安全合规, 安全实验室, 安全数据分析, 安全编排, 安全运维, 安全运营中心, 无后门, 本地部署, 检索增强生成, 测试用例, 网络代理, 网络安全, 网络安全实验, 网络映射, 自动化攻击, 请求拦截, 逆向工具, 隐私保护, 零信任