taadithiya/Vulnerability-Assessment
GitHub: taadithiya/Vulnerability-Assessment
一款基于浏览器的漏洞评估分析器,可将授权的 Nmap XML 扫描结果转化为结构化的安全仪表板和可打印报告。
Stars: 0 | Forks: 0
# VulnGuard — 漏洞评估分析器
VulnGuard 是一款基于浏览器的网络安全应用,可将授权的 Nmap XML 扫描结果转化为结构化的漏洞评估仪表板。
它能提取已发现的资产、开放端口、服务、软件详情、潜在的安全暴露、严重级别、风险评分以及修复建议。
## 在线演示
[打开 VulnGuard — 漏洞评估分析器](https://taadithiya.github.io/Vulnerability-Assessment/)
## 代码仓库
[在 GitHub 上查看 VulnGuard 源代码](https://github.com/taadithiya/Vulnerability-Assessment)
## 项目概述
以原始 XML 格式审查漏洞评估扫描结果可能非常困难。
VulnGuard 提供了一个简单的界面,允许用户直接在浏览器中上传并分析授权的 Nmap XML 文件。
该应用程序会将扫描结果转换为:
- 资产清单
- 开放端口摘要
- 服务清单
- 潜在的安全发现
- 严重性分布
- 风险评分
- 修复建议
- 可打印的评估报告
## 核心功能
- 上传并分析 Nmap XML 文件
- 在浏览器本地处理扫描文件
- 提取活跃的主机和主机名
- 识别开放的 TCP 和 UDP 端口
- 提取协议、服务、产品和版本
- 在可用时显示操作系统信息
- 使用预定义规则检测潜在的服务暴露
- 按严重性对发现进行分类
- 计算总体评估风险评分
- 按主机、端口、服务或描述搜索发现
- 按严重性筛选发现
- 生成修复建议
- 加载内置的示例评估
- 清除评估结果
- 打印或将报告保存为 PDF
- 适用于桌面和移动设备的响应式界面
- 自定义 GitHub Pages 404 页面
## 技术栈
- HTML5
- CSS3
- JavaScript
- DOMParser API
- Nmap XML
- Git
- GitHub
- GitHub Pages
## 应用程序工作流程
```
Authorized target
↓
Nmap scan
↓
XML output generated using -oX
↓
Upload XML file to VulnGuard
↓
Browser-side XML parsing
↓
Asset and service inventory
↓
Potential exposure detection
↓
Severity classification
↓
Risk scoring
↓
Remediation guidance
↓
Printable assessment report
```
## 截图
### 安全仪表板

### 资产与服务清单

### 评估发现

### 可打印报告

## 生成 Nmap XML 文件
请仅对您拥有或获得明确授权评估的系统运行 Nmap。
常规命令:
```
nmap -sV -oX scan-results.xml
```
示例:
```
nmap -sV -oX scan-results.xml 192.168.1.10
```
包含操作系统检测:
```
sudo nmap -sV -O -oX scan-results.xml
```
## 使用端口 8000 进行本地测试
启动一个临时的 Python Web 服务器:
```
python3 -m http.server 8000 --bind 127.0.0.1
```
保持该终端窗口处于打开状态。
在另一个终端窗口中,运行:
```
nmap -Pn -sV -p 8000 \
-oX assets/samples/localhost-scan.xml \
127.0.0.1
```
将 `localhost-scan.xml` 上传到 VulnGuard 并点击 **Analyze Scan**。
之后使用以下命令停止临时服务器:
```
Control + C
```
## 在本地运行项目
克隆代码仓库:
```
git clone https://github.com/taadithiya/Vulnerability-Assessment.git
```
进入项目目录:
```
cd Vulnerability-Assessment
```
在 Visual Studio Code 中打开项目:
```
code .
```
在 Visual Studio Code 中安装 **Live Server** 扩展。
打开 `index.html`,然后点击 **Go Live**。
应用程序应在类似于以下地址打开:
```
http://127.0.0.1:5500/index.html
```
## 如何使用 VulnGuard
1. 打开 VulnGuard 应用程序。
2. 点击 **Choose XML File**。
3. 选择一个授权的 Nmap XML 扫描文件。
4. 点击 **Analyze Scan**。
5. 查看仪表板摘要。
6. 查看已发现的资产和服务。
7. 查看生成的潜在发现。
8. 在需要时使用搜索和严重性筛选器。
9. 查看修复建议。
10. 点击 **Print Report** 将评估打印或保存为 PDF。
您也可以点击 **Load Sample Scan**,无需上传文件即可测试应用程序。
## 风险评分
VulnGuard 使用以下严重性权重:
| 严重性 | 评分 |
|---|---:|
| 严重 | 10 |
| 高 | 7 |
| 中 | 4 |
| 低 | 1 |
| 信息 | 0 |
总体风险等级:
| 总分 | 风险等级 |
|---:|---|
| 0(包含已分析资产) | 信息 |
| 1–5 | 低 |
| 6–15 | 中 |
| 16–30 | 高 |
| 31 及以上 | 严重 |
## 支持的暴露规则
VulnGuard 目前包含针对以下潜在暴露的规则:
| 端口 | 服务 | 默认严重性 |
|---:|---|---|
| 21 | FTP | 中 |
| 23 | Telnet | 高 |
| 25 | SMTP | 低 |
| 53 | DNS | 低 |
| 80 | HTTP | 中 |
| 110 | POP3 | 中 |
| 139 | NetBIOS | 中 |
| 143 | IMAP | 中 |
| 445 | SMB | 中 |
| 1433 | Microsoft SQL Server | 高 |
| 3306 | MySQL | 中 |
| 3389 | RDP | 高 |
| 5432 | PostgreSQL | 中 |
| 5985 | WinRM | 低 |
| 6379 | Redis | 高 |
| 8000 | 备用 HTTP 开发服务 | 低 |
| 27017 | MongoDB | 高 |
这些规则仅用于识别潜在的暴露,并不能确认存在漏洞。
## 隐私
上传的扫描文件会在浏览器本地进行处理。
VulnGuard 不会:
- 将扫描文件上传到外部服务器
- 将扫描结果存储在数据库中
- 将扫描数据发送给第三方服务
- 需要账户或登录
刷新或关闭页面会清除已分析的数据。
## 评估限制
开放的端口或检测到的服务并不自动代表已确认的漏洞。
- 利用漏洞
- 确认 CVE
- 执行经过身份验证的扫描
- 验证补丁状态
- 确认配置缺陷
- 计算官方的 CVSS 评分
- 替代手动安全测试
- 替代专业的漏洞管理平台
所有生成的发现都需要人工验证。
## 道德使用
本项目仅适用于:
- 授权的漏洞评估
- 个人系统
- 受控的实验室环境
- 教育
- 网络安全研究
- 作品集展示
未经明确授权,请勿扫描系统、网络、应用程序或设备。
## 项目结构
```
Vulnerability-Assessment/
├── index.html
├── style.css
├── script.js
├── 404.html
├── README.md
├── .gitignore
├── .nojekyll
├── assets/
│ ├── icons/
│ ├── images/
│ └── samples/
├── Documentation/
├── Evidence/
├── Reports/
├── Sample-Data/
├── Scan-Results/
├── Screenshots/
│ ├── dashboard.png
│ ├── assets-services.png
│ ├── findings.png
│ └── report-preview.png
└── Scripts/
```
## 未来改进
计划中的改进包括:
- CVSS 评分
- CVE 丰富化
- 服务版本分析
- 防止重复发现
- 评估元数据
- 分析师姓名和范围字段
- JSON 导出
- CSV 导出
- 改进的 PDF 报告模板
- 支持 Nessus CSV
- 支持 OpenVAS CSV
- 额外的暴露规则
- 单元测试和集成测试
- 拖拽上传 XML
- 深色和浅色主题
## 安全提示
本仓库中包含的示例文件和截图应仅包含 localhost 或受控实验室信息。
请勿提交:
- 客户扫描结果
- 来自真实组织的私有 IP 清单
- 密码
- 身份验证 token
- API 密钥
- 敏感报告
- 机密截图
## 作者
**Aadithya T**
网络安全 | 威胁情报 | 安全运营 | 漏洞管理 | 网络防御
## 许可协议
本项目提供用于教育、研究、授权评估和作品集展示。
请负责任地使用本应用程序,并仅在您拥有明确权限的系统和环境中使用。
标签:数据可视化, 自定义脚本