Veds20/CyberSafe-Campus
GitHub: Veds20/CyberSafe-Campus
一款基于MERN架构、专为高等教育机构打造的集中式网络安全管理与威胁情报平台,解决校园安全工具碎片化与跨部门威胁可见性不足的问题。
Stars: 0 | Forks: 0
# 🛡️ CyberSafe 校园






## 📌 项目简介
**CyberSafe Campus** 是一个企业级的综合网络安全管理与威胁情报平台,专门为高等教育机构、大学和研究校园量身定制。
教育机构管理着庞大的网络、成千上万的个人与研究设备 (BYOD)、高带宽的公共 Wi-Fi 网络以及关键研究数据——这使其成为勒索软件、网络钓鱼活动、数据泄露和未修补的零日漏洞等网络威胁的首要目标。
CyberSafe Campus 为机构的安全治理提供了集中化的指挥中心,涵盖威胁监控、漏洞管理、自动化事件报告、网络钓鱼检测、URL 信誉评分以及学生安全意识培训等功能。
## 🎯 问题陈述与愿景
### 问题陈述
现代大学 IT 基础设施面临着安全工具碎片化、师生安全意识薄弱、事件响应时间延迟以及跨部门缺乏统一威胁可见性等问题。
### 愿景
致力于为全球教育机构提供一个易于访问、可扩展且自动化的网络安全生态系统,以最大程度地降低数字风险,培养积极主动的安全文化,并保护学术知识产权。
## 🚀 核心目标
1. **集中化事件管理**:简化各大学院安全事件的报告、分类和解决流程。
2. **自动化威胁情报**:提供实时的 URL 信誉评分和基于 AI 的网络钓鱼邮件分析。
3. **持续漏洞追踪**:监控校园 Web 资产、开放端口和存在漏洞的服务。
4. **互动式安全意识教育**:通过游戏化的培训模块和模拟网络钓鱼演练来教育师生。
5. **实时高管分析**:为 IT 领导层提供高级仪表板和可下载的审计报告。
## 🏗️ 系统架构
```
+-----------------------------------------------------------------------------------+
| USER LAYER |
| +-------------------+ +--------------------+ +------------------------+ |
| | Student / Staff | | IT Security Team | | System Administrator | |
| +---------+---------+ +---------+----------+ +-----------+------------+ |
+------------|-------------------------|----------------------------|---------------+
| | |
v v v
+-----------------------------------------------------------------------------------+
| FRONTEND LAYER (Vite + React) |
| +--------------------+ +--------------------+ +---------------------------+ |
| | Auth & RBAC Module | | Threat Dashboard | | Incident & Vuln Portal | |
| +---------+----------+ +---------+----------+ +-------------+-------------+ |
| | | | |
| +------------------------+----------------------------+ |
| | Axios (REST API) |
+-------------------------------------|---------------------------------------------+
v
+-----------------------------------------------------------------------------------+
| BACKEND LAYER (Node.js + Express) |
| +-------------------+ +---------------------+ +---------------------------+ |
| | JWT / Auth Engine | | Middleware Security | | Threat Intelligence Hub | |
| | & RBAC Controller | | (Helmet, CORS, Rate)| | (URL, Phishing, Scans) | |
| +---------+---------+ +----------+----------+ +-------------+-------------+ |
+------------|------------------------|----------------------------|----------------+
| v |
| +---------------------+ |
| | MongoDB Atlas (ODM) | |
| +---------------------+ v
v +-----------------------+
+--------------------+ | Future API Integrations|
| File Storage / | | (VirusTotal, Gmail, |
| Report Generation | | Nmap, Nuclei, OWASP) |
+--------------------+ +-----------------------+
```
## 🛠️ 技术栈
| 领域 | 技术 | 描述 |
| :--- | :--- | :--- |
| **Frontend** | React 18 (Vite) | 高性能单页应用框架 |
| | Tailwind CSS | 现代的实用优先响应式样式框架 |
| | React Router v6 | 客户端路由与页面导航 |
| | Axios | 基于 Promise 的 HTTP 客户端,用于 API 通信 |
| | Lucide React | 简洁、可扩展的 UI 图标库 |
| **Backend** | Node.js | 异步服务端 JavaScript 运行时 |
| | Express.js | 强大的 RESTful Web 应用框架 |
| | JSON Web Tokens (JWT) | 无状态用户认证与 RBAC 授权 |
| **Database** | MongoDB Atlas | 基于云的 NoSQL 数据库,搭配 Mongoose ODM |
| **集成 (未来)** | VirusTotal API | 文件与 URL 信誉情报 |
| | Gmail API | 网络钓鱼分析与自动化邮件解析 |
| | Nmap / Nuclei / OWASP ZAP | 自动化扫描引擎 |
| **部署** | Vercel (Frontend) | 用于 React 前端的边缘网络部署 |
| | Render (Backend) | 用于 Node.js 后端的容器化云主机 |
| **版本控制**| Git / GitHub | 分布式版本控制与 CI/CD 工作流 |
## 📂 仓库结构
```
CyberSafeCampus/
├── client/ # React Frontend Application
│ ├── public/ # Static assets & public resources
│ ├── src/
│ │ ├── assets/ # Images, branding, vector graphics
│ │ ├── components/ # Reusable UI components (Buttons, Cards, Modals)
│ │ ├── pages/ # Application view pages (Dashboard, Incidents, etc.)
│ │ ├── layouts/ # Root & Protected Layout wrappers
│ │ ├── hooks/ # Custom React hooks (useAuth, useFetch)
│ │ ├── services/ # API service calls (Axios endpoints)
│ │ ├── utils/ # Helper functions, formatters, validators
│ │ ├── context/ # React Context Providers (AuthContext, ThemeContext)
│ │ ├── routes/ # Protected & Public routing definitions
│ │ ├── styles/ # Global CSS & Tailwind directives
│ │ ├── App.jsx # Core Application Component
│ │ └── main.jsx # React DOM entry point
│ ├── .env.example # Client environment variable template
│ ├── package.json # Frontend dependencies & scripts
│ ├── vite.config.js # Vite server configuration
│ └── tailwind.config.js # Tailwind CSS design system config
├── server/ # Node.js + Express Backend Application
│ ├── src/
│ │ ├── config/ # Database & external service configurations
│ │ ├── controllers/ # Request handling logic
│ │ ├── middlewares/ # Auth, Error handling, Rate limiting
│ │ ├── models/ # Mongoose Database Schemas
│ │ ├── routes/ # Express API Route declarations
│ │ ├── services/ # Business logic & threat engine services
│ │ ├── utils/ # Logger, token generator, custom errors
│ │ ├── validators/ # Request validation schemas (express-validator)
│ │ ├── app.js # Express application builder
│ │ └── server.js # Node HTTP server entry point
│ ├── database/ # Seeding scripts & migration helpers
│ ├── scripts/ # Maintenance & maintenance utilities
│ ├── uploads/ # Local evidence file uploads directory
│ ├── .env.example # Server environment variable template
│ ├── nodemon.json # Nodemon configuration
│ └── package.json # Backend dependencies & scripts
├── docs/ # Comprehensive Architecture & Project Documentation
│ ├── ProblemStatement.md # Detailed problem definition & campus scope
│ ├── SRS.md # Software Requirements Specification
│ ├── Architecture.md # System Architecture & Component Interactions
│ ├── API_Documentation.md # REST API endpoint specifications
│ ├── DatabaseDesign.md # ER Diagrams, Mongoose models & Schema design
│ ├── Workflow.md # Git branching model, CI/CD, & Dev workflows
│ ├── Roadmap.md # Version 1 (MVP) through Phase 7 Release Roadmap
│ ├── MeetingNotes.md # Architectural Decision Records (ADRs)
│ └── assets/screenshots/ # UI wireframes & architectural diagrams
├── .gitignore # Workspace root Git exclusion rules
├── LICENSE # MIT Open Source License
└── README.md # Main Project Overview & Setup Guide
```
## 🔥 核心功能 (MVP 与未来规划)
- 🔐 **认证与 RBAC**:安全的基于 JWT 的认证,支持多角色访问(学生、教职工、安全分析师、管理员)。
- 🚨 **事件报告系统**:允许学生和教职工提交安全事件,并支持添加文件证据附件和优先级追踪。
- 🎯 **漏洞评估仪表板**:集中管理校园 Web 资产、已公开的漏洞披露以及补丁状态。
- 🔗 **URL 信誉检测器**:针对已知威胁数据库进行实时的域名/IP 信誉分析。
- 📧 **AI 网络钓鱼检测引擎**:对可疑邮件头和正文进行自然语言处理 (NLP) 与启发式分析。
- 🎓 **安全意识门户**:为校园用户提供交互式模块、测验和意识评分表。
- 📊 **仪表板分析与 PDF 报告**:动态图表展示实时事件趋势,并自动生成 PDF 审计报告。
- 🔔 **通知引擎**:针对严重威胁和事件状态更新发送即时提醒。
## 🗺️ 项目路线图
- **阶段 1:架构与仓库设置** *(已完成)*
- 初始仓库布局、配置文件以及全面的文档套件。
- **阶段 2:认证与核心数据库引擎**
- 用户注册/登录、JWT 认证、RBAC 中间件以及 MongoDB Atlas schema。
- **阶段 3:事件报告与工作流管理**
- 事件提交门户、状态追踪、管理员分类仪表板、文件附件。
- **阶段 4:漏洞评估引擎**
- 校园资产注册表、严重性矩阵、手动与定期的漏洞记录。
- **阶段 5:威胁情报与 URL 信誉**
- URL 分析器模块、API 集成(VirusTotal / Google Safe Browsing 模拟)。
- **阶段 6:AI 网络钓鱼检测与安全意识**
- 邮件头分析器、网络钓鱼评分计算器、培训门户模块。
- **阶段 7:综合测试与云端部署**
- 自动化单元/集成测试、Vercel 前端部署、Render 后端部署。
## 💻 安装与本地开发
### 前置条件
- Node.js (`v18.0.0` 或更高版本)
- npm (`v9.0.0` 或更高版本)
- MongoDB Atlas 账户或本地 MongoDB 实例
### 快速开始指南
1. **克隆仓库**
git clone https://github.com/Veds20/CyberSafeCampus.git
cd CyberSafeCampus
2. **配置后端环境**
cd server
cp .env.example .env
npm install
*编辑 `server/.env` 以提供你的 `MONGODB_URI` 和 `JWT_SECRET`。*
3. **启动后端服务器**
npm run dev
*服务器将在 `http://localhost:5000` 运行。*
4. **配置前端环境**
cd ../client
cp .env.example .env
npm install
5. **启动前端开发服务器**
npm run dev
*客户端应用将在 `http://localhost:5173` 启动。*
## 🤝 未来范围
- **原生 Nmap / Nuclei Agent 集成**:用于自动化网络扫描的后台 daemon。
- **Google OAuth 2.0 集成**:使用机构 Google Workspace 账户 (`@university.edu`) 进行单点登录 (SSO)。
- **SIEM / Syslog 转发**:将日志导出至企业级 SIEM 平台(Splunk, Elastic SIEM)。
- **移动端配套应用**:基于 React Native 的移动应用,用于即时威胁通知和事件报告。
## 📜 许可证
基于 MIT 许可证分发。查看 [`LICENSE`](file:///C:/Users/Admin/.gemini/antigravity/scratch/CyberSafeCampus/LICENSE) 获取更多信息。
## 👤 作者与贡献者
- **Veds20** - *首席架构师与全栈开发者*
- GitHub: [@Veds20](https://github.com/Veds20)
标签:AES-256, MERN, MITM代理, Streamlit, 威胁情报, 开发者工具, 漏洞评估, 网络安全管理, 自定义脚本, 访问控制, 钓鱼检测