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, 漏洞扫描器, 网站安全检测, 网站防护, 网络代理, 网络安全, 自动化安全评估, 逆向工具, 隐私保护