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漏洞扫描, 上游代理, 实时处理, 密码管理, 攻击面测绘, 特征检测, 自动化渗透, 请求拦截, 逆向工具