FrancescoPetillo/Web-Security-Scanner

GitHub: FrancescoPetillo/Web-Security-Scanner

基于 FastAPI 和 React 的自动化 Web 安全扫描器,可检测 XSS/SQLi 漏洞、检查安全 header 并结合 VirusTotal 进行域名信誉评分。

Stars: 0 | Forks: 0

# 🛡️ Web Security Scanner 一款用于分析网站安全性的现代应用程序。它可以检测漏洞、检查安全 header、评估域名信誉,并提供安全加固(hardening)建议。 ## ✨ 功能 - **HTTP Header 扫描** - 检查是否存在关键的安全 header(CSP、HSTS 等) - **智能评分** - 根据漏洞和配置动态计算安全性分数 - **信誉分析** - 检查域名是否被标记为恶意或可疑 - **详细报告** - 提供包含漏洞类别和修复建议的完整报告 - **直观的界面** - 现代且响应式的 React 仪表板 ## 🖼️ 预览 ### 首页 应用程序的初始界面,在此输入要分析的 URL 并开始扫描。 ![Web Security Scanner 首页](https://static.pigsec.cn/wp-content/uploads/repos/cas/7e/7e1992551d2e39c7cfaa4a929d9f57cbd855855189368d5997660f8a8c6abf7b.png) ### 分析结果 扫描后生成的报告,包含安全评分、风险等级和发现的漏洞。 ![Web Security Scanner 分析结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/b0/b04f7859cdb1e4251d219534ab71245ca5cf0340593d17d33596a77790b4f188.png) ## 🏗️ 架构 ``` Web-Security-Scanner/ ├── frontend/ # React + Vite + React Router │ ├── src/ │ │ ├── pages/ # Home (input URL) e Results (report) │ │ ├── App.jsx │ │ └── main.jsx │ ├── package.json │ └── vite.config.js │ ├── backend/ # FastAPI + Python │ ├── main.py # Server FastAPI con endpoint /scan │ ├── requirements.txt │ ├── Dockerfile │ ├── scanner/ │ │ ├── engine.py # Logica principale di scansione │ │ ├── scoring.py # Calcolo score di sicurezza │ │ ├── reputation.py # Verifica reputazione dominio │ │ └── ... │ └── venv/ │ ├── engine.py # Entry point principale └── README.md ``` ## 🚀 快速开始 ### 前置条件 - **Node.js** 18+(用于前端) - **Python** 3.10+(用于后端) - **Docker**(可选,推荐) ### 本地安装 #### 1️⃣ 后端 ``` cd backend python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate pip install -r requirements.txt ``` #### 2️⃣ 前端 ``` cd frontend npm install ``` #### 3️⃣ 启动应用 **终端 1 - 后端:** ``` cd backend source venv/bin/activate # o venv\Scripts\activate su Windows uvicorn main:app --reload --port 8000 ``` **终端 2 - 前端:** ``` cd frontend npm run dev ``` 应用程序将通过 `http://localhost:5173` 访问 ### 使用 Docker 安装 ``` docker build -t web-security-scanner ./backend docker run -p 8000:8000 web-security-scanner ``` ## 📡 API Endpoints ### POST `/scan` 对指定的 URL 启动安全扫描。 **Request:** ``` { "url": "https://example.com" } ``` **Response:** ``` { "status": "done", "url": "https://example.com", "score": 85, "risk_level": "medium", "summary": { "message": "No critical vulnerabilities detected...", "vulnerabilities": 2, "hardening": 3, "reputation_status": "Reputation clean" }, "findings": [ { "title": "Missing CSP", "type": "hardening", "category": "headers", "severity": "Medium", "confidence": "low" } ], "reputation": { "malicious": 0, "suspicious": 0 } } ``` ### GET `/` 健康检查(Health check)endpoint。 ## 🎯 发现类别 ### 漏洞 (Vulnerability) 已确认的安全问题,需要立即修复。 ### 加固 (Hardening) 为提升安全性而推荐的最佳实践和配置。 ## 📊 风险等级 - 🟢 **低 (Low)** - Score 80-100:配置安全 - 🟡 **中 (Medium)** - Score 50-79:建议进行改进 - 🔴 **高 (High)** - Score <50:检测到严重漏洞 ## 🛠️ 技术栈 ### 后端 - **FastAPI** - 异步 Web 框架 - **Pydantic** - 数据验证 - **Playwright** - Web 自动化 - **Requests** - HTTP 客户端 - **Uvicorn** - ASGI 服务器 ### 前端 - **React** 19.2 - UI 库 - **Vite** - 构建工具 - **React Router** - 客户端路由 - **ESLint** - 代码 linting ## 📝 开发 ### 前端 Linting ``` cd frontend npm run lint ``` ### 前端构建 ``` cd frontend npm run build ``` ### 代码格式化 本项目遵循 Python 的 PEP8 规范和 JavaScript 的 ESLint 规范。 ## 🔐 安全 - ⚠️ 调试阶段开放 CORS - 需在生产环境中进行配置 - 服务器端 URL 验证 - 健壮的异常处理 - HTTP 请求设置 Timeouts ## 🐛 故障排除 ### 错误:"CORS not allowed" 确保后端正在 `http://localhost:8000` 上运行 ### 端口被占用 ``` # Frontend (更改端口) npm run dev -- --port 5174 # Backend uvicorn main:app --port 8001 ``` ### Python Import 错误 ``` pip install --upgrade -r backend/requirements.txt ``` ## 📦 生产环境构建 ``` # Frontend cd frontend npm run build # 输出至: frontend/dist/ # Backend # 使用提供的 Dockerfile 或首选的 deployment ``` ## 📄 许可证 本项目按“原样”提供,仅用于教育目的和经授权的安全测试。 **版本:** 0.0.0 **最后更新:** 2026年5月 **作者:** Francesco Petillo 和 Gabriele Esposito
标签:AV绕过, CISA项目, DOE合作, FastAPI, React, Syscalls, Web安全扫描器, 威胁情报, 安全基线检查, 开发者工具, 特征检测, 请求拦截, 逆向工具