nayanjani120-cpu/Network-Vulnerability-scanner

GitHub: nayanjani120-cpu/Network-Vulnerability-scanner

VULNSC 是一个集多线程扫描、CVE 映射与 Web 漏洞审计于一体的安全评估工具,提供 Web、桌面 GUI 和 CLI 多种使用入口。

Stars: 0 | Forks: 0

# 🛡️ VULNSC - 威胁情报与漏洞扫描器 [![实时演示](https://img.shields.io/badge/Demo-Live%20on%20Render-brightgreen?style=for-the-badge&logo=render)](https://vuln-scanner-romc.onrender.com/) ## ⚔️ 功能 - 🌐 **Web 端仪表板**:使用 HTML、CSS 和 JS 构建的精美、响应式赛博风格仪表板。 - ⚡ **实时日志流**:使用 Server-Sent Events (SSE) 流式传输多线程扫描、漏洞和 CVE 映射。 - 🔀 **多线程扫描引擎**:使用 Python `ThreadPoolExecutor` 并行化端口扫描和目录发现,实现快速获取结果。 - 🛡️ **CVE 与 CVSS 映射**:在开放端口上自动抓取 banner,与 NVD API v2.0 进行匹配,并具备本地缓存和速率限制重试逻辑。 - 🕵️ **主动 Web 审计**:对 SQL 注入、反射型 XSS、默认管理凭据和不安全的 session cookie 标志进行非破坏性、安全的检查。 - 📂 **敏感路径发现**:并行检查暴露的文件夹目录(例如 `/admin`、`/.env`、`/backup`)。 - 🧾 **Header 指纹识别**:评估安全标头(CSP、HSTS、X-Frame-Options、CORS 等)以及全局威胁等级评估。 - 📊 **自动生成的 HTML 威胁报告**:独立的评估报告,以带时间戳的文件名保存在 `/reports` 目录中。 - 🖥️ **桌面 GUI (Tkinter)** 与 **CLI 支持**。 ## 🛠️ 技术栈 - **后端**:Python 3(标准库:`http.server.ThreadingHTTPServer`、`socket`、`concurrent.futures`、`html.parser`、`urllib.parse`,以及现有的 `requests` 包) - **前端**:HTML5、原生 CSS3(Glassmorphism、自定义网格叠加)、JavaScript(ES6、EventSource SSE API) ## 📡 REST API 层 VULNSC 包含一个可编程的 REST API,无需通过浏览器仪表板即可直接调用: - **`POST /api/scan`**:在后台启动扫描。返回一个唯一的扫描 ID。 - **请求体 (JSON 或 urlencoded)**: { "url": "http://example.com", "ports": [80, 443, 8080] } - **响应 (201 Created)**: { "scan_id": "893d56b0-74e7-49f6-a83d-6b5e02e1fd4e", "status": "running" } - **`GET /api/scan/{id}/status`**:返回当前进度百分比和状态。 - **响应 (200 OK)**: { "scan_id": "893d56b0-74e7-49f6-a83d-6b5e02e1fd4e", "status": "completed", "percent": 100 } - **`GET /api/scan/{id}/report`**:以 JSON 格式返回详细的漏洞发现结果、端口状态和 CVE 映射数组。 ## 🚀 如何运行 ### 🌐 实时演示(无需安装) 直接在 Render 上访问实时、完全部署的赛博仪表板: 👉 **[vuln-scanner-romc.onrender.com](https://vuln-scanner-romc.onrender.com/)** ### 1. Web 仪表板(在 Chrome/Edge/Firefox 中运行) 要在本地运行 Web 应用: 1. 克隆仓库并进入该文件夹: git clone https://github.com/CM-23/vuln-scanner.git cd vuln-scanner 2. 安装所需的 requests 库: pip install -r requirements.txt 3. 使用 npm 运行(或直接运行 `python server.py`): npm run dev 4. 打开浏览器并导航至: * **`http://localhost:80`**(或直接访问 `http://localhost`) ### 2. 桌面 GUI 版本 (Tkinter) ``` python scanner_gui.py ``` ### 3. CLI 版本 ``` python scanner.py ```
标签:数据可视化, 逆向工具