abhinavtiwari77/SPYDER

GitHub: abhinavtiwari77/SPYDER

一款集成了 AI 辅助分析、恶意软件扫描、威胁情报查询与用户认证的全栈网络安全 Web 应用。

Stars: 0 | Forks: 0

# Spyder Spyder 是一款全栈网络安全 Web 应用,具备 AI 辅助分析、恶意软件扫描、威胁情报查询、NSFW 图片审核以及用户身份验证功能。 本仓库包含: - 位于 `Frontend/` 的 React + Vite 前端 - 位于 `Backend/` 的 Node.js + Express 后端 ## 在线部署 - **前端应用**:[https://spyder-frontend.onrender.com/](https://spyder-frontend.onrender.com/) - **后端 API**:[https://spyder-backend.onrender.com](https://spyder-backend.onrender.com) ## 功能 - 用于安全相关指导的 AI 聊天助手 - 使用 VirusTotal 进行文件扫描 - 针对 IP、域名、URL 和文件哈希的威胁情报扫描 - NSFW 图片审核端点 - 基于 JWT 的身份验证(注册、登录、受保护路由) - 用户设置更新支持(姓名、用户名、密码) - 支持浅色和深色 UI 主题 ## 技术栈 前端: - React 18 - Vite - Tailwind CSS - NextUI - React Router - Axios 后端: - Node.js - Express - MongoDB + Mongoose - JWT + bcrypt - Multer - Axios 外部服务: - Groq API(聊天分析) - VirusTotal API(文件 + IOC 威胁情报) ## 项目结构 ``` Spyder/ Backend/ config/ middleware/ models/ routes/ utils/ index.js fileScan.js threatIntel.js .env.example Frontend/ src/ Components/ Contexts/ Layouts/ Pages/ index.html vite.config.js README.md ``` ## 前置条件 - 推荐 Node.js 18+ - npm - MongoDB 数据库 URI - Groq API 密钥 - VirusTotal API 密钥 ## 本地设置 1. 克隆仓库。 2. 安装后端依赖: ``` cd Backend npm install ``` 3. 安装前端依赖: ``` cd ../Frontend npm install ``` 4. 创建后端环境文件: ``` cd ../Backend copy .env.example .env ``` 5. 在 `Backend/.env` 中填写所需的值。 6. 启动后端服务器: ``` npm start ``` 7. 在新的终端中,启动前端开发服务器: ``` cd Frontend npm run dev ``` 默认本地 URL: - 前端:http://localhost:5173 - 后端:http://localhost:3000 ## 环境变量 使用 `Backend/.env.example` 作为参考标准。 ## 部署至 Render 本项目已配置为可使用内置的 `render.yaml` Blueprint 在 [Render](https://render.com) 上轻松部署。 1. 将代码推送到 Git 仓库。 2. 在 Render 中创建一个新的 **Blueprint** 并连接您的仓库。 3. Render 将自动检测前端和后端服务。 4. 填入请求的机密环境变量(例如 MongoDB URI、API 密钥)。 5. 确保 URL 生成后更新 `BACKEND_BASE_URL` 和 `VITE_API_BASE_URL`。 ## 可用脚本 后端 (`Backend/package.json`): - `npm start` - 运行 API 服务器 前端 (`Frontend/package.json`): - `npm run dev` - 启动 Vite 开发服务器 - `npm run build` - 生产环境构建 - `npm run preview` - 预览生产环境构建 - `npm run lint` - 运行 ESLint ## API 概览 身份验证: - `POST /api/auth/signup` - `POST /api/auth/login` - `GET /api/auth/me` - `PUT /api/auth/settings`(更新姓名、用户名、密码) - `POST /api/auth/logout` 聊天: - `POST /api/chat/history` - `GET /api/chat/history` - `GET /api/chat/conversations` - `DELETE /api/chat/history/:id` - `POST /api/chat/tracking` 威胁情报: - `POST /intel/scan` - `POST /intel/file` - `POST /intel/bulk` - `POST /intel/share` 其他端点: - `POST /scanFile`(文件扫描 + AI 分析) - `POST /groqChat` - `POST /geminiChat` - `POST /api/nsfw/*`(NSFW 路由) 对于受保护的路由,请发送: ``` Authorization: Bearer ``` ## GitHub 推送检查清单 推送前: - 确保 `Backend/.env` 未被提交 - 确保 API 密钥/机密未出现在代码或提交历史中 - 运行前端 lint/构建 - 验证登录、注册、设置更新和注销流程 建议的命令: ``` cd Frontend npm run lint npm run build ```
标签:GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, Sysdig, Web安全, 威胁情报, 开发者工具, 恶意软件扫描, 自定义脚本, 蓝队分析