Mouley-2806/Vulnerability_Scanner

GitHub: Mouley-2806/Vulnerability_Scanner

一款纯 Python 编写的零依赖终端漏洞扫描器,通过多阶段流水线完成端口扫描、CVE 匹配和风险评分并生成 HTML 报告。

Stars: 0 | Forks: 0

# 🛡️ VulnScanner — 漏洞评估工具 一款模块化、基于终端的漏洞扫描器,使用纯 Python 编写(无需第三方库)。 ## ⚠️ 法律免责声明 ## 📁 项目结构 ``` vuln_scanner/ ├── main.py ← Entry point / orchestrator ├── config.py ← Settings, limits, colour helpers │ ├── info_gathering.py ← Phase 1: DNS, SSL, tech detection, cloud ├── port_scanner.py ← Phase 2: Multi-threaded TCP port scan ├── web_scanner.py ← Phase 3: HTTP headers, sensitive files, SSL ├── service_detector.py ← Phase 4: Banner grabbing & version detection ├── vulnerability_analyzer.py ← Phase 5: CVE matching, risk scoring ├── remediation.py ← Phase 6: Attach fix steps ├── report_generator.py ← Phase 7: TXT + HTML reports ├── feedback.py ← Phase 8: Star rating & comments ├── scan_history.py ← Phase 9-10: Save / Quick Re-Verify │ ├── data/ │ ├── vulnerable_versions.json ← Known vulnerable software versions │ └── remediation_db.json ← Actionable fix steps per vulnerability │ ├── reports/ ← Generated scan reports (.txt + .html) ├── scans/ ← Saved vulnerability baselines for re-verification └── scans_history/ ← Scan log + feedback.log ``` ## 🚀 快速开始 ``` # 交互式运行 python main.py # 直接指定 target python main.py --target example.com # 指定 target + 自定义 port 列表 python main.py --target 192.168.1.1 --ports 22,80,443,3306,8080 ``` ## 🔍 扫描阶段 | 阶段 | 模块 | 功能说明 | |-------|--------|-------------| | 1 | `info_gathering.py` | DNS 解析、SSL 证书、技术栈、云服务提供商 | | 2 | `port_scanner.py` | 多线程扫描常见(或自定义)端口 | | 3 | `web_scanner.py` | 安全标头、敏感文件、目录列表 | | 4 | `service_detector.py` | Banner 抓取 → 软件名称 + 版本 | | 5 | `vulnerability_analyzer.py` | CVE 匹配、风险评分 (0–100)、去重 | | 6 | `remediation.py` | 查找并附加可操作的修复步骤 | | 7 | `report_generator.py` | 控制台显示 + `.txt` + `.html` 报告 | | 8 | `feedback.py` | 可选的 1–5 星评分 + 评论 | | 9–10 | `scan_history.py` | 保存基线、快速重新验证(3 次机会)、自动删除 | ## 🔄 重新验证系统 扫描完成后,您可以保存结果以供日后重新检查: ``` Do you want to save these vulnerabilities for future re-verification? (yes/no): ``` - 每次保存的扫描会授予 **3 次机会**。 - **快速重新验证** 仅重新检查之前发现的问题(消耗 1 次机会)。 - **完整扫描** 将使用新的基线再次运行完整的 pipeline。 - ⚠️ **当 3 次机会全部用完后,保存的文件将被自动删除。** ## 📊 风险评分 | 分数 | 等级 | |-------|-------| | 0–39 | 🟢 低 | | 40–69 | 🟡 中 | | 70–100 | 🔴 高 / 严重 | 评分权重:严重=25分,高=10分,中=4分,低=1分(最高 100 分)。 ## ⚙️ 配置 (`config.py`) | 设置 | 默认值 | 描述 | |---------|---------|-------------| | `MAX_TARGETS_PER_SESSION` | 20 | 每次运行的最大目标数 | | `PORT_SCAN_TIMEOUT` | 1.0s | 每个端口的超时时间 | | `MAX_THREADS` | 100 | 并发扫描线程 | | `RE_VERIFY_CHANCES` | 3 | 每次保存扫描的重新验证机会 | ## 📦 依赖项 **无。** 仅使用 Python 标准库: `socket`, `struct`, `ssl`, `json`, `os`, `re`, `datetime`, `concurrent.futures`, `urllib` 要求 **Python 3.10+**(使用 `str | None` union 语法)。
标签:Python, 加密, 实时处理, 密码管理, 插件系统, 数据统计, 无后门, 服务器安全, 漏洞扫描器, 端口扫描, 逆向工具