adityasaoho/blume-intelligence-390

GitHub: adityasaoho/blume-intelligence-390

一款面向网络安全教育和原型验证的云原生 SOC 平台,集成了威胁检测、日志分析、事件响应和 AI 辅助修复等企业级安全运营功能。

Stars: 0 | Forks: 0

# BLUME Intelligence 390 🛡️ ### 云端情报。检测。响应。 一款现代化的企业级云原生 SOC 仪表板,模拟 SIEM 威胁日志接入、警报分诊、响应剧本执行、交互式 MITRE ATT&CK 映射、日志分析以及本地 AI 辅助事件修复。专为 BCA 网络安全专业的毕业学术提交而设计。 ## 🌟 核心功能 - **中央安全仪表板**:实时统计小部件(总警报数、严重威胁、活跃案例、平均遏制 MTTR)以及交互式 Chart.js 折线图/环形图指标。 - **交互式 HTML5 Canvas 攻击地图**:实时渲染从全球源国家(如 RU、CN、NL、US)辐射至目标服务器的传入威胁连接。 - **日志接入与分析器**:深度正则表达式解析引擎,用于处理原始系统日志(Apache、Linux sshd、Windows Logon Event 4625、防火墙流量日志),并自动将安全威胁升级至警报网格。 - **MITRE ATT&CK 矩阵导航器**:发光的热力图,将活跃警报与标准的 kill-chain 战术(从 Initial Access 到 Impact)相关联。 - **事件响应与案例看板**:分屏面板工作流,跟踪状态循环(New -> Assigned -> Investigating -> Contained -> Resolved),并附带可审计的日志、时间戳和备注。 - **自动化响应剧本**:一键修复操作: - **隔离 Endpoint**:将受感染的工作站状态设置为离线。 - **封禁源 IP**:下发网络封禁指令。 - **吊销凭证**:在 AD 中停用受损的用户名。 - **离线本地 AI SOC 助手**:专用的网络启发式模型,用于回答问题、解释警报 payload,并生成详细的修复检查清单。 - **控制台审计日志**:永久跟踪管理员和分析员的操作。 - **认证的 PDF 与 CSV 报告**:带有签名和自定义签核的结构化可打印报告。 ## 🏗️ 技术架构 ``` ide-project/ ├── backend/ # Node.js/Express Server (TypeScript) │ ├── src/ │ │ ├── config/ # DB (Mongoose) + Stateful Mock Store fallbacks │ │ ├── controllers/ # Route controllers (Auth, Alerts, Incidents, AI, Logs) │ │ ├── middleware/ # JWT validations, RBAC checks, rate limiters │ │ ├── models/ # Mongoose Schemas (User, Alert, Incident, IOC, Audit) │ │ ├── routes/ # REST endpoints │ │ └── utils/ # Log Parsers, Threat Simulators │ └── tsconfig.json │ └── frontend/ # React 19 Client (Vite + TypeScript) ├── src/ │ ├── components/ # Reusable layout shells, protected routes │ ├── context/ # JWT Session Auth + Session Timeout trackers │ ├── pages/ # Dashboard, Alerts, Log Analyzer, AI, MITRE Navigator │ └── utils/ # Fetch API client ├── tailwind.config.js └── vite.config.ts ``` ## 🚀 安装与本地运行指南 ### 前置条件 - [Node.js](https://nodejs.org/)(推荐 LTS v20+ 版本) - [npm](https://www.npmjs.com/)(随 Node.js 一起打包) ### 步骤 1:克隆并设置环境变量 在 `backend` 目录下创建一个 `.env` 文件: ``` PORT=5000 JWT_SECRET=your_super_secret_cyber_soc_key_123 MONGO_URI=mongodb+srv://:@cluster.mongodb.net/cloudsoc (Optional - defaults to Stateful Simulation offline database if left blank) ``` ### 步骤 2:初始化并启动后端服务器 ``` cd backend npm install npm run dev ``` 服务器将在 `http://localhost:5000` 上以**模拟数据库模式**启动(如果提供了 `MONGO_URI`,则会以 MongoDB 连接模式启动)。威胁接入引擎将每 45 秒生成一次模拟警报数据包。 ### 步骤 3:初始化并启动 React 前端 在一个新的终端窗口中: ``` cd frontend npm install npm run dev ``` 客户端控制台将在 `http://localhost:5173/` 上启动。 ## 🔑 演示预填账号 您可以使用控制台仪表板上这些预置的模拟账号登录: - **SOC 分析员**:`analyst@cloudsoc.ai` / `analyst123` - **SOC 经理**:`manager@cloudsoc.ai` / `manager123` - **SOC 管理员**:`admin@cloudsoc.ai` / `admin123` ## 📡 REST API 文档 | 方法 | Endpoint | 描述 | 权限 | | :--- | :--- | :--- | :--- | | **POST** | `/api/auth/register` | 注册新的分析员节点 | 公开 | | **POST** | `/api/auth/login` | 登录会话并获取 JWT token | 公开 | | **GET** | `/api/auth/me` | 获取活跃用户凭证 | 私密 | | **GET** | `/api/alerts` | 分页警报查询(带过滤器) | 私密 | | **GET** | `/api/alerts/stats` | 聚合统计图表数据 | 私密 | | **POST** | `/api/alerts/simulate` | 手动发送模拟威胁事件 | 私密 | | **PUT** | `/api/alerts/:id/assign` | 为警报指派所有者 | 私密 | | **GET** | `/api/incidents` | 获取活跃事件案例列表 | 私密 | | **POST** | `/api/incidents/:id/playbook` | 执行威胁响应剧本 | 私密 | | **POST** | `/api/logs/analyze` | 解析日志文件并触发警告 | 私密 | | **POST** | `/api/ai/chat` | 向本地 AI SOC 引擎发送聊天查询 | 私密 | | **GET** | `/api/settings/audit-logs` | 获取系统控制台事务审计日志 | 私密 | | **PUT** | `/api/settings/users/:id/role`| 修改操作员角色 | 仅限管理员 | ## 🛡️ 安全实现 1. **JWT 会话认证**:采用带有客户端过期状态控制的密封 JSON Web Token。 2. **基于角色的访问控制 (RBAC)**:中间件限制特定 API(例如清除数据库痕迹)仅供经理/管理员级别使用。 3. **Helmet 标头保护**:安全的 HTTP 标头可阻止恶意脚本来源。 4. **输入速率限制器**:最大请求锁定,以应对针对 API 路由的拒绝服务 攻击。 5. **安全加密哈希**:使用 `bcryptjs` salt 对用户密钥进行密封加密。
标签:AMSI绕过, MITM代理, PE 加载器, 威胁检测, 安全运营中心, 库, 应急响应, 插件系统, 网络安全教学项目, 网络映射, 自动化攻击