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安全, 上游代理, 严重等级, 全栈安全, 前端安全扫描, 加密, 历史追踪, 后端安全扫描, 安全报告, 开发安全, 快速触发, 本地开发, 漏洞分类, 漏洞扫描器, 网络安全, 自定义脚本, 蓝队分析, 隐私保护, 预部署扫描