codenik01/VulnScan-Lite-On-Demand-Web-Vulnerability-Scanner
GitHub: codenik01/VulnScan-Lite-On-Demand-Web-Vulnerability-Scanner
一款基于 FastAPI 和 React 的轻量级网站安全扫描工具,可快速检测 HTTP 安全头、SSL/TLS 配置和 CMS 漏洞并生成 PDF 报告。
Stars: 0 | Forks: 0
# VulnScan Lite
VulnScan Lite 是一款自动化漏洞扫描器,可让您轻松扫描任何网站的关键安全指标。凭借优雅的暗色模式 React 前端和高度并发的 FastAPI 后端,VulnScan Lite 可即时为您提供安全评级、自动化发现结果以及修复步骤。它能够检查关键的 HTTP 安全头,验证 SSL/TLS 配置,并识别存在已知漏洞的内容管理系统 (CMS)。
## 🚀 功能特性
- **FastAPI Backend**:异步且极速的 API,用于发起和监控扫描。
- **Background Tasks with Celery & Redis**:将繁重任务分流,以保持主应用程序的响应速度。
- **Multi-layered Scanner**(多层扫描器):
- 验证关键的 HTTP 头(HSTS, CSP, X-Frame-Options 等)
- 分析 SSL/TLS 证书的有效性和配置。
- 指纹识别常见的 CMS(WordPress, Joomla, Drupal)及其相关风险版本。
- **Premium React UI**:使用 Vite 和 Tailwind 风格的暗色美学,打造现代化外观。
- **PDF Reports**:利用 `fpdf` 内置自动报告导出功能,生成扫描结果报告。
## 📂 项目结构
```
vulnscan-lite/
├── backend/ # Python FastAPI & Celery Application
│ ├── api/
│ │ └── routers/ # API endpoint routes (auth, history, etc.)
│ ├── auth/ # JWT Authentication utilities
│ ├── database/ # SQLite database configuration & SQLAlchemy
│ ├── models/ # SQLAlchemy definitions (Users, Scans)
│ ├── scanner/ # Core scanning logic modules (headers, ssl, cms)
│ ├── worker/ # Celery worker configuration and asynchronous tasks
│ ├── main.py # Main FastAPI entry point
│ └── requirements.txt # Python dependencies
├── frontend/ # React Application (Vite)
│ ├── public/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application views (Dashboard, Login)
│ │ ├── App.jsx # Main React App and Routing
│ │ └── main.jsx # React initialization
│ ├── package.json # Node dependencies
│ └── vite.config.js # Vite build configuration
└── README.md
```
## 🛠️ 前置条件
- Python 3.9+
- Node.js 18+ 和 npm
- Redis Server(作为 Celery 的消息代理所必需)
## 💻 本地设置说明
### 1. 启动 Redis Server
确保您已安装 Redis。根据您的操作系统,启动服务器:
```
# MacOS (Homebrew)
brew services start redis
# Linux
sudo systemctl start redis
# 或直接在 terminal 中
redis-server
```
### 2. 设置 Backend
导航到 `backend` 目录,创建虚拟环境并安装依赖项。
```
cd backend
python3 -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txt
```
### 3. 设置 Frontend
打开一个新的终端,导航到 `frontend` 目录并安装依赖项。
```
cd frontend
npm install
```
## 🏃♂️ 运行应用程序
要在本地运行全栈应用,您需要三个单独的终端窗口/标签页:
**窗口 1:启动 FastAPI Server**
```
cd backend
source venv/bin/activate
uvicorn main:app --reload
```
*(API 将在 `http://127.0.0.1:8000` 上可用)*
**窗口 2:启动 Celery Worker**
```
cd backend
source venv/bin/activate
celery -A worker.celery_app worker --loglevel=info
```
*(这将监听安全扫描任务)*
**窗口 3:启动 React Frontend**
```
cd frontend
npm run dev
```
*(应用将在 `http://localhost:5173` 或类似地址可用,具体取决于 Vite 输出)*
## 🌐 部署指南 (生产环境)
### Backend 部署 (例如 Render, Railway, DigitalOcean)
1. 通过环境变量 `REDIS_URL` 提供托管的 **Redis cluster** URL(例如 Aiven 或 Render 的 Redis)。
2. 更新 `worker/celery_app.py` 的代理链接,使其从环境变量读取。
3. 将 SQLite 数据库替换为外部的 **PostgreSQL** 或 **MySQL** 实例,并通过 `DATABASE_URL` 更新 `database/database.py` 的连接字符串。
4. 使用 `gunicorn` 运行 Uvicorn 应用程序:
gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker
5. 部署一个独立的后台工作进程实例来运行 Celery 命令。
### Frontend 部署 (例如 Vercel, Netlify)
1. 将您的平台指向 `frontend` 目录。
2. 构建命令为 `npm run build`,输出目录通常为 `dist`。
3. 添加环境文件 `.env`,将 UI 路由到您的生产环境 backend URL:
VITE_API_BASE_URL=https://your-backend-api.com
*(请确保替换 React 代码中的本地 fetch 调用,以使用此环境变量)。*
## 🛡️ 许可证
本工具仅供教育目的和经授权的安全扫描使用。请勿在未经明确许可的情况下对目标使用。
标签:AV绕过, Celery, CMS指纹识别, FastAPI, HTTP安全头检测, JWT认证, PDF报告生成, Python, React, Redis, SQLAlchemy, SQLite, SSL/TLS分析, Syscalls, Vite, 加密, 威胁情报, 安全合规, 密码管理, 开发者工具, 异步编程, 插件系统, 搜索引擎查询, 无后门, 暗黑模式UI, 漏洞扫描器, 网站安全检测, 网站防护, 网络代理, 网络安全, 自动化安全评估, 逆向工具, 隐私保护