Apoorva-Nayak07/AI-Powered-SOC-Platform
GitHub: Apoorva-Nayak07/AI-Powered-SOC-Platform
集成AI异常检测与自动化事件响应的企业级安全运营中心平台,解决安全团队对实时威胁监控与高效协同处置的诉求。
Stars: 0 | Forks: 0
# 🛡️ AI 驱动的安全运营中心 (SOC) 平台
## 🎯 概述
企业级安全运营中心平台,提供实时威胁监控、AI 驱动的攻击检测、自动化事件响应和高级分析。采用现代技术构建,提供全面的网络安全监控与防护。
## ✨ 功能
### 🔐 核心安全功能
- **实时威胁监控** - 实时安全事件追踪与分析
- **AI 驱动的异常检测** - 用于威胁检测的机器学习模型
- **自动化事件响应** - 智能威胁缓解与响应
- **高级威胁情报** - GeoIP 追踪,MITRE ATT&CK 映射
- **实时告警系统** - 具备实时通知的多级告警
- **攻击可视化** - 交互式地图与仪表板
### 🤖 AI/ML 能力
- 用于异常检测的 Isolation Forest
- Random Forest 分类
- 实时风险评分
- 行为分析
- 预测性威胁建模
### 📊 仪表板模块
1. 高管仪表板
2. 实时监控中心
3. 威胁检测控制台
4. 告警中心
5. 事件响应面板
6. 威胁情报仪表板
7. 攻击可视化地图
8. 日志探索器
9. AI 洞察仪表板
10. 用户管理
11. 报告与分析
12. 系统设置
## 🛠️ 技术栈
### 前端
- React.js 18
- Tailwind CSS
- Framer Motion
- Recharts
- Socket.IO Client
- React Router v6
- Axios
### 后端
- Node.js
- Express.js
- MongoDB + Mongoose
- Socket.IO
- JWT 身份验证
- bcrypt
### AI/ML 服务
- Python FastAPI
- Scikit-learn
- TensorFlow
- Pandas
- NumPy
### DevOps
- Docker
- Docker Compose
- NGINX
## 📁 项目结构
```
soc-platform/
├── client/ # React frontend
│ ├── public/
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── charts/ # Chart components
│ │ ├── services/ # API services
│ │ ├── hooks/ # Custom hooks
│ │ ├── layouts/ # Layout components
│ │ ├── utils/ # Utility functions
│ │ └── App.jsx
│ └── package.json
│
├── server/ # Node.js backend
│ ├── src/
│ │ ├── routes/ # API routes
│ │ ├── controllers/ # Route controllers
│ │ ├── models/ # MongoDB models
│ │ ├── middleware/ # Express middleware
│ │ ├── services/ # Business logic
│ │ ├── sockets/ # Socket.IO handlers
│ │ ├── utils/ # Utilities
│ │ └── server.js
│ └── package.json
│
├── ml-service/ # Python AI/ML service
│ ├── app/
│ │ ├── models/ # ML models
│ │ ├── services/ # ML services
│ │ ├── utils/ # Utilities
│ │ └── main.py
│ ├── datasets/ # Training datasets
│ ├── trained_models/ # Saved models
│ └── requirements.txt
│
├── docker/ # Docker configurations
│ ├── nginx/
│ └── docker-compose.yml
│
└── docs/ # Documentation
├── API.md
├── DEPLOYMENT.md
└── ARCHITECTURE.md
```
## 🚀 快速开始
### 前置条件
- Node.js 18+
- Python 3.9+
- MongoDB 6+
- Docker & Docker Compose(可选)
### 安装
#### 1. 克隆仓库
```
git clone
cd soc-platform
```
#### 2. 配置后端
```
cd server
npm install
cp .env.example .env
# 使用你的配置编辑 .env
npm run dev
```
#### 3. 配置前端
```
cd client
npm install
cp .env.example .env
# 使用你的配置编辑 .env
npm start
```
#### 4. 配置 ML 服务
```
cd ml-service
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python app/main.py
```
### 🐳 Docker 部署
```
# 构建并运行所有服务
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
```
## 🔧 配置
### 环境变量
#### 后端 (.env)
```
PORT=5000
MONGODB_URI=mongodb://localhost:27017/soc-platform
JWT_SECRET=your-secret-key
JWT_REFRESH_SECRET=your-refresh-secret
ML_SERVICE_URL=http://localhost:8000
NODE_ENV=development
```
#### 前端 (.env)
```
REACT_APP_API_URL=http://localhost:5000
REACT_APP_SOCKET_URL=http://localhost:5000
```
#### ML 服务 (.env)
```
PORT=8000
MODEL_PATH=./trained_models
```
## 👥 用户角色
- **Admin** - 完整的系统访问权限
- **SOC Analyst** - 威胁分析与事件响应
- **Viewer** - 仪表板只读访问
## 🔐 默认凭据
```
Admin:
Email: admin@soc.com
Password: Admin@123
Analyst:
Email: analyst@soc.com
Password: Analyst@123
```
**⚠️ 在生产环境中请立即修改这些凭据!**
## 📡 API 端点
### 身份验证
- `POST /api/auth/register` - 注册新用户
- `POST /api/auth/login` - 用户登录
- `POST /api/auth/refresh` - 刷新 token
- `POST /api/auth/logout` - 用户登出
### 威胁
- `GET /api/threats` - 获取所有威胁
- `GET /api/threats/:id` - 按 ID 获取威胁
- `POST /api/threats` - 创建威胁
- `PUT /api/threats/:id` - 更新威胁
- `DELETE /api/threats/:id` - 删除威胁
### 告警
- `GET /api/alerts` - 获取所有告警
- `POST /api/alerts` - 创建告警
- `PUT /api/alerts/:id/acknowledge` - 确认告警
- `PUT /api/alerts/:id/resolve` - 解决告警
### 事件
- `GET /api/incidents` - 获取所有事件
- `POST /api/incidents` - 创建事件
- `PUT /api/incidents/:id` - 更新事件
- `PUT /api/incidents/:id/assign` - 分配事件
### 分析
- `GET /api/analytics/dashboard` - 仪表板统计数据
- `GET /api/analytics/threats` - 威胁分析
- `GET /api/analytics/timeline` - 攻击时间线
### ML 服务
- `POST /api/ml/predict` - 异常检测
- `POST /api/ml/analyze` - 威胁分析
- `GET /api/ml/insights` - AI 洞察
## 🧪 测试
```
# Backend 测试
cd server
npm test
# Frontend 测试
cd client
npm test
# ML service 测试
cd ml-service
pytest
```
## 📊 监控
该平台包含:
- 实时 WebSocket 更新
- 实时事件流
- 性能指标
- 系统健康监控
- 审计日志
## 🌍 部署
### 生产环境部署
#### 使用 Docker
```
docker-compose -f docker-compose.prod.yml up -d
```
#### 手动部署
有关详细说明,请参阅 [DEPLOYMENT.md](docs/DEPLOYMENT.md)。
### 支持的平台
- AWS (EC2, ECS, Lambda)
- Azure (App Service, Container Instances)
- Railway
- Render
- DigitalOcean
## 🔒 安全功能
- 基于 JWT 的身份验证
- 使用 bcrypt 进行密码哈希处理
- 速率限制
- Helmet.js 安全标头
- 输入验证
- CORS 防护
- SQL 注入防护
- XSS 防护
- CSRF token
## 🎨 UI/UX 功能
- 深色主题与毛玻璃效果
- 霓虹赛博美学
- 使用 Framer Motion 的平滑动画
- 响应式设计
- 交互式图表
- 实时更新
- Toast 通知
- 加载状态
## 📈 性能
- 用于实时更新的 WebSocket
- 优化的数据库查询
- 缓存策略
- 懒加载
- 代码分割
- CDN 集成
## 🤝 贡献
1. Fork 该仓库
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 发起 Pull Request
## 🙏 致谢
- 灵感来源于 CrowdStrike Falcon, Splunk, IBM QRadar
- MITRE ATT&CK 框架
- CICIDS2017, NSL-KDD, UNSW-NB15 数据集
**用 ❤️ 为网络安全专业人士构建**
标签:GNU通用公共许可证, HTTP/HTTPS抓包, MITM代理, Node.js, Python, React, Syscalls, 威胁情报, 安全运营, 安全运营中心, 开发者工具, 态势感知, 扫描框架, 无后门, 网络映射, 自动化响应, 自定义脚本, 请求拦截, 负责任AI, 逆向工具