blackapple805/Capstone

GitHub: blackapple805/Capstone

一款 AI 辅助的实时网络安全威胁检测与响应仪表盘,整合第三方威胁情报 API 并提供统一的全栈可视化界面。

Stars: 2 | Forks: 1

# 🛡️ CyberGuardian — 网络安全威胁检测与响应 CyberGuardian 是一款 AI 辅助的实时网络安全威胁检测与响应工具。它将第三方威胁情报 API 与全栈 Web 应用相结合,通过统一的仪表盘来展示、情境化并协助响应潜在威胁。 基于 **React**、**Node.js/Express** 和 **MySQL** 构建,并使用 **Docker** 进行了完全容器化。 ## 我的贡献 我在这个项目中参与了全栈开发——包括 React 前端(仪表盘、威胁检测视图、身份验证流程)、Node/Express 后端及 API,以及威胁检测逻辑。团队在加利福尼亚州完成了最终的现场展示汇报,而我是从巴黎远程参与的。 ## ✨ 功能 - **威胁检测**:由第三方威胁情报 API(IPQualityScore、RapidAPI)提供支持 - **仪表盘**:一目了然地概览检测到的威胁和系统状态 - **用户身份验证** — 安全的注册、登录和受保护的路由 (JWT) - **威胁上下文视图**:用于调查单个检测结果 - **技术方案与帮助部分**:提供指导和文档说明 - **响应式 React UI**:采用可复用组件构建 ## 🛠 技术栈 | 层级 | 技术 | |---|---| | 前端 | React.js | | 后端 | Node.js, Express | | 数据库 | MySQL | | 身份验证 | JSON Web Tokens (JWT) | | 威胁数据 | IPQualityScore API, RapidAPI 服务 | | 部署 | Docker, Docker Compose | ## 📁 项目结构 ``` Capstone/ ├── backend/ # Node/Express API │ ├── server.js # API entry point │ ├── Dockerfile │ ├── .env.example # Template for required environment variables │ └── package.json ├── frontend/ # React application │ ├── public/ │ ├── src/ │ │ ├── components/ # Dashboard, ThreatDetection, Login, etc. │ │ └── App.js │ ├── Dockerfile │ └── package.json ├── docker-compose.yml # Orchestrates frontend, backend, and database └── README.md ``` ## 🚀 快速开始 ### 前置条件 - Docker 和 Docker Compose - Node.js v16+(仅用于本地非 Docker 开发) - MySQL(由 Docker 处理,或在本地安装) ### 克隆仓库 ``` git clone https://github.com/blackapple805/Capstone.git cd Capstone ``` ## 🔑 环境变量 后端需要配置几个环境变量。请复制示例文件并填入你自己的值: ``` cp backend/.env.example backend/.env ``` | 变量 | 说明 | |---|---| | `PORT` | 后端服务器运行的端口(默认为 3001) | | `DB_HOST` | MySQL 主机 | | `DB_NAME` | 数据库名称 | | `DB_USER` | 数据库用户名 | | `DB_PASSWORD` | 数据库密码 | | `SECRET_KEY` | 用于签发 JWT 身份验证 token 的密钥 | | `IPQUALITYSCORE_API_KEY` | 用于 IPQualityScore 威胁查询的 API key | | `RAPIDAPI_KEY_2` | 用于威胁情报服务的 RapidAPI key | | `RAPIDAPI_KEY_3` | 额外的 RapidAPI key | ## 🐳 使用 Docker 运行 运行整个技术栈最简单的方法: ``` docker-compose up --build ``` 容器启动后: - 前端:http://localhost:3000 - 后端 API:http://localhost:3001 停止所有服务: ``` docker-compose down ``` ## 💻 本地运行(不使用 Docker) **后端:** ``` cd backend npm install npm start ``` **前端**(在另一个独立的终端中): ``` cd frontend npm install npm start ``` 前端将在 http://localhost:3000 启动,并将 API 请求代理到 http://localhost:3001 的后端。 ## 🧰 故障排除 - **数据库连接错误** — 请确认 `backend/.env` 中的 `DB_*` 变量与你的 MySQL 设置是否匹配,并确保数据库容器正在运行。 - **API 请求失败** — 请检查你的威胁情报 API keys 是否有效,以及是否触发了速率限制。 - **端口被占用** — 修改 `backend/.env` 中的 `PORT`,或者停止占用该端口的进程。 - **Docker 构建问题** — 运行 `docker-compose down`,然后运行 `docker-compose up --build` 进行干净的重新构建。 ## 🙌 致谢 作为小组毕业设计开发。团队成员: - [@YuukiCJ](https://github.com/YuukiCJ) - [@visioninhope](https://github.com/visioninhope) - [@blackapple805](https://github.com/blackapple805)
标签:AMSI绕过, Docker, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 威胁检测, 安全运营, 安全防御评估, 扫描框架, 版权保护, 自定义脚本, 请求拦截