Nagesh-kamane/AI-Powered-Web-Vulnerability-Scanner-with-Real-Time-Dashboard

GitHub: Nagesh-kamane/AI-Powered-Web-Vulnerability-Scanner-with-Real-Time-Dashboard

一款结合 AI 与大模型的 Web 漏洞自动化扫描平台,提供实时仪表盘与智能分析报告。

Stars: 1 | Forks: 0

# ⬡ VulnScan AI ### AI 驱动的 Web 漏洞扫描器与实时仪表板
![Python](https://img.shields.io/badge/Python-3.11+-00ff88?style=for-the-badge&logo=python&logoColor=black) ![FastAPI](https://img.shields.io/badge/FastAPI-0.110-00ff88?style=for-the-badge&logo=fastapi&logoColor=black) ![React](https://img.shields.io/badge/React-18.2-3388ff?style=for-the-badge&logo=react&logoColor=white) ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-3388ff?style=for-the-badge&logo=postgresql&logoColor=white) ![Docker](https://img.shields.io/badge/Docker-Ready-00ff88?style=for-the-badge&logo=docker&logoColor=black) ![License](https://img.shields.io/badge/License-MIT-ff3366?style=for-the-badge) **一款智能、自动化的 Web 漏洞扫描器,利用机器学习和 Claude AI 检测 OWASP Top 10 安全漏洞 —— 并配备美观的实时仪表板。** [功能](#-features) • [演示](#-demo) • [安装说明](#-installation) • [架构](#-architecture) • [API 文档](#-api-endpoints) • [技术栈](#-tech-stack)
VulnScan AI Dashboard
## 🎯 什么是 VulnScan AI? VulnScan AI 是一款生产级 Web 应用安全扫描器,结合了以下功能: - **智能 Web 爬取** —— 自动发现所有页面和输入字段 - **自动化 Payload 注入** —— 测试 SQLi、XSS、CSRF 和 SSRF 漏洞 - **机器学习** —— 使用经过训练的 Random Forest 模型过滤误报 - **Claude AI 分析** —— 用通俗易懂的语言解释每个漏洞,并提供代码修复方案 - **实时仪表板** —— 通过 WebSocket 更新的实时进度反馈 - **异步架构** —— 使用 Celery + Redis 实现非阻塞后台扫描 ## ✨ 功能 ### 🔍 检测范围 | 漏洞 | 类型 | OWASP 参考 | |--------------|------|-----------------| | SQL 注入 | 注入 | A03:2021 | | 跨站脚本攻击 (XSS) | 注入 | A03:2021 | | 跨站请求伪造 (CSRF) | 失效的访问控制 | A01:2021 | | 服务端请求伪造 (SSRF) | SSRF | A10:2021 | | 安全配置错误 | 配置错误 | A05:2021 | ### 🤖 AI 驱动的分析 - **Claude AI 集成** —— 为每个漏洞生成通俗易懂的解释 - **攻击场景描述** —— 准确展示攻击者将如何利用该漏洞 - **代码修复示例** —— 针对特定语言的代码片段以修复每个漏洞 - **执行摘要** —— 包含即时操作项的非技术性报告 - **ML 降低误报率** —— 基于 CVE 数据集训练的 Random Forest 分类器 ### 📊 仪表板功能 - 实时 WebSocket 扫描进度反馈 - 风险评分 (0–100) 及严重程度分布图表 - 为每个漏洞提供 CVE ID 链接 - 包含所有历史结果的扫描历史记录 - 导出 PDF 和 CSV 报告 - 按严重程度过滤漏洞 (严重 / 高危 / 中危 / 低危) ### 🏗️ 架构亮点 - 使用 Celery + Redis 进行异步扫描 (UI 永不卡顿) - PostgreSQL 数据库用于持久化扫描存储 - 采用 bcrypt 密码哈希的 JWT 身份验证 - 范围限制 (仅扫描授权域名) - 速率限制以防止滥用 - Docker + Docker Compose 实现一键部署 ## 🚀 演示 ``` Target: http://testphp.vulnweb.com Crawl Depth: 2 Results: ✓ Pages crawled: 24 ✓ Forms found: 18 ✓ Payloads injected: 1,440 Vulnerabilities Found: 694 ├── SQLi → 312 (High) ├── XSS → 287 (High) ├── CSRF → 85 (Medium) └── SSRF → 10 (High) Risk Score: 67.4/100 — MODERATE RISK ``` ### 仪表板预览 **扫描配置与实时进度** 扫描进度 **详细漏洞结果与 AI 分析** 扫描结果 **扫描历史** 扫描历史 ## 🛠️ 安装说明 ### 选项 1 — Docker (推荐) ``` git clone https://github.com/YOUR_USERNAME/ai-vuln-scanner.git cd ai-vuln-scanner docker-compose up --build ``` 打开:`http://localhost:3000` ### 选项 2 — 手动设置 **步骤 1 — 启动数据库和 Redis** ``` docker-compose up db redis ``` **步骤 2 — 后端** ``` cd backend pip install -r requirements.txt playwright install chromium cp .env.example .env alembic upgrade head python ml/train.py uvicorn main:app --reload ``` **步骤 3 — Celery Worker** ``` # Windows $env:PYTHONPATH = "path\to\backend" celery -A core.celery_app worker --loglevel=info --pool=solo # Linux/Mac celery -A core.celery_app worker --loglevel=info ``` **步骤 4 — 前端** ``` cd frontend npm install npm run dev ``` ## 🗂️ 项目结构 ``` ai-vuln-scanner/ ├── backend/ │ ├── core/ │ │ ├── crawler.py # Web crawler (static + JS/SPA) │ │ ├── injector.py # Payload injection engine │ │ ├── payloads.py # SQLi, XSS, CSRF, SSRF payloads │ │ ├── tasks.py # Celery async pipeline │ │ ├── celery_app.py # Celery + Redis config │ │ └── llm_analyzer.py # Claude AI module │ ├── ml/ │ │ ├── model.py # Random Forest ML model │ │ └── train.py # Training script │ ├── models/ │ │ ├── models.py # Database models │ │ └── database.py # PostgreSQL connection │ ├── routes/ │ │ ├── auth.py # Authentication │ │ ├── scan.py # Scan endpoints │ │ ├── report.py # PDF/CSV export │ │ └── llm.py # AI analysis endpoints │ ├── utils/ │ │ ├── auth_utils.py # JWT + bcrypt │ │ ├── logger.py # Logging │ │ └── report_generator.py # Report generation │ └── main.py # FastAPI entry point ├── frontend/ │ └── src/ │ ├── pages/ │ │ ├── Login.jsx │ │ └── Dashboard.jsx │ └── components/ │ ├── ScanForm.jsx │ ├── ScanProgress.jsx │ ├── RiskChart.jsx │ ├── VulnTable.jsx │ ├── ScanHistory.jsx │ ├── AIAnalysis.jsx │ └── ReportDownload.jsx └── docker-compose.yml ``` ## 🔌 API Endpoints | 方法 | Endpoint | 描述 | 鉴权 | |--------|----------|-------------|------| | `POST` | `/api/auth/register` | 注册新用户 | ❌ | | `POST` | `/api/auth/login` | 登录,获取 JWT | ❌ | | `POST` | `/api/scan/start` | 开始扫描 | ✅ | | `GET` | `/api/scan/{id}/progress` | 实时进度 | ✅ | | `GET` | `/api/scan/{id}/results` | 扫描结果 | ✅ | | `GET` | `/api/scan/history` | 扫描历史 | ✅ | | `GET` | `/api/report/{id}/pdf` | PDF 报告 | ✅ | | `GET` | `/api/report/{id}/csv` | 导出 CSV | ✅ | | `GET` | `/api/llm/{id}/summary` | AI 总结 | ✅ | | `GET` | `/api/llm/{id}/vuln/{vid}` | AI 漏洞分析 | ✅ | **Swagger 文档:** `http://localhost:8000/docs` ## 💻 技术栈 | 层级 | 技术 | |-------|-----------| | 前端 | React 18 + Vite | | 后端 | FastAPI (Python 3.11) | | 数据库 | PostgreSQL + SQLAlchemy | | 任务队列 | Celery + Redis | | ML 模型 | scikit-learn (Random Forest) | | AI 分析 | Claude API (Anthropic) | | 爬虫 | httpx + BeautifulSoup + Playwright | | 鉴权 | JWT + bcrypt | | 报告 | ReportLab | | 容器 | Docker + Docker Compose | ## 🧪 合法测试目标 ``` http://testphp.vulnweb.com # Acunetix demo http://demo.testfire.net # IBM AltoroMutual demo ``` ## 🚀 路线图 - [ ] 失效的身份认证测试 - [ ] CI/CD GitHub Actions 集成 - [x] 定时自动扫描 - [ ] 电子邮件/Slack 告警 - [ ] 云部署 (AWS/GCP) ## 👨‍💻 作者 **Nagesh Kamane** —— 为网络安全研讨会构建的 AI 驱动安全测试项目 ## ⚠️ 免责声明 仅供**教育和授权的安全测试使用**。在扫描任何 Web 应用程序之前,请务必获得明确许可。
**使用 ❤️ 基于 FastAPI 和 React 构建** ⬡ VulnScan AI —— 让 Web 安全测试更加智能化
标签:Apex, AV绕过, Celery, CISA项目, Docker, FastAPI, React, Syscalls, Web安全, 安全防御评估, 机器学习, 漏洞扫描, 蓝队分析