Tktirth/AI-VULN.-SCANNER-V2

GitHub: Tktirth/AI-VULN.-SCANNER-V2

一款基于 Python 和 Streamlit 构建的 Web 漏洞扫描框架,结合 ML 驱动的 CVSS 评分对 Web 应用进行全面的安全评估。

Stars: 0 | Forks: 0

# 🛡️ AI 漏洞扫描器 V2 ### 智能化 Web 应用安全评估框架 [![Python 3.10+](https://img.shields.io/badge/Python-3.10%2B-3776ab?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![Streamlit](https://img.shields.io/badge/Streamlit-FF4B4B?style=for-the-badge&logo=streamlit&logoColor=white)](https://streamlit.io) [![License: MIT](https://img.shields.io/badge/License-MIT-22d3a5?style=for-the-badge)](LICENSE) [![Security Policy](https://img.shields.io/badge/Security-Policy-critical?style=for-the-badge&logo=shield)](SECURITY.md)

基于 AI 的漏洞扫描器,具备基于 ML 的 CVSS 评分、认证扫描、CDN/WAF 绕过检测以及全面的攻击面映射功能。

**⚠️ 仅限授权使用** — 仅扫描您拥有或获得明确书面测试许可的目标。
## 🎯 概述 AI 漏洞扫描器 V2 是一个专业级的、基于 AI 的 Web 应用安全测试框架。它将传统的漏洞检测技术与机器学习分类相结合,提供准确、可操作的安全评估。 ### 特色优势 | 功能 | 传统扫描器 | **AI 漏洞扫描器 V2** | |---------|---------------------|----------------------| | 漏洞分类 | 基于规则的严重程度 | **基于 ML 的 CVSS 评分**(使用 NVD 训练的模型) | | CDN 检测 | ❌ 无 | **自动 CDN/WAF 指纹识别**并发现源站 IP | | 存储型 XSS | 单次扫描 | **两步式:注入 → 验证**检测 | | IDOR 测试 | 基础参数模糊测试 | **认证上下文差异化分析** | | IP 情报 | ❌ 无 | **全面侦察:ASN、PTR、CDN 绕过、内部 IP 泄露** | | 身份验证 | 仅限 Cookie | **表单登录、Cookie、Bearer token** 并带有会话验证 | ## 🏗️ 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Streamlit Dashboard (app.py) │ │ Real-time progress · Vuln cards · Filters │ └──────────────────────┬──────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ Scanner Engine V2 (Orchestrator) │ │ │ │ Phase 0 ─── IP Recon ──────── DNS · CDN · ASN · Origin IP │ │ Phase 1 ─── Authentication ── Form · Cookie · Token │ │ Phase 2 ─── Crawling ──────── BFS · Auth-aware · Depth 3 │ │ Phase 3 ─── Directories ───── 40+ sensitive paths │ │ Phase 4 ─── Headers ───────── Security header audit │ │ Phase 5 ─── Per-page ──────── XSS · SQLi · Open Redirect │ │ Phase 6 ─── Stored XSS ────── Two-pass inject/verify │ │ Phase 7 ─── IDOR ──────────── Auth differential fuzzing │ │ Phase 7b ── IP Leakage ────── Headers · HTML · JS · JSON │ │ Phase 8 ─── AI Classification ML CVSS · CWE · Dedup │ └─────────────────────────────────────────────────────────────────┘ ``` ## 🔍 模块 ### 🔎 IP 情报 (阶段 0) 在任何爬取开始之前运行的预扫描侦察。 | 组件 | 功能 | |-----------|-----------| | **IP 解析器** | DNS A/AAAA 解析、反向 DNS (PTR)、ASN/RDAP 查询(组织、国家) | | **CDN 检测器** | 通过响应头识别 8 家 CDN 提供商的指纹(Cloudflare、CloudFront、Akamai、Fastly、Azure、GCP、Sucuri、Imperva) | | **CDN 绕过** | 通过 crt.sh SSL 证书历史记录、HackerTarget DNS 历史记录、MX/SPF/NS 记录分析发现源站 IP | | **IP 泄露** | 检测 headers、HTML、JS 文件和 JSON API 响应中的私有 IP(RFC1918、loopback、link-local) | ### ⚡ 漏洞检测器 (阶段 3-7) | 检测器 | 技术 | CWE | |----------|-----------|-----| | **跨站脚本攻击 (XSS)** | 11 个 payload,URL 参数 + 表单字段,反射检测 | CWE-79 | | **存储型 XSS** | 两步式:注入标记 → 在其他页面验证 | CWE-79 | | **SQL 注入** | 基于错误(28 种数据库错误模式)+ 基于布尔的差异化检测 | CWE-89 | | **开放重定向** | 22 个重定向参数 × 4 个 payload,服务端 + 客户端检查 | CWE-601 | | **IDOR** | ID 模糊测试(数字 ±1/±2/+100,UUID),认证与未认证差异化对比 | CWE-639 | | **目录枚举** | 40+ 敏感路径(.env、.git、/admin、API endpoint) | CWE-548 | | **安全 Headers** | 缺失及薄弱 header 审计(HSTS、CSP、X-Frame-Options 等) | CWE-693 | | **内部 IP 泄露** | 4 源扫描:HTTP headers、HTML/注释、JS bundle、JSON API | CWE-200 | ### 🤖 AI 分类 (阶段 8) - **GradientBoosting 分类器**,基于 NVD 衍生的参考数据进行训练(22 种漏洞类型 × 45 个样本) - 输出:CVSS 3.1 评分、严重性评级、CWE ID、置信度水平 - 对 `(type, url, parameter)` 元组进行自动去重 ## 🚀 快速开始 ### 前置条件 - Python 3.10+ - pip ### 安装说明 ``` # Clone repository git clone https://github.com/Tktirth/AI-VULN.-SCANNER-V2.git cd AI-VULN.-SCANNER-V2 # 安装依赖 pip install -r requirements.txt # 启动 scanner streamlit run app.py ``` ### Docker 部署(推荐) 您可以使用 Docker 在容器化环境中运行扫描器。 ``` # Clone repository git clone https://github.com/Tktirth/AI-VULN.-SCANNER-V2.git cd AI-VULN.-SCANNER-V2 # 使用 Docker Compose 构建并启动 docker compose up -d # 或者使用 raw Docker commands 构建并运行 docker build -t ai-vuln-scanner . docker run -d -p 8501:8501 --name vuln-scanner ai-vuln-scanner ``` 应用程序将在 `http://localhost:8501` 提供。 ### 通过 GitHub Actions 进行云部署 (GCP Cloud Run) 此仓库包含一个自动化 CI/CD 流水线(`.github/workflows/cloud-run-deploy.yml`),每当将更改推送到 `main` 分支时,它都会自动将应用程序部署到 Google Cloud Run。 **设置说明:** 1. 在您的 Google Cloud 项目中创建一个 Service Account(`web-vulnarebility-scanner`)。 2. 授予它以下角色: - Cloud Run Admin (`roles/run.admin`) - Cloud Build Service Account (`roles/cloudbuild.builds.builder`) - Artifact Registry Administrator (`roles/artifactregistry.admin`) - Service Account User (`roles/iam.serviceAccountUser`) 3. 为此 Service Account 生成一个 JSON 密钥。 4. 进入您的 GitHub 仓库 -> **Settings** -> **Secrets and variables** -> **Actions** -> **New repository secret**。 5. 将密钥命名为 `GCP_CREDENTIALS`,并粘贴整个 JSON 密钥作为值。 配置完成后,将代码推送到 `main` 分支将自动构建应用程序并将其部署到 Cloud Run。 ### 用法 1. 在主输入框中**输入目标 URL** 2. 在侧边栏中**配置模块**(默认全部启用) 3. 如果目标需要登录,请**设置身份验证** 4. **点击 ▶ SCAN** 并实时查看进度 5. 通过严重性过滤器、CVSS 图表和详细的修复建议**审查发现** 6. **导出** JSON 报告以进行离线分析 ## 🔐 认证模式 | 模式 | 用例 | 配置 | |------|----------|--------| | **无** | 面向公众的扫描 | 默认 | | **表单登录** | 带有用户名/密码的登录页面 | 登录 URL + 凭证 + 可选的已登录指示器 | | **Cookie** | 预先存在的会话 cookie | 粘贴 `name=value` 键值对 | | **Bearer Token** | API token / JWT | Token 值 + 认证方案(Bearer、Token、Basic、ApiKey) | ## 📊 输出 ### 实时仪表板 - 逐阶段的终端输出**实时进度** - **IP 情报面板**,显示目标 IP、ASN、CDN 状态以及源站 IP 发现 - **漏洞卡片**,带有严重性徽章、CVSS 进度条、CWE 标签、payload 和修复建议 - 按严重性、漏洞类型和 CWE ID 进行**过滤** - 用于一目了然风险评估的 **CVSS 分布图表** ### JSON 报告 结构化导出,包含: ``` { "report_metadata": { "tool", "version", "target", "timestamp" }, "executive_summary": { "risk_level", "severity_breakdown", "stats" }, "reconnaissance": { "target_intelligence": { "ip", "asn", "ptr", "country" }, "cdn_detection": { "provider", "bypass_possible", "origin_ip" }, "ssl_cert_domains": ["subdomain1.example.com", "..."], "dns_records": { "mx", "ns", "spf" } }, "vulnerabilities": [ { "type", "severity", "cvss", "cwe", "evidence", "remediation" } ], "remediation_priority": [ { "type", "count", "max_severity" } ], "cwe_summary": [ { "cwe_id", "count", "max_cvss" } ] } ``` ## 📁 项目结构 ``` AI-VULN.-SCANNER-V2/ ├── app.py # Streamlit dashboard UI ├── scanner_engine.py # Scan orchestrator (8 phases) ├── crawler.py # BFS web crawler with auth support ├── requirements.txt # Python dependencies │ ├── recon/ # Phase 0: IP Intelligence │ ├── __init__.py │ ├── ip_resolver.py # DNS resolution + CDN detection + ASN │ └── cdn_bypass.py # Origin IP discovery (5 methods) │ ├── detectors/ # Phases 3-7: Vulnerability Detectors │ ├── __init__.py │ ├── xss_detector.py # Reflected + Stored XSS │ ├── sql_detector.py # Error-based + Boolean SQLi │ ├── header_detector.py # Security header audit │ ├── redirect_detector.py # Open redirect detection │ ├── directory_detector.py # Sensitive path enumeration │ ├── idor_detector.py # IDOR fuzzing │ └── ip_leakage.py # Internal IP exposure (CWE-200) │ ├── ai/ # Phase 8: ML Classification │ └── vulnerability_ai.py # GradientBoosting CVSS classifier │ ├── auth/ # Authentication engine │ └── auth_manager.py # Form/cookie/token auth │ ├── utils/ # Shared utilities │ ├── request_manager.py # HTTP session management │ └── payloads.py # Payloads, wordlists, signatures │ ├── reports/ # Report generation │ └── report_generator.py # JSON report builder │ ├── SECURITY.md # Security policy ├── CONTRIBUTING.md # Contribution guidelines └── LICENSE # MIT License ``` ## 🛡️ 道德使用与法律声明 此工具仅用于**授权的安全测试和教育目的**。 - ✅ 扫描您自己的应用程序 - ✅ 在获得明确的书面授权后进行扫描 - ✅ 用于安全研究和教育 - ❌ **严禁未经许可进行扫描** - ❌ **严禁用于未经授权的访问** - ❌ **严禁用于恶意目的** 未经授权的计算机访问在 **Computer Fraud and Abuse Act (CFAA)**、**UK Computer Misuse Act** 以及全球同等法律下均属违法行为。作者对滥用行为**不承担任何责任**。 ## 📄 许可证 本项目基于 MIT 许可证授权 — 详情请参阅 [LICENSE](LICENSE) 文件。
由安全爱好者构建,为安全专业人士服务。
标签:Apex, CISA项目, DOE合作, Kubernetes, Python, Web安全, 加密, 安全测试, 攻击性安全, 文件查看, 无后门, 机器学习, 漏洞扫描器, 蓝队分析, 请求拦截, 逆向工具