AKSHOBHYA-KASHYAP/cloud-threat-intelligence-platform

GitHub: AKSHOBHYA-KASHYAP/cloud-threat-intelligence-platform

企业级云威胁情报运营平台,提供威胁事件管理、动态告警引擎、多角色权限控制和数据可视化的一站式安全控制台。

Stars: 0 | Forks: 0

# 云威胁情报平台 (CTIP) 一个企业级、全栈的网络安全运营与威胁情报控制台。使用 Node.js、Express、MongoDB 和 React with Vite 构建,遵循工业级安全软件的布局与可视化模式。 ## 🚀 技术架构 ### 后端 API - **Node.js & Express**:模块化的 endpoint 路由、全面的 logger 中间件、集中式的验证逻辑以及安全的错误处理边界。 - **MongoDB & Mongoose**:具备 pre-save hashing、验证器、引用字段的 schema,以及优化的索引,确保时序聚合查询响应时间在 **200ms** 以内。 - **JWT & RBAC 安全**:采用基于轮换的 JWT 策略实现的多层 Authentication。通过安全的 `httpOnly` cookie 刷新 token。RBAC 中间件限制 endpoint 仅对 `admin`、`analyst` 或 `viewer` 账户开放。 - **告警引擎**:在滑动窗口内动态评估接入指标,当告警量超过阈值时自动触发严重告警。 - **审计追踪**:全面记录账户安全事件(登录、密码修改、资源更新)至 MongoDB 审计集合中。 ### 前端控制台 - **React + Vite**:高性能的单页应用结构。 - **代码分割与懒加载**:对页面进行懒加载分块,以优化 bundle 大小并加快首次渲染速度。 - **Grafana/Datadog 设计系统**:采用简洁的原生 CSS 自定义属性系统构建。具有精细的边框、中性的色调、加载骨架屏以及交互式组件。 - **真实的图表 (Chart.js)**:将历史指标聚合为折线图、柱状图、环形图、面积图和水平条形图。 - **CSV 数据导出器**:将加载的威胁遥测数据格式化为标准的 CSV 文件,供离线电子表格使用。 ## 📁 仓库目录结构 ``` cloud-threat-intelligence-platform/ ├── backend/ │ ├── config/ # MongoDB database config │ ├── controllers/ # API handlers (auth, threats, alerts, users, analytics) │ ├── middleware/ # Auth checks, logger, error boundaries │ ├── models/ # User, ThreatEvent, Alert, ActivityLog models │ ├── routes/ # Router definitions │ ├── services/ # alertEngine rule checker │ ├── utils/ # Token signers, activity logging helpers │ ├── server.js # Entry point │ ├── seed.js # Security dataset seeder │ └── package.json ├── frontend/ │ ├── src/ │ │ ├── components/ # StatsCard, SeverityBadge, LoadingSpinner, DataTable, PrivateRoute │ │ ├── contexts/ # AuthContext Session State │ │ ├── hooks/ # useAuth Hook │ │ ├── layouts/ # MainLayout Shell │ │ ├── pages/ # 8 lazy-loaded view components │ │ ├── services/ # Axios instance & data fetch wrappers │ │ ├── utils/ # RBAC checks │ │ ├── App.jsx # Route guard definitions │ │ ├── index.css # Dark-mode design system stylesheet │ │ └── main.jsx # Client render entry point │ ├── vite.config.js # Build config with API reverse proxy │ ├── package.json │ └── index.html └── README.md ``` ## 🔑 演示访问账户 数据库填充程序开箱即用地初始化了三个角色,默认密码格式为:`@1234`。 | 用户名 | 角色 | 权限说明 | |---|---|---| | `admin@ctip.io` | **Admin** | 全系统操作,更改角色,激活/停用账户,删除告警 | | `sarah.chen@ctip.io` | **Security Analyst** | 确认/解决/忽略系统告警,管理威胁日志 | | `james.wilson@ctip.io` | **Viewer** | 控制台概览,威胁搜索,告警列表(只读) | ## 🚦 入门指南与验证 ### 前置条件 - [Node.js](https://nodejs.org) (v18+) - [MongoDB](https://www.mongodb.com/try/download/community) (在本地 27017 端口运行,或者在 `.env` 中配置自定义的 URI) ### 1. 设置后端 ``` # 导航到 backend 目录 cd backend # 安装生产环境和开发环境依赖 npm install # 导入并用威胁情报指标填充数据库 npm run seed # 启动 Express API Server (运行于 http://localhost:5000) npm run dev ``` ### 2. 设置前端 ``` # 导航到 frontend 目录 cd frontend # 安装客户端包 npm install # 运行 Vite Dev Server (通过代理配置运行于 http://localhost:5173) npm run dev ```
标签:GNU通用公共许可证, MITM代理, MongoDB, Node.js, React, Syscalls, TCP/IP协议栈, 可视化面板, 威胁情报, 开发者工具, 网络安全平台, 自定义脚本