AFSHAAN1705/SentineIX
GitHub: AFSHAAN1705/SentineIX
SentinelX 是一个基于 AI 的全栈网络安全事件响应与威胁情报平台,帮助安全团队高效管理、调查和解决安全事件。
Stars: 0 | Forks: 1
# SentinelX 网络安全平台

基于 AI 的网络安全事件响应与威胁情报平台
欢迎使用 **SentinelX**,这是我构建的一个全栈网络安全运营中心(SOC)平台,旨在帮助管理、调查和解决安全事件。它通过基于角色的访问控制、实时仪表盘以及集成的 AI 分析师来自动化繁重的工作,从而简化整个事件响应流程。
## 🌟 核心功能
### 1. 🔐 基于角色的访问控制 (RBAC)
* **Admin**:拥有对平台设置、用户管理、审计日志和全局分析的完全控制权。
* **Analyst**:SOC 分析师的主要工作区。他们可以调查分配的事件、记录发现并将威胁标记为已解决。
* **Reporter**:标准用户账户,允许员工报告安全事件并跟踪其状态。
### 2. 🚨 事件管理
* **详细报告**:用户可以报告事件,并分配严重级别、事件类型以及列出受影响的系统。
* **分配系统**:Admin 可以快速将未关闭的事件分配给空闲的分析师。
* **调查与解决**:分析师拥有专属空间来添加调查笔记、收集证据、更新状态,并在威胁处理完毕后编写最终的缓解摘要。
### 3. 🤖 AI 聊天机器人与分析师集成
* **交互式聊天机器人**:您可以用自然语言向 AI 提问,例如*“有哪些严重事件?”*或*“给我一个仪表盘概览”*,它将直接从数据库中获取实时统计数据。
* **事件分析**:告诉机器人*“分析 [事件名称]”*,它将扫描数据库、总结事件,并推荐标准的 SOC 响应方案。
* **自动化 AI 响应**:如果 Admin 将事件直接分配给“AI 分析师”,系统会自动接管。AI 将进行调查、记录笔记、缓解威胁并立即解决事件。
### 4. 📊 仪表盘与分析
* 使用交互式图表可视化数据,以展示事件趋势、严重程度分布以及随时间变化的威胁类型。
* 能够生成和下载当前安全态势的 PDF 报告和 CSV 导出文件。
### 5. 🛡️ 威胁情报与审计日志
* 包含已知威胁、恶意软件活动和漏洞的实时推送。
* 全面的审计日志记录每一次状态变更、分配和资料更新,以确保严格遵守合规性。
## 🛠️ 技术栈
我使用现代的解耦架构构建了这个项目:
### 前端
* **React.js & Vite**:用于实现快速响应的用户界面。
* **React Router**:用于处理客户端路由。
* **Chart.js**:为仪表盘上的交互式数据可视化提供支持。
* **Custom CSS / Glassmorphism**:实现时尚、现代的深色模式美学。
### 后端
* **Node.js & Express.js**:用于构建 REST API 后端。
* **PostgreSQL**:作为主要的关系型数据库。
* **Sequelize ORM**:用于在 JavaScript 中管理数据库 schema 和查询。
* **JWT & bcryptjs**:用于安全的用户身份验证和密码哈希处理。
## 🚀 如何在本地运行项目
### 前置条件
请确保您的计算机上已安装 **Node.js** 和 **PostgreSQL**。
### 1. 数据库设置
1. 打开 PostgreSQL(通过 pgAdmin 或您的终端)。
2. 创建一个名为 `sentinelx_db` 的新数据库。
### 2. 后端设置
1. 打开终端并导航至后端文件夹:
```
cd backend
```
2. 安装所有必要的依赖包:
```
npm install
```
3. 在 `backend` 目录中创建一个 `.env` 文件并添加以下变量:
```
PORT=5000
NODE_ENV=development
DB_HOST=localhost
DB_PORT=5432
DB_NAME=sentinelx_db
DB_USER=postgres
DB_PASSWORD=your_postgres_password
JWT_SECRET=your_super_secret_jwt_key
```
*(请务必将 `DB_PASSWORD` 替换为您的实际 Postgres 密码)*
4. 启动服务器:
```
npm run dev
```
*(注意:当服务器首次启动时,它会自动连接到 Postgres,同步表,并使用真实的演示数据填充数据库,因此您不会在一个空的应用程序中开始!)*
### 3. 前端设置
1. 打开第二个终端窗口并进入前端文件夹:
```
cd frontend
```
2. 安装前端依赖:
```
npm install
```
3. 启动 Vite 开发服务器:
```
npm run dev
```
4. 最后,打开浏览器并访问:
```
http://localhost:5173
```
## 🔑 演示登录凭据
由于数据库会自动进行种子填充,您可以使用这些默认账户来探索不同的角色。
### Admin 账户
* **邮箱:** `admin@sentinelx.io`
* **密码:** `Demo@1234`
### Analyst 账户
* **邮箱:** `analyst1@sentinelx.io`
* **密码:** `Demo@1234`
### Reporter 账户
* **邮箱:** `reporter1@company.com`
* **密码:** `Demo@1234`
## 📸 截图
### 仪表盘

### 分析页面

### 事件页面

### 登录页面

### 报告页面

### 报告列表页面

### 安全分析页面

### 威胁情报

标签:AI分析, MITM代理, SOC平台, 威胁情报, 开发者工具, 测试用例, 网络安全, 自定义脚本, 隐私保护