swathi-2106/PRESCAN

GitHub: swathi-2106/PRESCAN

一个全栈、浏览器集成的预部署安全扫描平台,帮助开发者在发布前发现并修复 Web 应用的潜在漏洞。

Stars: 0 | Forks: 0

# 预扫描 PRESCAN 是一个全栈、浏览器集成的网络安全项目,旨在在部署前后识别潜在的安全弱点。该平台允许开发者通过 Chrome 扩展扫描目标应用 URL 或本地开发端点,按严重性分类发现结果,并生成结构化的 JSON 报告。 ## 项目架构 这是一个包含三个主要组件的 monorepo: 1. **后端(`/backend`)**:一个 Spring Boot 应用,提供用于扫描执行、历史记录追踪和报告生成的 REST API。它使用模块化模拟扫描引擎和 H2 内存数据库,以实现无缝的本地开发。 2. **前端(`/frontend`)**:一个基于 React + Vite 的应用,提供采用 Tailwind CSS 构建的现代化深色主题网络安全仪表板。它可视化扫描结果、严重性指标和历史数据。 3. **Chrome 扩展(`/extension`)**:一个 Manifest V3 Chrome 扩展,作为浏览器中后端扫描器的快速触发界面。 ## 🚀 快速开始 ### 1. 后端(Spring Boot) 后端运行在 **Java 17**,默认使用 H2 内存数据库。 1. 进入 `backend` 目录: cd backend 2. 使用 Maven Wrapper 构建并运行应用: ./mvnw spring-boot:run 3. 服务器将在 `http://localhost:8080` 启动。 - *H2 控制台(可选)*:`http://localhost:8080/h2-console`(JDBC URL:`jdbc:h2:mem:prescandb`,用户名:`sa`,密码:``) ### 2. 前端(React + Vite) 前端需要 **Node.js**。 1. 进入 `frontend` 目录: cd frontend 2. 安装依赖: npm install 3. 启动开发服务器: npm run dev 4. 访问仪表板:`http://localhost:5173` ### 3. Chrome 扩展 1. 打开 Google Chrome,访问 `chrome://extensions/`。 2. 启用 **开发者模式**(右上角开关)。 3. 点击 **加载已解压的扩展程序**。 4. 选择 PRESCAN 项目目录中的 `extension` 文件夹。 5. 将 PRESCAN 扩展固定到工具栏。 ## 🛠️ 使用流程 1. 确保 **后端** 和 **前端** 服务均已运行。 2. 点击 Chrome 工具栏中的 PRESCAN 扩展图标。 3. 扩展将自动填充当前标签页的 URL。点击 **扫描应用**。 4. 等待扫描完成。桌面通知会弹出,扩展弹出窗也会显示严重性摘要。 5. 在扩展中点击 **打开详细报告**,自动打开 React 仪表板的报告视图。 6. 浏览可视化报告,切换到 JSON 视图,或下载完整的 JSON 工件。 ## 📚 API 端点 - `POST /api/scans/start` - 触发新扫描。请求体:`{ "targetUrl": "https://example.com" }` - `GET /api/scans/history` - 获取所有历史扫描列表。 - `GET /api/scans/{id}` - 获取特定扫描报告的详细信息。 ## 🗄️ 数据库架构 H2(或 MySQL)数据库包含两个主要实体: - **ScanTask**:存储 `id`、`targetUrl`、`scanTimestamp`、`status`、`overallRiskScore` 和严重性计数。 - **Finding**:存储 `id`、`title`、`description`、`severity`(HIGH/MEDIUM/LOW)、`affectedEndpoint`、`evidence`、`recommendation`。它与 `ScanTask` 存在多对一关系。 ## 🌐 在线演示 前端:https://prescan-f5t8mk9hb-swathi-2106s-projects.vercel.app ## 🔒 安全声明 本工具仅用于 **教育和防御性部署前扫描**。提供的扫描模块使用安全、非破坏性检查及模拟指示器。请勿实现破坏性载荷。
标签:DevSecOps, H2数据库, JSON报告, JS文件枚举, React, REST API, SEO: Web安全扫描, SEO: 漏洞扫描, SEO: 预扫描, Spring Boot, Syscalls, Tailwind CSS, Vite, Web安全, 上游代理, 严重等级, 全栈安全, 前端安全扫描, 加密, 历史追踪, 后端安全扫描, 安全报告, 开发安全, 快速触发, 本地开发, 漏洞分类, 漏洞扫描器, 网络安全, 自定义脚本, 蓝队分析, 隐私保护, 预部署扫描