SHAROZ221/CVE-Scanner

GitHub: SHAROZ221/CVE-Scanner

一款基于 Python 和 Nmap 的轻量级 CVE 漏洞扫描系统,自动检测目标服务版本并查询 NVD 数据库匹配已知漏洞,通过 Web 仪表板呈现结果。

Stars: 6 | Forks: 0

# CVE 扫描器 — 漏洞检测系统 ## 📁 项目文件 ## | 文件 | 用途 | |---|---| | `app.py` | Flask Web 服务器 — 路由和 API endpoint | | `scanner.py` | 基于 Nmap 的端口和服务扫描器 | | `cve_lookup.py` | 用于 CVE 查找的 NVD API 集成 | | `database.py` | SQLite 数据库 — 存储扫描和 CVE 结果 | | `requirements.txt` | Python 依赖 | ## 🔍 项目功能 1. 接收目标 IP 或主机名 2. 运行 Nmap `-sV` 扫描以检测开放端口和服务版本 3. 查询 **NVD (National Vulnerability Database) API** 以获取与每个服务匹配的已知 CVE 4. 在实时仪表板中显示结果,并提供严重性评分(CRITICAL / HIGH / MEDIUM / LOW) 5. 将所有扫描历史存储在 SQLite 中以便审查 ## ⚙️ 设置 ### 步骤 1 — 安装依赖 ``` pip install -r requirements.txt ``` ### 步骤 2 — 安装 Nmap ## 下载地址:https://nmap.org/download.html 在安装过程中将 Nmap 添加到您的系统 path 中 ## ▶️ 如何运行 ``` python app.py ``` ## 然后在浏览器中打开 `http://127.0.0.1:5000`。 输入目标 IP(例如 `127.0.0.1` 或 `scanme.nmap.org`)并点击 **Run Scan**。 ## 🧰 技术栈 - **Python** + **Flask** — Web 服务器和 API - **Nmap** + **python-nmap** — 端口和服务检测 - **NVD API** — 来自 NIST 的真实 CVE 数据 - **SQLite** — 扫描历史存储 - **HTML / CSS / JS** — 漏洞仪表板 ## 🔒 仪表板展示内容 ## | 功能 | 详情 | |---|---| | Severity Summary | CRITICAL / HIGH / MEDIUM / LOW 计数 | | CVE Results | CVE ID、受影响端口、CVSS 评分、描述 | | Severity Distribution | 扫描发现的条形图 | | Scan History | 包含目标和 CVE 计数的所有过往扫描 | | CVE Database | 浏览所有已存储的 CVE 结果 | | Export Results | 下载扫描报告 | ## ⚠️ 法律声明 仅扫描您拥有或获得明确许可扫描的系统。 未经授权的扫描是非法的。make like this
标签:Claude, CTI, CVE检测, DInvoke, Flask, Nmap, Python, SQLite, 后端开发, 插件系统, 无后门, 虚拟驱动器, 逆向工具