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), 安全防御评估, 扫描框架, 搜索引擎查询, 测试用例, 网络测绘, 自动化攻击, 请求拦截, 逆向工具