shubh100802/AI-Driven-Cyber-Resilience-Threat-Intelligence-Command-Center
GitHub: shubh100802/AI-Driven-Cyber-Resilience-Threat-Intelligence-Command-Center
SentinelAI 是一个结合 AI 和 SOAR 编排的企业级网络弹性运营中心,为关键基础设施提供威胁检测、自动化响应和漏洞优先级排序能力。
Stars: 1 | Forks: 0
# SentinelAI
🛡️ **AI 驱动的网络弹性与威胁情报指挥中心**




## 📖 项目概述
**SentinelAI** 是一个企业级的网络弹性运营中心,旨在保护国家关键基础设施 (CNI) 资产免受高级持续性威胁 (APT) 和协同网络攻击活动的影响。通过结合实时日志摄取、统计基线分析、可编程 SOAR playbook 执行以及上下文感知的漏洞优先级排序,SentinelAI 帮助组织从静态、被动的响应日志转变为主动、自动化的网络弹性。
### 为什么要有 SentinelAI
现代关键基础设施运行在高度异构的网络上,通常包含遗留服务器和开放网关。基于特征码的防火墙无法捕捉“低慢”方式的横向入侵。SentinelAI 为安全团队提供了一个统一的指挥界面,用于:
* 通过对历史用户和子网基线的偏差进行评分,检测复杂的遥测异常。
* 在几秒钟内自动执行遏制 playbook(IP 封锁、VM 快照、凭证撤销)。
* 根据活跃的威胁活动指标和网络拓扑可见性,确定漏洞补丁的优先级。
* 在交互式 Digital Twin 模拟中动态建模威胁路径缓解的影响。
## ⚡ 功能
### 🌐 网络弹性 Digital Twin
* **攻击路径可视化工具**:在 CNI 区段间动态渲染活跃的横向入侵路线。
* **安全控制沙盒**:切换关键控制项(例如:启用 MFA、部署 IDS、划分子网)并实时观察 Risk Index 的下降。
* **资产遥测集成**:交互式检查单个服务器的详细信息(风险评级、OS 版本、状态)。
### 🧠 行为异常检测
* **子系统基线仪表板**:持续跟踪用户凭证失败、主机遥测分数和网络子网流量的仪表。
* **动态偏差评分**:实时统计评分引擎,根据移动平均值对日志摄取参数进行评级。
* **多 Agent 分析日志**:来自 User Baseline、Device Telemetry 和 Subnet Flow agent 的直接共识审查。
### 🤖 自主 SOAR 编排
* **Playbook 时间线**:详细的操作列表(撤销凭证、隔离 endpoint、创建快照)。
* **混合自动化门控**:自动执行影响范围在 50% 以下的威胁 playbook;对于高影响范围的事件,会提示分析师使用滑动确认机制。
* **平滑的滑块物理效果**:如果在完成之前松手,批准滑块会动态滑回 0。
* **防火墙配置输出**:以编程方式将阻断指令追加到磁盘上的 `firewall.rules` 文件中。
### 📊 上下文感知的漏洞优先级排序
* **漏洞矩阵**:根据最高风险、最快修复速度和业务影响(停机时间、公民记录风险)对 CVE 进行动态排序。
* **AI 推荐的下一个修复项**:高亮显示优先级最高的未解决 CVE。
* **实时警报推送**:滚动的 WebSocket 滚动条,提醒分析师新摄取的 CVE。
## 🛠️ 技术栈
| 层级 | 技术 |
| :--- | :--- |
| **前端** | React, Vite, Lucide Icons, 自定义 CSS 设计 |
| **后端** | Node.js, Express, WebSocket (`ws`) |
| **数据库** | MongoDB, Mongoose ORM |
| **AI 集成** | Gemini 1.5 Pro API |
| **构建工具** | Vite 编译器, Concurrently 开发服务器管理器 |
## 📸 截图
### SOC 仪表板与 Digital Twin

*说明:主要运营中心界面,详细展示了资产节点拓扑映射以及建议的安全切换选项。*
### 行为异常分析

*说明:威胁监控中心,显示子系统基线偏差仪表和多 Agent 控制台日志。*
### SOAR Playbook 批准门控

*说明:事件响应视图,显示人工授权滑块门控和影响范围计算。*
### 漏洞修复矩阵

