anmoliot/web-vuln-scanner
GitHub: anmoliot/web-vuln-scanner
一款模块化的自适应 Web 漏洞扫描与攻击面评估平台,集成了自动化侦察、身份验证扫描与 CI/CD 安全工作流。
Stars: 1 | Forks: 1
# 🔐 AdaptiveScan — 攻击面与 VAPT 评估平台
AdaptiveScan 是一个模块化的攻击性安全与 VAPT 评估平台,专为自动化侦察、攻击面映射、经过身份验证的 Web 扫描、API/GraphQL 分析以及证据驱动的漏洞评估工作流而设计。
该平台将 SPA 感知爬取、可扩展的探测器插件、实时遥测以及面向 DevSecOps 的 CI/CD 工作流结合在一起,提供单一的托管式安全评估体验。
# 🚀 核心功能
* 攻击面发现与端点映射
* 使用 Playwright 进行 SPA 感知爬取
* REST API 和 GraphQL 发现
* SQL 注入、XSS、CSRF 及身份验证分析
* 通过 JWT、cookies、headers 和登录引导进行经过身份验证的扫描
* 基于插件的探测器框架
* 使用 WebSockets 的实时扫描遥测
* 行为异常与响应差异分析
* 包含丰富证据的 HTML/PDF 报告
* CI/CD 安全工作流集成
* 包含扫描指标和发现的实时仪表板
* 探测器基准测试和验证工作流
# 🏗️ 架构
AdaptiveScan 被组织为模块化的安全工程层:
```
Frontend UI
↓
FastAPI API Layer
↓
Recon & Crawling Engine
↓
Detector Plugin Framework
↓
Validation & Anomaly Analysis
↓
Evidence & Reporting Engine
↓
Persistence & Export Layer
```
# 🔍 探测器插件系统
探测器的加载由配置驱动,通过以下方式进行:
```
backend/detection/detectors.json
```
每个探测器声明:
* 探测器名称
* 模块路径
* 类
* 类别
* 支持的攻击面
前端动态加载探测器元数据,通过:
```
/api/detectors
```
这允许针对每个扫描配置文件启用或禁用探测器。
# 🌐 支持的扫描功能
## Web 漏洞检测
* SQL 注入
* 基于布尔的盲注
* 基于报错的注入
* 基于时间的盲注
* 跨站脚本攻击 (XSS)
* CSRF 工作流分析
* 身份验证分析
* API/GraphQL 模糊测试
## 侦察与发现
* JavaScript 端点提取
* API 发现
* GraphQL 发现
* SPA 路由爬取
* 端点风险映射
* 响应异常分析
## 经过身份验证的扫描
* JWT 支持
* 基于 Cookie 的会话
* Authorization headers
* 登录流程引导
# 📊 报告
AdaptiveScan 生成证据驱动的报告,包括:
* 严重性划分
* payload 证据
* 请求/响应元数据
* 探测器耗时
* API/GraphQL 覆盖率
* 行为异常摘要
* HTML 导出
* PDF 导出
# ⚡ 实时遥测
该平台使用 WebSockets 进行:
* 实时扫描进度
* 探测器 runtime 更新
* 队列状态
* 实时 KPI 更新
* 实时发现遥测
# 🔄 CI / CD 安全工作流
GitHub Actions 工作流:
```
.github/workflows/scanner-ci.yml
```
流水线工作流:
1. 安装后端依赖
2. 运行后端测试
3. 构建前端
4. 启动本地测试环境
5. 执行扫描器冒烟测试
6. 将 HTML/PDF 报告作为 artifacts 上传
# 🧪 安全测试环境
启动本地漏洞实验室目标:
```
docker compose -f docker/docker-compose.yml up -d juice-shop
```
安全的本地扫描目标:
```
http://127.0.0.1:3000
```
# ⚙️ 后端设置
```
pip install -r requirements.txt
python -m playwright install chromium
uvicorn backend.app:app --reload
```
后端 API:
```
http://127.0.0.1:8000
```
# 💻 前端设置
```
cd frontend
npm install
npm run dev
```
前端 URL:
```
http://127.0.0.1:5173
```
# 🖥️ CLI 用法
基本扫描:
```
python scripts/run_scanner.py https://example.com
```
经过身份验证的扫描:
```
python scripts/run_scanner.py http://127.0.0.1:3000 --auth-header "Authorization=Bearer " --auth-cookie "token="
```
# 🧪 验证
运行所有测试:
```
pytest
```
当前验证包括:
* 探测器测试
* 爬虫验证
* 响应分析
* 报告验证
* 插件注册表测试
* CI 冒烟测试
# 🛣️ 路线图
计划的改进:
* 上下文感知的 XSS 检测
* 高级 SQLi 验证引擎
* Headless 浏览器 DOM 分析
* 分布式异步扫描 workers
* 技术指纹识别
* 端口和服务侦察
* 基于 CVSS 的风险标准化
* 攻击链关联引擎
* 误报减少系统
* 基于风险的端点优先级排序
# 🧰 技术栈
| 层级 | 技术组件 |
| ---------- | --------------- |
| 后端 | Python, FastAPI |
| 前端 | React, Vite |
| 爬虫 | Playwright |
| 实时通信 | WebSockets |
| 报告 | HTML/PDF |
| CI/CD | GitHub Actions |
| 容器 | Docker |
| 测试 | Pytest |
# 🔐 合规使用
AdaptiveScan 仅 intended 用于授权的安全测试、内部环境、预发系统以及已获得明确许可的系统。
严禁对第三方系统进行未经授权的扫描。
# 📌 项目定位
AdaptiveScan 被设计为一个攻击性安全和面向 DevSecOps 的评估平台,专注于:
* 攻击面可视化
* 自动化侦察
* 经过身份验证的安全测试
* 证据驱动的漏洞评估
* 集成 CI/CD 的安全工作流
标签:CISA项目, DevSecOps, DOE合作, GraphQL安全, VAPT, Web漏洞扫描, 上游代理, 实时处理, 密码管理, 攻击面测绘, 特征检测, 自动化渗透, 请求拦截, 逆向工具