Arpita34/SOAR-Soc-Asistant
GitHub: Arpita34/SOAR-Soc-Asistant
企业级SOAR平台,提供实时威胁监控和自动化响应。
Stars: 0 | Forks: 0
# SOAR SOC 助手
为现代 SOC 团队设计的全面安全运营和响应(SOAR)平台。这个企业级网络安全仪表板提供实时威胁监控、事件响应自动化、AI 驱动的分析和详细报告功能。
## 🚀 功能
### 核心功能
- **实时安全监控**:与 IDS 集成进行实时流量分析和威胁检测
- **AI 驱动的事件分析**:Groq AI 集成进行智能威胁评估和自动化分析
- **自动化事件响应**:N8N 工作流自动化以简化 SOC 运营
- **专业报告生成**:基于 PDF 的事件报告,包含法医分析和执行摘要
- **交互式安全聊天机器人**:具有会话历史和操作执行的 AI 驱动安全助手
- **Google Sheets 集成**:云基础事件记录和数据持久化
- **自学习系统**:机器学习模型用于持续改进和威胁模式识别
- **自我增强**:AI 驱动的代码分析和自动化功能实现
### 高级功能
- **多仪表板架构**:针对警报、流量、报告、聊天机器人、主仪表板、管理员、设置、系统健康和搜索的专用仪表板
- **实时指标**:动态安全指标和 KPI 跟踪,实时更新
- **威胁情报**:AI 生成威胁情报和风险评估
- **事件管理**:从检测到解决的事件生命周期管理
- **自动化工作流**:N8N 驱动的安全自动化工作流,具有 webhook 集成
- **专业报告**:SOC 级别的事件文档,具有可定制的模板
- **IDS 监控**:实时入侵检测系统,具有日志分析和警报
- **集成检查器**:系统集成的自动验证和连接性
- **Firebase 身份验证**:基于角色的访问控制的安全用户身份验证
## 🏗️ 架构
### 前端(React + Vite)
- **React 18**,带有现代钩子和并发功能
- **Vite** 用于闪电般的开发和优化的生产构建(端口 4028)
- **TailwindCSS** 用于响应式、专业的 UI 设计和自定义主题
- **Redux Toolkit** 用于状态管理,具有 auth 和其他功能的切片
- **React Router** 用于在仪表板之间无缝导航
- **Firebase Authentication** 用于安全用户管理
- **D3.js & Recharts** 用于高级数据可视化和交互式图表
- **Framer Motion** 用于平滑的动画和过渡
- **Lucide React** 用于一致的图标
- **React Hook Form** 用于高效的表单处理
### 后端(Flask + Python)
- **Flask** REST API,具有 CORS 支持和 Firebase 令牌验证
- **Google Sheets API** 用于数据持久化和事件管理
- **Groq AI** 用于智能安全分析和聊天机器人响应
- **N8N 集成** 用于工作流自动化和 webhook 处理
- **Scikit-learn** 用于机器学习模型(自学习和 NIDS)
- **ReportLab** 用于专业 PDF 报告生成
- **Firebase Admin** 用于服务器端身份验证
- **实时处理** 用于实时安全监控和警报
### AI & 机器学习
- **Groq AI 模型**:用于安全分析和自然语言处理的高级语言模型
- **自学习服务**:随着事件数据的积累而不断改进的 ML 模型
- **NIDS 模型**:使用平衡机器学习算法进行网络入侵检测
- **智能聊天机器人**:具有操作执行能力的上下文感知安全助手
- **自动化代码增强**:AI 驱动的代码库分析和改进建议
## 📋 先决条件
### 系统要求
- **Node.js**(v18.x 或更高版本)- 用于前端开发
- **Python**(v3.8 或更高版本)- 用于后端服务
- **Google Cloud 账户**(用于 Sheets API 和 Firebase)
- **Groq API 密钥**(用于 AI 功能)
- **N8N 实例**(可选,用于自动化工作流)
- **Git**(用于版本控制)
### 需要的 API 密钥
- Google Sheets API 凭据(服务账户 JSON)
- Google Sheets 工作表 ID 用于数据存储
- Groq API 密钥用于 AI 功能
- Firebase 项目配置
- N8N webhook URL(可选,用于自动化)
## 🛠️ 安装 & 设置
### 1. 克隆并安装依赖项
```
# 克隆仓库
git clone https://github.com/sambhavmehra/SOAR-Soc-Asistant.git
cd soar_soc_assistant
# 安装前端依赖
npm install
# 安装后端依赖
cd backend
pip install -r requirements.txt
cd ..
```
### 2. 环境配置
在根目录中创建 `.env` 文件:
```
# Google Sheets API
GOOGLE_SHEETS_CREDENTIALS_PATH=path/to/credentials.json
GOOGLE_SHEETS_SPREADSHEET_ID=your_spreadsheet_id
# Groq AI
GROQ_API_KEY=your_groq_api_key
# N8N(可选)
N8N_WEBHOOK_URL=https://your-n8n-instance.com/webhook/
N8N_API_KEY=your_n8n_api_key
# Firebase
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
FIREBASE_PROJECT_ID=your_project_id
# 后端
FLASK_ENV=development
FLASK_DEBUG=True
```
### 3. Google Sheets 设置
1. 创建一个新的 Google 工作表用于事件记录
2. 在 Google Cloud 控制台中启用 Google Sheets API
3. 创建服务账户并下载凭据 JSON
4. 将工作表与服务账户电子邮件共享
5. 在环境变量中更新工作表 ID
### 4. Firebase 设置
1. 创建 Firebase 项目
2. 启用基于电子邮件/密码提供者的身份验证
3. 配置 Firestore 数据库(可选)
4. 将 Firebase 配置添加到前端(`src/firebase.js`)
5. 在环境变量中更新 Firebase 凭据
### 5. 启动应用程序
```
# 终端 1:启动后端(端口 5000)
cd backend
python server.py
# 终端 2:启动前端(端口 4028)
npm run dev
```
应用程序将在以下位置可用:
- **前端**:http://localhost:4028
- **后端 API**:http://localhost:5000
## 🎯 仪表板概述
### 1. **主仪表板**
- 系统健康概述和关键指标
- 实时安全状态指示器
- 常见任务的快速操作面板
- 最近警报和事件流
- 集成状态监控
### 2. **警报仪表板**
- 实时安全警报和通知
- AI 驱动的事件分析和优先级排序
- 自动化响应触发和工作流
- 警报过滤、排序和批量操作
- 警报升级和分配功能
### 3. **流量仪表板**
- 网络流量监控和可视化
- 连接日志,具有高级过滤功能
- 威胁检测和阻止指标
- 实时流量流量图表和图形
- 地理流量分析
### 4. **报告仪表板**
- 专业事件报告生成
- AI 驱动的执行摘要和分析
- 可定制的报告构建器,具有日期过滤功能
- 定期报告和自动化交付
- 报告模板和自定义选项
### 5. **安全聊天机器人**
- AI 驱动的安全辅助和指导
- 基于事件数据和系统上下文的上下文感知对话
- 操作执行能力(调查 IP,生成报告)
- 会话历史和会话管理
- 与实时安全数据的集成
### 6. **管理员仪表板**
- 用户管理和角色分配
- 系统配置和设置
- 集成管理和测试
- 审计日志和系统监控
- 管理控制和权限
### 7. **设置仪表板**
- 自动化规则配置
- 安全集成设置
- 系统首选项和自定义
- 用户配置文件管理
- 通知首选项
### 8. **系统健康仪表板**
- 实时系统性能指标
- 服务可用性监控
- 资源利用率跟踪
- 错误记录和诊断
- 健康检查自动化
### 9. **搜索仪表板**
- 先进的事件和日志搜索
- 在所有数据源中进行全文搜索
- 过滤和查询构建器
- 搜索结果导出功能
- 保存的搜索查询
## 🔧 关键工作流
### 事件响应流程
1. **检测**:实时监控通过 IDS 或集成捕获安全事件
2. **分析**:AI 使用 Groq 模型和历史数据自动分析事件
3. **丰富**:系统通过威胁情报和上下文丰富事件
4. **响应**:通过 N8N 触发适当的响应自动化工作流
5. **升级**:根据严重性和规则升级关键事件
6. **报告**:生成具有 AI 驱动摘要的专业报告
7. **解决**:通过解决跟踪事件状态并更新
8. **学习**:自学习模型通过事件数据为未来的改进而整合
### 报告生成工作流
1. 选择事件或创建自定义报告参数
2. AI 分析所选数据并生成全面的见解
3. 使用以下内容创建专业 PDF 报告:
- 执行摘要和关键发现
- 详细的事件时间线和分析
- 法医证据和技术细节
- 风险评估和影响分析
- 建议和缓解策略
### 聊天机器人交互工作流
1. 用户通过安全查询启动对话
2. 聊天机器人分析最近的事件和系统上下文
3. AI 提供上下文响应和建议
4. 用户可以执行操作,如 IP 调查或报告生成
5. 维护会话历史以保持连续性
6. 操作触发适当的工作流和响应
## 📊 API 端点
### 核心端点
- `GET /health` - 服务健康检查
- `GET/POST /incidents` - 事件 CRUD 操作
- `PUT /incidents//status` - 更新事件状态
- `POST /incidents/bulk` - 批量事件操作
### AI 服务
- `POST /ai/analyze` - AI 驱动的安全事件分析
- `POST /ai/report` - 生成事件报告
- `POST /ai/threat-intelligence` - 威胁情报查询
- `POST /ai/chat` - 安全聊天机器人交互
- `POST /ai/action` - 执行安全操作
### N8N 集成
- `POST /n8n/trigger` - 触发自动化工作流
- `POST /n8n/agent` - 调用 N8N 代理
- `GET /n8n/ping` - 检查 N8N 连接性
- `POST /n8n/test-integration` - 测试集成设置
### 身份验证 & 用户
- `POST /auth/signup` - 用户注册
- `POST /auth/verify` - 令牌验证
- `GET /metrics` - 仪表板指标(认证)
### 高级功能
- `POST /chatbot/generate-report` - 生成基于聊天机器人的报告
- `GET /chatbot/download-report/` - 下载 PDF 报告
- `GET/POST /ids/*` - IDS 监控和日志管理
- `GET /integrations/status` - 集成健康检查
- `POST /ai/self-enhance/*` - AI 驱动的代码增强
### 聊天 & 历史
- `POST /chat/agent` - 基于代理的聊天交互
- `POST /chat/execute` - 执行聊天操作
- `GET/POST /chat/*` - 聊天历史管理
## 🚀 部署
### 开发
```
# 前端
npm run dev
# 后端
cd backend && python server.py
```
### 生产构建
```
# 构建前端
npm run build
# 后端部署(使用 Gunicorn)
cd backend
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 server:app
```
### Docker 部署(推荐)
```
# Dockerfile 示例
FROM node:18-alpine AS frontend
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM python:3.9-slim AS backend
WORKDIR /app
COPY backend/requirements.txt .
RUN pip install -r requirements.txt
COPY backend/ ./
EXPOSE 5000 4028
# 为两个服务添加正确的 CMD
```
## 🔒 安全功能
- **实时威胁检测**:与 IDS 集成进行持续监控
- **AI 驱动分析**:智能威胁评估和自动化分类
- **自动化响应**:由工作流驱动的事件响应和缓解
- **专业报告**:SOC 级别的事件文档和合规性
- **访问控制**:基于 Firebase 的身份验证和基于角色的权限
- **数据加密**:安全的 API 通信和数据传输
- **审计日志**:所有安全事件和操作的全面记录
- **集成安全**:安全的 webhook 处理和 API 身份验证
## 📈 性能 & 可扩展性
- **实时处理**:警报和分析的亚秒级响应时间
- **可扩展架构**:模块化设计,支持高容量安全监控
- **优化查询**:从 Google Sheets 和集成中高效检索数据
- **AI 缓存**:智能响应缓存以提高性能
- **后台处理**:异步任务处理以处理重操作
- **资源监控**:内置的性能跟踪和优化
## 🤝 贡献
1. 分叉存储库
2. 创建功能分支(`git checkout -b feature/amazing-feature`)
3. 按照现有代码风格进行更改
4. 如适用,添加测试
5. 提交您的更改(`git commit -m 'Add amazing feature'`)
6. 将分支推送到远程(`git push origin feature/amazing-feature`)
7. 提交拉取请求
### 开发指南
- 遵循 React 和 Python 最佳实践
- 使用 TypeScript 为新前端组件
- 添加适当的错误处理和日志记录
- 更新文档以包含新功能
- 彻底测试集成
## 📝 许可证
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。
## 🙏 致谢
- **Groq AI** 提供高级语言模型功能
- **N8N** 提供强大的工作流自动化平台
- **Google Cloud** 提供可靠的数据持久化和 API
- **Firebase** 提供身份验证和实时功能
- **React & Vite** 社区提供出色的开发工具
- **TailwindCSS** 提供美丽且响应式的设计系统
## 📞 支持 & 文档
有关支持和问题:
- 在存储库中创建问题
- 检查后端 README 以获取 API 文档
- 查阅故障排除指南
- 加入我们的社区讨论
**为现代 SOC 团队构建,注重企业级安全运营。**
标签:AMSI绕过, Apex, MITM代理, SOAR平台, 事件管理, 云集成, 人工智能, 代码示例, 企业级安全, 入侵检测系统, 威胁情报, 威胁检测, 安全响应, 安全数据湖, 安全运营, 工作流自动化, 开发者工具, 扫描框架, 数据分析, 机器学习, 用户模式Hook绕过, 用户认证, 系统健康监控, 网络调试, 自动化, 自定义脚本, 请求拦截, 逆向工具