*说明:CNI CVE 优先级排序矩阵,显示公民目录影响指标和下一步修复建议。*
## 📂 项目结构
```
├── backend/
│ ├── config/ # DB connections and in-memory mock repositories
│ ├── models/ # Mongoose database schemas (Asset, Incident, LogEvent, Vulnerability)
│ ├── routes/ # Express API route modules (assets, copilot, incidents, logs, vulnerabilities)
│ ├── services/ # Artificial intelligence prompt services (geminiService)
│ └── server.js # Server entry point, MongoDB seeder, and WS server initialization
├── frontend/
│ ├── src/
│ │ ├── components/ # Login and Logout views
│ │ ├── pages/ # Layout screen modules (Dashboard, ThreatMonitor, AssetRisk, Vulnerability, SOAR)
│ │ ├── App.jsx # Main router and WebSocket connection manager
│ │ └── index.css # Custom Glassmorphism styling rules
│ └── vite.config.js # Vite compilation parameters
├── screenshots/ # Layout verification snapshots
└── package.json # Root workspace triggers
```
## 🚀 安装与设置
### 前提条件
* **Node.js**(推荐 v18+)
* **MongoDB**(在默认端口 27017 上本地运行,或使用自定义的集群连接 URI)
### 1. 克隆并安装
```
git clone https://github.com/shubham-raj-sharma/sentinel-ai.git
cd sentinel-ai
npm run install:all
```
### 2. 配置环境
在下方的[环境变量](#environment-variables)部分中,使用记录的变量在 `backend` 目录中创建一个 `.env` 文件。
### 3. 启动开发服务器
从根目录运行工作区命令:
```
npm run dev
```
客户端仪表板将在 `http://localhost:3000/` 打开,并连接到运行在端口 `5000` 上的后端服务器。
## 🔑 环境变量
使用以下变量创建 `backend/.env` 文件:
```
# Server 配置
PORT=5000
# Database 配置
MONGO_URI=mongodb://localhost:27017/sentinel-ai
# Gemini AI API 配置
GEMINI_API_KEY=your_gemini_api_key_here
```
## 📊 应用架构
```
graph TD
User[SOC Analyst Browser]
Vite[Vite React Client]
Express[Express Node Server]
DB[(MongoDB)]
Gemini[Gemini AI API]
WS[WebSocket Broadcasts]
User <-->|HTTPS / UI Interacts| Vite
Vite <-->|REST Requests| Express
Vite <-->|Event Stream| WS
Express <-->|Read / Write| DB
Express <-->|Attribution & Playbooks| Gemini
Express -->|CVE Updates & Logs| WS
```
## 🔌 API 概览
| 方法 | Endpoint | 用途 | 权限 |
| :---: | :--- | :--- | :---: |
| **GET** | `/api/assets` | 返回 CNI 资产节点和风险指标的列表。 | 无 |
| **GET** | `/api/incidents` | 返回活跃事件、影响范围指标和状态。 | 无 |
| **POST** | `/api/incidents/:id/contain` | 执行手动 playbook 脚本容器。 | 无 |
| **GET** | `/api/logs` | 返回已摄取的遥测日志列表。 | 无 |
| **POST** | `/api/logs` | 摄取新的 syslog 条目并运行异常基线逻辑。 | 无 |
| **POST** | `/api/logs/simulate` | 触发暴力破解网络攻击日志序列。 | 无 |
| **GET** | `/api/vulnerabilities` | 返回 CVE 优先级排序列表。 | 无 |
| **POST** | `/api/vulnerabilities/simulate` | 摄取模拟的 CERT-In 警报 CVE。 | 无 |
| **POST** | `/api/copilot/query` | 使用 Gemini 查询 Security Copilot 对话。 | 无 |
## 🔒 安全性
* **上下文感知的故障安全机制**:本地数学后备过滤器可确保即使 Gemini API endpoint 受到速率限制,评分功能依然可用。
* **内存后备存储库**:如果 MongoDB 发生停机,系统会优雅地回退到模拟配置。
* **输入净化**:检查遥测参数是否存在无效格式,以防止注入攻击。
## 📄 许可证
该项目在 MIT 许可证下授权。有关详细信息,请参阅 [LICENSE](LICENSE)(或在仓库根目录中添加一个)。
## 👤 作者
**Shubham Raj Sharma**
* **角色**:全栈开发工程师
* **GitHub**:[shubham-raj-sharma](https://github.com/shubh-raj)
## 🏆 致谢
* [Vite](https://vitejs.dev/) & [React](https://react.dev/)
* [Google Gemini AI](https://deepmind.google/technologies/gemini/)
* [Mongoose](https://mongoosejs.com/)
* [Lucide Icons](https://lucide.dev/)
标签:HTTP/HTTPS抓包, MERN技术栈, MITM代理, PE 加载器, XXE攻击, 威胁情报, 安全运营中心, 开发者工具, 态势感知, 数字孪生, 网络映射, 自动化响应, 自定义脚本