Sombra-1/vulnmind
GitHub: Sombra-1/vulnmind
一款为渗透测试人员设计的离线安全扫描分析工具,解析 nmap/nikto 输出并自动匹配 CVE 与提供利用建议。
Stars: 1 | Forks: 0
# VulnMind
安全扫描分析工具,专为渗透测试人员设计。解析 nmap 和 nikto 输出,获取结构化发现结果,包含 CVE 匹配、优先级评级、建议命令和 Metasploit 模块 —— 即时、离线、无需安装。
```
vulnmind analyze scan.xml
```
```
VulnMind · 1 critical 2 high 1 medium 1 low
CRITICAL smb-vuln-ms17-010 on 192.168.1.10:445
Target: 192.168.1.10:445 [smb]
CVEs: CVE-2017-0144, CVE-2020-0796
SMB service detected. Check for EternalBlue (MS17-010) and SMBGhost.
These are among the most exploited vulnerabilities ever.
Next steps:
$ nmap --script smb-vuln-ms17-010 -p 445 192.168.1.10
$ nmap --script smb-vuln-cve-2020-0796 -p 445 192.168.1.10
Metasploit:
msf > use exploit/windows/smb/ms17_010_eternalblue
msf > use auxiliary/scanner/smb/smb_ms17_010
```
## 安装
```
pip install vulnmind
```
或从源码安装:
```
git clone https://github.com/sombra-1/vulnmind
cd vulnmind
pip install -e .
```
**支持的分发版:** Kali Linux、Ubuntu、Arch Linux、Parrot OS、BlackArch
**要求:** Python 3.10+
## 使用
### 基础使用 — 无需安装
```
# nmap 扫描
nmap -sV -sC -oX scan.xml 192.168.1.0/24
vulnmind analyze scan.xml
# nikto 扫描
nikto -h 192.168.1.10 -o nikto.txt
vulnmind analyze nikto.txt
# 同时扫描多个文件
vulnmind analyze scan.xml nikto.txt
```
### 深度分析(需要免费 API 密钥)
```
# 在 console.groq.com 获取免费密钥
vulnmind config set-key gsk_...
vulnmind analyze scan.xml --enrich
```
`--enrich` 会添加纯英文解释、更具体的命令以及误报评估。
### PDF 报告(增强功能)
```
vulnmind analyze scan.xml --enrich --report pdf
```
## 支持的格式
| 工具 | 格式 | 参数 |
|---|---|---|
| nmap | XML | `-oX scan.xml` |
| nmap | 文本 | `-oN scan.txt` |
| nmap | 全部格式 | `-oA scan` |
| nikto | 文本 | `-o scan.txt` |
VulnMind 会自动检测格式 —— 无需手动指定。
## 功能特性
**免费(本仓库)**
- 解析 nmap XML 和文本输出
- 解析 nikto 输出
- 离线知识库 — CVE 匹配、优先级评级、建议命令
- Metasploit 模块建议
- 多文件分析并自动去重
- 使用 Rich 输出的清晰终端界面
**增强功能(Enrich)**
- 通过 `--enrich` 进行深度分析(纯英文解释、误报过滤)
- 生成 PDF 报告
- 支持优先级
在 **vulnmind.io** 获取 Enrich 许可证(即将推出)
## 添加解析器
1. 创建 `vulnmind/parsers/yourparser.py`,继承 `BaseParser`
2. 实现 `can_parse()` 和 `parse()`
3. 在 `vulnmind/parsers/__init__.py` 中注册
```
class MyParser(BaseParser):
def can_parse(self, file_path, content_preview):
return "MyTool v" in content_preview
def parse(self, file_path, content):
# return List[Finding]
...
```
## 许可证
MIT — 可自由使用、修改和分发。
标签:CVE匹配, EternalBlue, GPT, Metasploit集成, nikto解析, nmap解析, PDF报告, SEO: 渗透测试工具, SEO: 漏洞分析, SMBGhost, SMB漏洞, 安全扫描分析, 技术栈: Python, 支持Arch Linux, 支持BlackArch, 支持Kali Linux, 支持Parrot OS, 支持Ubuntu, 文档结构分析, 无依赖工具, 漏洞优先级, 漏洞利用命令, 漏洞报告, 漏洞管理, 离线分析, 逆向工具