Sumeru-M/Automated_Vulnerability_scanner
GitHub: Sumeru-M/Automated_Vulnerability_scanner
一款基于 Python 的模块化漏洞扫描器,通过端口、服务识别与 CVE 匹配实现自动化风险评估与可视化报告。
Stars: 0 | Forks: 0
# 自动漏洞扫描器
这是一个基于 Python 的模块化漏洞扫描器,执行端口扫描、基础服务识别和使用 CVE 数据集进行漏洞检查。它还包含性能指标和使用 Streamlit 界面可视化扫描结果的交互功能。
## 概述
该扫描器允许您通过识别开放端口、检测运行中的服务,并使用简单的 CVE 数据集将其映射到已知漏洞,从而分析目标系统。该项目设计易于理解,同时仍反映网络安全性工具中使用的现实概念。
## 功能
- 可配置范围内的端口扫描
- 并发扫描以提升性能
- 用于服务检测的横幅抓取(Banner Grabbing)
- 使用本地数据集的 CVE 查找
- 扫描指标,如持续时间和成功率
- 使用 Streamlit 构建的交互式仪表板
- 表格结果和基础可视化
- CSV 导出支持
- 无效输入和超时处理
## 项目结构
automated_vulnerability_scanner/
│
├── scanner/
│ ├── port_scanner.py
│ ├── banner_grabber.py
│ └── service_detector.py
│
├── vulnerabilities/
│ └── cve_lookup.py
│
├── metrics/
│ └── metrics.py
│
├── reports/
│ └── report_generator.py
│
├── visualization/
│ └── plotter.py
│
├── ui/
│ └── streamlit_app.py
│
├── data/
│ └── sample_cve.json
│
├── config.py
├── main.py
└── requirements.txt
## 安装
git clone https://github.com/your-username/automated_vulnerability_scanner.git
cd automated_vulnerability_scanner
pip install -r requirements.txt
## 用法
运行命令行版本:
python main.py
运行 Streamlit 界面:
streamlit run ui/streamlit_app.py
## 示例目标
仅扫描您拥有或获得许可测试的系统:
- 127.0.0.1(本地主机)
- scanme.nmap.org(公共测试服务器)
- 您的本地网络设备(192.168.x.x)
## 示例输出
扫描摘要
- 持续时间:12.4 秒
- 总端口数:1023
- 开放端口数:2
- 成功率:0.19%
端口:22
服务:OpenSSH
漏洞:CVE-2018-15473
端口:80
服务:Apache
漏洞:CVE-2021-41773
## 工作原理
该应用程序将目标解析为 IP 地址,并使用套接字连接扫描一系列端口。对于开放端口,它会获取服务横幅并与 CVE 数据集进行比较。结果将以结构化格式和可视化形式呈现。
## 免责声明
本项目仅用于教育目的。请仅扫描您拥有或明确获得许可测试的系统。
## 技术栈
- Python
- 套接字编程
- Streamlit
- Pandas
- Matplotlib
## 后续改进
- 与真实的 CVE 数据库(如 NVD)集成
- 异步扫描以提升性能
- 改进的服务指纹识别
- 支持更多格式的可导出报告
- 扫描历史记录跟踪
标签:API密钥检测, Banner抓取, CVE匹配, Kubernetes, Python扫描器, Qt框架, Streamlit仪表盘, URL短链接分析, 交互式仪表板, 动态报告, 反取证, 安全, 安全评估, 实时可视化, 并发扫描, 开源安全工具, 性能指标, 扫描度量, 数据统计, 服务探测, 服务识别, 本地数据集, 模块化设计, 端口扫描, 系统分析, 网络分析, 网络安全, 自动化修复, 超时处理, 输入验证, 逆向工具, 逆向工程平台, 隐私保护