soniyaritgithub/AI-SOC-Analyst
GitHub: soniyaritgithub/AI-SOC-Analyst
AI SOC Analyst 是一个基于 React 和 Django 构建的企业级安全运营中心平台,提供安全事件管理、实时监控、分析可视化和审计日志等全栈 SOC 能力。
Stars: 0 | Forks: 0
# 🛡️ AI SOC Analyst
### 企业安全运营中心平台
AI SOC Analyst 是一个全栈网络安全平台,旨在模拟现代的**安全运营中心 (SOC)** 环境。
该平台通过响应式的 SOC 仪表板,提供集中式安全监控、事件管理、安全分析、基于角色的访问控制、审计日志、实时通信功能以及可用于生产环境的 REST API。
该项目采用面向生产的架构构建,使用了 **React、TypeScript、Django REST Framework、PostgreSQL、Redis、Celery、Django Channels、Docker 和 JWT 认证**。
## 🌐 在线应用
### Frontend
**在线演示:**
https://ai-soc-analyst-eosin.vercel.app
### Backend API
**后端:**
https://ai-soc-backend-iqpx.onrender.com
### Swagger API 文档
**交互式 Swagger UI:**
https://ai-soc-backend-iqpx.onrender.com/api/docs/
### OpenAPI Schema
https://ai-soc-backend-iqpx.onrender.com/api/schema/
### 健康检查
https://ai-soc-backend-iqpx.onrender.com/healthz
## 📌 项目概述
现代安全运营中心需要处理海量的安全告警和事件。
AI SOC Analyst 提供了一个集中式平台,安全团队可以在此:
- 监控安全事件
- 分析事件严重性和趋势
- 跟踪事件状态
- 将事件分配给 SOC 分析师
- 管理事件响应工作流
- 监控 SOC 分析
- 维护审计日志
- 生成安全报告
- 使用 JWT 安全地对用户进行身份验证
- 应用基于角色的访问控制
- 接收实时安全更新
- 访问带文档的 REST API
该架构旨在支持额外的企业级 SIEM 功能,如 Elasticsearch、IOC 管理、威胁情报、告警关联、可观测性以及自动化 CI/CD。
# ✨ 核心功能
## 🔐 身份验证与安全
- 基于 JWT 的身份验证
- 支持 Access token 和 Refresh token
- 自动刷新 Access token
- Refresh token 轮换
- Refresh token 黑名单
- 安全登出
- 受保护的 API endpoint
- 基于角色的访问控制 (RBAC)
- 通过 Django 进行安全的密码处理
- CORS 配置
- CSRF 受信任来源配置
- HTTP 安全标头
### 支持的角色
| 角色 | 用途 |
| ----------- | -------------------------------------------- |
| Admin | 管理及特权 SOC 操作 |
| Manager | SOC 管理和监控 |
| SOC Analyst | 事件调查和响应 |
## 🚨 事件管理
事件管理模块为安全事件提供了结构化的工作流。
功能包括:
- 事件列表
- 事件详情
- 事件创建
- 事件更新
- 事件删除
- 分析师分配
- 事件状态更新
- 严重性过滤
- 状态过滤
- 搜索
- 分页
- 分析师绩效数据
- 事件统计
- 事件趋势分析
## 📊 SOC 仪表板
安全仪表板提供对 SOC 活动的集中式可视化监控。
仪表板功能包括:
- 安全概览
- 事件统计
- 严重性分布
- 状态分布
- 事件趋势
- 最新安全事件
- SOC 活动监控
- 仪表板数据聚合
- CSV 仪表板导出
- 实时监控架构
## 📈 安全分析
分析模块帮助 SOC 团队了解事件模式和运营趋势。
分析功能包括:
- 事件统计
- 严重性分布
- 状态分布
- 事件趋势
- SOC 分析师绩效
- 安全指标可视化
图表和分析使用 **Recharts** 渲染。
## 📝 审计日志
可以通过审计日志系统跟踪对安全敏感的操作。
该模块支持:
- 审计日志列表
- 审计日志详情
- 审计统计
- 审计仪表板
- 身份验证保护
- 基于角色的授权
这为问责制和安全调查工作流奠定了基础。
## 📄 安全报告
报告模块为 SOC 报告和安全数据导出提供了基础设施。
该架构支持:
- 安全报告生成
- 事件报告
- 仪表板导出
- 安全分析报告
## ⚡ 实时架构
该项目包含使用以下技术的异步和实时基础设施:
- Django Channels
- ASGI
- Daphne
- Redis
- WebSockets
- Celery
该架构支持实时 SOC 功能和后台安全处理。
# 🏗️ 系统架构
```
┌─────────────────────────┐
│ End User │
│ SOC Analyst / Admin │
└────────────┬────────────┘
│
HTTPS
│
▼
┌─────────────────────────┐
│ React Frontend │
│ TypeScript + Vite UI │
│ Vercel │
└────────────┬────────────┘
│
REST API / JWT
│
▼
┌─────────────────────────────────┐
│ Django REST Backend │
│ Django + DRF │
│ Daphne / ASGI │
└───────────────┬─────────────────┘
│
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ PostgreSQL │ │ Redis │ │ Celery │
│ Database │ │ Cache/Channel│ │ Background │
│ │ │ Layer │ │ Tasks │
└──────────────┘ └──────┬───────┘ └──────────────┘
│
▼
┌──────────────┐
│ WebSockets │
│ Channels │
└──────────────┘
```
# 🛠️ 技术栈
## Frontend
| Technology | 用途 |
| ------------ | -------------------------------- |
| React | Frontend UI |
| TypeScript | 类型安全的 Frontend 开发 |
| Vite | Frontend 构建工具 |
| Tailwind CSS | 响应式样式 |
| React Router | 客户端路由 |
| Axios | API 通信 |
| Recharts | 安全分析可视化 |
| Lucide React | 仪表板图标 |
## Backend
| Technology | 用途 |
| --------------------- | ------------------------------- |
| Python | 后端编程语言 |
| Django | 后端框架 |
| Django REST Framework | REST API 开发 |
| SimpleJWT | JWT 身份验证 |
| drf-spectacular | OpenAPI / Swagger 文档 |
| Django Channels | WebSocket 支持 |
| Daphne | ASGI 服务器 |
| Celery | 后台任务处理 |
| django-filter | API 过滤 |
## 数据与基础设施
| Technology | 用途 |
| ---------- | ----------------------------------------- |
| PostgreSQL | 主关系型数据库 |
| Redis | 缓存、Channels 和 Celery 基础设施 |
| Docker | 后端容器化 |
| WhiteNoise | Django 静态文件处理 |
## 部署
| Service | 用途 |
| ------- | ------------------------------------- |
| Vercel | React 前端部署 |
| Render | Django 后端部署 |
| GitHub | 源代码控制和代码库托管 |
# 📂 项目结构
```
AI-SOC-Analyst/
│
├── backend/
│ ├── accounts/
│ ├── audit_logs/
│ ├── common/
│ ├── config/
│ ├── dashboard/
│ ├── detection/
│ ├── incidents/
│ ├── notifications/
│ ├── reports/
│ ├── system/
│ │
│ ├── Dockerfile
│ ├── manage.py
│ └── requirements.txt
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── constants/
│ │ ├── contexts/
│ │ ├── hooks/
│ │ ├── layouts/
│ │ ├── lib/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── types/
│ │ └── utils/
│ │
│ ├── package.json
│ ├── vite.config.ts
│ └── vercel.json
│
├── .env.example
├── .gitignore
├── LICENSE
└── README.md
```
# 🔌 REST API
后端暴露了带文档的 REST API,用于身份验证、事件、分析、审计日志、报告和系统功能。
## API 文档
Swagger 提供了一个交互式界面,用于探索和测试 REST API。
**Swagger UI**
https://ai-soc-backend-iqpx.onrender.com/api/docs/
## 重要 API 路由
```
/api/accounts/
/api/incidents/
/api/audit-logs/
/api/reports/
/api/dashboard/
/api/system/
/api/schema/
/api/docs/
```
### 事件分析
```
GET /api/incidents/
GET /api/incidents/stats/
GET /api/incidents/severity/
GET /api/incidents/status/
GET /api/incidents/trends/
GET /api/incidents/analysts/
GET /api/incidents/dashboard/
```
### 事件操作
```
GET /api/incidents//
POST /api/incidents/create/
PATCH /api/incidents//update/
DELETE /api/incidents//delete/
PATCH /api/incidents//assign/
PATCH /api/incidents//status/
```
# 🔐 身份验证流程
```
User Login
│
▼
Django Authentication
│
▼
Access Token + Refresh Token
│
▼
Frontend Token Service
│
▼
Authorization: Bearer
│
▼
Protected REST API
│
├── Valid Token ───────► API Response
│
└── Expired Token
│
▼
Refresh Token
│
▼
New Access Token
│
▼
Retry Request
```
# ⚙️ 本地开发
## 1. 克隆代码库
```
git clone https://github.com/soniyaritgithub/AI-SOC-Analyst.git
cd AI-SOC-Analyst
```
# 后端设置
## 2. 创建虚拟环境
Windows:
```
cd backend
python -m venv venv
venv\Scripts\activate
```
macOS / Linux:
```
cd backend
python3 -m venv venv
source venv/bin/activate
```
## 3. 安装后端依赖
```
pip install -r requirements.txt
```
## 4. 配置环境变量
使用提供的 `.env.example` 作为参考,创建所需的后端环境配置。
典型配置包括:
```
SECRET_KEY=your-secret-key
DEBUG=True
DB_NAME=your_database
DB_USER=your_database_user
DB_PASSWORD=your_database_password
DB_HOST=localhost
DB_PORT=5432
REDIS_URL=redis://127.0.0.1:6379/0
ALLOWED_HOSTS=127.0.0.1,localhost
CORS_ALLOWED_ORIGINS=http://localhost:5173
CSRF_TRUSTED_ORIGINS=http://localhost:5173
```
根据配置的后端环境,可能还需要与电子邮件相关的环境变量。
切勿将真实的密钥或生产凭据提交到 GitHub。
## 5. 运行数据库迁移
```
python manage.py migrate
```
## 6. 验证 Django 配置
```
python manage.py check
```
预期结果:
```
System check identified no issues (0 silenced).
```
## 7. 运行后端测试
```
python manage.py test
```
## 8. 启动 Django 后端
```
python manage.py runserver
```
后端:
```
http://127.0.0.1:8000
```
Swagger:
```
http://127.0.0.1:8000/api/docs/
```
# Frontend 设置
打开另一个终端:
```
cd frontend
npm install
```
创建/配置前端环境文件:
```
VITE_API_BASE_URL=http://127.0.0.1:8000
```
然后运行:
```
npm run dev
```
前端:
```
http://localhost:5173
```
# 🧪 生产环境验证
### 后端
```
cd backend
python manage.py check
python manage.py test
```
### 前端
```
cd frontend
npm run lint
npm run build
```
成功的生产构建会在以下位置生成优化后的前端 bundle:
```
frontend/dist/
```
# 🛡️ 安全工程
项目中实施的安全控制包括:
- JWT 身份验证
- Refresh token 轮换
- Token 黑名单
- 基于角色的访问控制
- 受保护的 REST endpoint
- 安全的 Django 密码哈希
- CORS 限制
- CSRF 受信任来源
- HTTPOnly 会话配置
- MIME 嗅探保护
- 点击劫持保护
- 严格的 referrer 策略
- 基于环境变量的密钥管理
- API 授权
- 审计日志
# 🚀 部署架构
```
GitHub Repository
│
├─────────────────────────┐
│ │
▼ ▼
Vercel Render
│ │
▼ ▼
React + Vite Django REST API
Frontend Docker / ASGI
│
┌────────────┴────────────┐
▼ ▼
PostgreSQL Redis
```
前端和后端可独立部署,并通过安全的 REST API 进行通信。
# 🗺️ 企业 SOC 路线图
下一开发阶段将把项目扩展到更高级的 SIEM 和 SOC 功能。
| 阶段 | 企业级功能 | 状态 |
| ----- | ------------------------------- | ---------- |
| 7.1 | Elasticsearch | 🔜 已规划 |
| 7.2 | SIEM 搜索 | 🔜 已规划 |
| 7.3 | 告警关联引擎 | 🔜 已规划 |
| 7.4 | IOC 管理与上传 | 🔜 已规划 |
| 7.5 | 威胁情报集成 | 🔜 已规划 |
| 7.6 | API 速率限制 | 🔜 已规划 |
| 7.7 | Prometheus 指标 | 🔜 已规划 |
| 7.8 | Grafana 仪表板 | 🔜 已规划 |
| 7.9 | Sentry 监控 | 🔜 已规划 |
| 7.10 | CI/CD 流水线 | 🔜 已规划 |
# 🎯 工程目标
本项目展示了对以下方面的实践经验:
- 全栈应用架构
- 聚焦于网络安全的应用开发
- SOC 工作流设计
- REST API 开发
- JWT 身份验证
- 基于角色的访问控制
- PostgreSQL 数据建模
- Redis 基础设施
- 异步处理
- WebSocket 架构
- 响应式 React 仪表板
- TypeScript
- API 文档
- Docker 容器化
- 生产环境部署
- 后端测试
- 前端生产构建
# 📸 应用模块
用户界面包括:
- 安全登录
- 用户注册
- SOC 仪表板
- 事件管理
- 安全分析
- 用户资料
- 设置
- 审计日志
- 报告基础设施
# 👩💻 作者
**Sunidhi Shinde**
B.Tech — 计算机科学与工程
兴趣领域:
- 网络安全
- 安全运营
- SOC 分析
- 全栈开发
- 后端工程
- 驱动 AI 的安全系统
### 联系方式
LinkedIn:
https://www.linkedin.com/in/sunidhishinde/
GitHub:
https://github.com/soniyaritgithub
# 📜 许可证
该项目基于 **MIT License** 授权。
有关详细信息,请参阅 `LICENSE` 文件。
## ⭐ 支持
如果您觉得这个项目有用或有趣,请考虑给该代码库一个 ⭐。
AI SOC Analyst
企业安全监控 • 事件响应 • 安全分析
标签:Django, Docker, React, Syscalls, 事件管理, 安全运营, 安全运营中心(SOC), 安全防御评估, 扫描框架, 搜索引擎查询, 测试用例, 网络测绘, 自动化攻击, 请求拦截, 逆向工具