nayanjani120-cpu/Network-Vulnerability-scanner
GitHub: nayanjani120-cpu/Network-Vulnerability-scanner
VULNSC 是一个集多线程扫描、CVE 映射与 Web 漏洞审计于一体的安全评估工具,提供 Web、桌面 GUI 和 CLI 多种使用入口。
Stars: 0 | Forks: 0
# 🛡️ VULNSC - 威胁情报与漏洞扫描器
[](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
```
标签:数据可视化, 逆向工具