softwacar/vuln-scanner
GitHub: softwacar/vuln-scanner
一款基于 CVSS 评分的网络漏洞评估工具,支持合规映射与专业 PDF 报告生成,帮助团队快速完成风险评估与合规审计。
Stars: 0 | Forks: 0
# VulnScan — 风险与漏洞报告系统
一款网络漏洞评估工具,可模拟端口扫描,使用基于 CVSS 的引擎计算风险评分,将发现的问题映射到合规框架,并生成专业的 PDF 报告。
## 截图
### 仪表盘

### 端口选择 — 高危筛选

### 扫描结果 — 发现详情

### 发现详情 — CVE 与修复建议

### 合规映射 — ISO 27001 & NIST

### 修复路线图

## 功能
- **端口扫描器模拟** — 跨 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, 企业合规, 修复路线图, 合规映射, 多模态安全, 安全测试, 插件系统, 攻击性安全, 数字签名, 数据可视化, 数据统计, 无后门, 无线安全, 漏洞管理, 漏洞评估, 端口扫描, 网络安全, 网络安全审计, 网络扫描器, 网络测绘, 逆向工具, 隐私保护, 风险量化