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 漏洞扫描器与实时仪表板
**详细漏洞结果与 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 应用程序之前,请务必获得明确许可。






**一款智能、自动化的 Web 漏洞扫描器,利用机器学习和 Claude AI 检测 OWASP Top 10 安全漏洞 —— 并配备美观的实时仪表板。**
[功能](#-features) • [演示](#-demo) • [安装说明](#-installation) • [架构](#-architecture) • [API 文档](#-api-endpoints) • [技术栈](#-tech-stack)
## 🎯 什么是 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安全, 安全防御评估, 机器学习, 漏洞扫描, 蓝队分析