softwacar/vuln-scanner

GitHub: softwacar/vuln-scanner

一款基于 CVSS 评分的网络漏洞评估工具,支持合规映射与专业 PDF 报告生成,帮助团队快速完成风险评估与合规审计。

Stars: 0 | Forks: 0

# VulnScan — 风险与漏洞报告系统 一款网络漏洞评估工具,可模拟端口扫描,使用基于 CVSS 的引擎计算风险评分,将发现的问题映射到合规框架,并生成专业的 PDF 报告。 ## 截图 ### 仪表盘 ![仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4ea9c6caa5051533.png) ### 端口选择 — 高危筛选 ![端口选择](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/3c2dbd1352051534.png) ### 扫描结果 — 发现详情 ![发现详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8b6d8dea18051535.png) ### 发现详情 — CVE 与修复建议 ![发现详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/651c7b499a051535.png) ### 合规映射 — ISO 27001 & NIST ![合规](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a01b4f9960051536.png) ### 修复路线图 ![路线图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2a029c5beb051537.png) ## 功能 - **端口扫描器模拟** — 跨 5 种可配置配置文件(快速、标准、完整、隐蔽、激进)扫描 19 个常见端口 - **基于 CVSS 的风险评分** — 根据扫描类型和网络暴露情况调整基准分数的上下文评分引擎 - **5 种风险类别** — 严重、高危、中危、低危、信息,带有颜色编码的分类 - **合规映射** — 自动映射到 ISO/IEC 27001:2022、NIST SP 800-53 Rev5 和 OWASP Top 10 (2021) - **PDF 报告生成** — 5 个部分的专业报告:封面、执行摘要、发现详情、合规性、修复路线图 - **发现详情模态框** — 每个服务的 CVE 示例、修复步骤和合规控制措施 ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | Python 3, Flask, Flask-CORS | | PDF 生成 | ReportLab | | 前端 | HTML, CSS, Vanilla JavaScript | | 字体 | system-ui (操作系统默认) | ## 项目结构 ``` vuln-scanner/ ├── app.py # Flask backend, scanner engine, PDF generator ├── templates/ │ └── index.html # Frontend markup ├── static/ │ ├── style.css # UI styles │ └── script.js # Frontend logic ├── screenshots/ # README screenshots ├── reports/ # Generated PDFs (git-ignored) └── requirements.txt ``` ## 安装说明 ``` # Clone the repository git clone https://github.com/YOUR_USERNAME/vuln-scanner.git cd vuln-scanner # 创建并激活 virtual environment python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # macOS/Linux # 安装 dependencies pip install flask flask-cors reportlab # 运行 python app.py ``` 在浏览器中打开 `http://127.0.0.1:5000`。 ## 工作原理 ### 风险评分引擎 每个端口在服务数据库中都有一个定义好的基准 CVSS 评分。`calculate_cvss_score()` 函数会应用上下文修饰符: - **激进 / 完整扫描** → 将目标视为暴露在互联网中 → 分数乘以 1.15 - **内部扫描** → 分数降低 15% - **隐蔽扫描** → 应用身份验证惩罚 → 分数降低 1.2 分 - 微小的随机方差 (±0.3) 模拟了真实扫描器的行为 ### 合规映射器 每项发现都包含三个框架的合规元数据。`build_compliance_report()` 函数汇总所有违规情况,并按控制 ID 进行分组,显示哪些服务触发了哪些控制措施。 示例:开放的 Telnet 端口 (23) 违反了: - ISO 27001: A.13.1.1, A.9.4.3, A.12.6.1 - NIST: AC-17, SC-8, CM-7 - OWASP: A02:2021, A05:2021 ### PDF 报告结构 | 部分 | 内容 | |---|---| | 封面 | 目标、扫描类型、报告 ID、总体风险评分 | | 执行摘要 | 各严重程度的发现数量、风险描述 | | 发现表格 | 所有开放端口及其 CVSS 评分 | | 详细发现 | 各个服务的 CVE、修复步骤 | | 合规映射 | 框架控制措施及受影响的服务 | | 修复路线图 | 基于严重程度的时间表 (24小时 → 90天) | ## API 接口 | 方法 | 端点 | 描述 | |---|---|---| | GET | `/` | Web 界面 | | POST | `/api/scan` | 运行扫描 | | POST | `/api/report` | 生成 PDF | | GET | `/api/download/` | 下载 PDF | | GET | `/api/ports` | 端口数据库 | | GET | `/api/health` | 健康检查 |
标签:AES-256, CMS安全, CSS, CVE, CVSS评分, Flask, GPT, HTML, ISO 27001, JavaScript, NIST SP 800-53, OWASP Top 10, PDF报告生成, Python, ReportLab, 企业合规, 修复路线图, 合规映射, 多模态安全, 安全测试, 插件系统, 攻击性安全, 数字签名, 数据可视化, 数据统计, 无后门, 无线安全, 漏洞管理, 漏洞评估, 端口扫描, 网络安全, 网络安全审计, 网络扫描器, 网络测绘, 逆向工具, 隐私保护, 风险量化