miiidev/blacklight-cli
GitHub: miiidev/blacklight-cli
blacklight-cli 是一款本地网络漏洞扫描器,将 nmap 服务探测与 NVD CVE、EPSS、CISA KEV 情报结合,为主机进行风险评分并输出多格式报告。
Stars: 0 | Forks: 0
# blacklight-cli
本地网络漏洞扫描器。运行 nmap 服务/版本检测
(`-sV`),将检测到的服务与 NVD CVE 数据库进行匹配,叠加
漏洞利用情报(FIRST EPSS + CISA KEV),为每个主机
按风险打分 0-100,并在终端中打印按严重程度排序的报告,
支持可选的 HTML/Markdown/JSON 导出。
## 安装
要求 **Python 3.11+** 和 **nmap** 二进制文件(系统包):
- Debian/Ubuntu: `sudo apt install nmap`
- macOS: `brew install nmap`
- Windows: `choco install nmap`
然后安装该包(建议:在隔离的环境中安装):
```
pipx install blacklight-cli # isolated env, recommended
# 或者:pip install blacklight-cli # 安装到您当前的 env 中
```
## 用法
```
# 扫描私有子网(默认拒绝:公共范围被阻止,
# 除非您传入 --i-have-permission)
blacklight scan 192.168.1.0/24
# 扫描特定端口,导出 HTML 报告
blacklight scan 192.168.1.10 --ports 22,80,443 -o report.html
# 扫描您已授权测试的公共主机(交互式确认)
blacklight scan 203.0.113.10 --i-have-permission
# 用于脚本化的 JSON 导出
blacklight scan 192.168.1.0/24 --format json -o scan.json
```
### NVD API key(可选)
免费的 NVD API key 可将速率限制从每 30 秒 5 个请求提高到 50 个请求。只需设置一次:`export BLACKLIGHT_NVD_KEY=your-key`
(在 https://nvd.nist.gov/developers/request-an-api-key 申请)
## 工作原理
1. **扫描** — 调用 shell 执行 `nmap -sV -oX -`,解析主机/端口/服务/版本。
2. **匹配** — 将每个服务映射到 CPE 标识符,并查询 NVD 获取
受影响的 CVE(缓存在 `~/.blacklight/cache/` 中,每周刷新)。
3. **丰富** — 添加 FIRST EPSS 漏洞利用概率,并为
CISA 已知被利用漏洞列表中的 CVE 添加徽章(数据源每日
刷新)。
4. **打分** — 每个主机获得一个 0-100 的风险分数:
基于严重程度加权的基础分(critical=20,high=10,medium=4,low=1,上限为
60)+ 每个 KEV 发现项 10 分(上限为 20)+ 最大 EPSS x 10;总分上限为
100。
5. **报告** — 按 CVSS 排序的富终端表格、摘要面板,以及
HTML/Markdown/JSON 导出。
## 安全护栏
- 默认情况下,仅允许扫描私有 RFC1918 地址范围和 loopback。
- 公共目标需要使用 `--i-have-permission` 并进行交互式
确认。
- 每次扫描都会将时间戳、目标和结果记录到
`~/.blacklight/scan.log` 中。
## Web 扫描
探测 Web 应用程序的常见配置错误和注入缺陷
(被动、基于错误的检测 — 无漏洞利用,无盲注/时间延迟技术)。
```
# 扫描本地 Web 应用(私有目标无需 flag)
blacklight web http://127.0.0.1:8080
# 扫描您已授权测试的公共站点(交互式确认)
blacklight web https://example.com --i-have-permission
# 导出
blacklight web http://127.0.0.1:8080 -o web_report.html
```
检查:缺失的安全标头(X-Frame-Options、CSP、HSTS 等)、暴露的
文件和管理路径(`.git/config`、`.env`、`phpinfo`、`wp-admin`、备份)、目录
列表、默认安装页面、针对发现的 GET 参数的基于错误的 SQLi / 反射型 XSS /
命令注入探测,以及技术指纹
(服务器/框架版本),这些数据通过
与网络扫描相同的 CPE → NVD CVE 流水线进行处理。Web 扫描发现的漏洞仅按严重程度打分 — 基于 CVE 的行会显示
EPSS/KEV 丰富信息,但不会计入 Web 分数(设计上保持
保守)— 并在
HTML/Markdown/JSON 报告中与网络扫描发现项一起导出。
## 开发
```
pip install -e ".[dev]"
pytest
```
## 许可证
MIT
标签:Python, 云存储安全, 威胁情报, 开发者工具, 插件系统, 无后门, 网络扫描, 逆向工具