针对 CVE-2026-21858(Ni8mare 漏洞)的道德安全扫描器
“知识就是力量,但只有负责任地分享才有效。”
针对 n8n 工作流自动化实例的全面漏洞检测工具。可检测严重的 CVE-2026-21858 漏洞(CVSS 10.0),且不执行任何利用操作。
# 进入脚本目录
cd ni8mare-scanner/scripts
# 安装依赖
pip install -r requirements.txt
# 检查某个版本是否存在漏洞
python n8n_scanner.py version-check 1.120.0
# 扫描在线实例
python n8n_scanner.py scan https://n8n.example.com:5678
# 获取 CVE 信息
python n8n_scanner.py info
严重性:CVSS 10.0(严重)
修复版本:n8n v1.121.0
发现者:Dor Attias(Cyera Research Labs)
工具维护者:GitHub 上的 CropNet,由 Schema.cx 组织研究团队维护
允许未认证攻击者通过 Content-Type 混淆读取任意文件的关键漏洞。
此扫描器仅执行非侵入式检测——绝不利用该漏洞。
# 检查存在漏洞的版本
python n8n_scanner.py version-check 1.120.0
# 输出:状态 🔴 存在漏洞(退出码 2)
# 检查安全版本
python n8n_scanner.py version-check 1.121.0
# 输出:状态 🟢 无漏洞(退出码 0)
# 基本扫描
python n8n_scanner.py scan https://n8n.example.com:5678
# 深度扫描并输出 JSON
python n8n_scanner.py scan https://n8n.example.com:5678 \
--intensity deep \
--format json \
--output report.json
# 跳过授权提示(用于已获授权的扫描)
python n8n_scanner.py scan https://n8n.example.com:5678 --no-confirm
# 创建目标文件
cat > targets.txt << EOF
https://n8n1.example.com:5678
https://n8n2.example.com:5678
https://n8n3.example.com:5678
EOF
# 扫描所有目标
python n8n_scanner.py batch targets.txt --output results.csv --format csv
# 生成 YAML 配置到标准输出
python n8n_scanner.py generate-config --format yaml
# 生成 JSON 配置到文件
python n8n_scanner.py generate-config --format json --output config.json
# 使用配置文件进行扫描
python n8n_scanner.py scan https://n8n.example.com:5678 --config config.json
scan 命令python n8n_scanner.py scan <target> [OPTIONS]
选项:
--intensity, -i - 扫描强度:light、medium、deep(默认:medium)--output, -o - 输出文件路径--format, -f - 输出格式:json、csv、html、text、markdown--timeout, -t - 请求超时时间(秒)(默认:30)--delay, -d - 请求之间的延迟(默认:2.0)--no-confirm - 跳过授权确认--config, -c - 配置文件路径version-check 命令python n8n_scanner.py version-check <version_or_url>
退出码:
0 - 版本安全(已修补)1 - 发生错误2 - 版本存在漏洞示例:
# 检查版本字符串
python n8n_scanner.py version-check 1.120.0
# 检查在线实例版本
python n8n_scanner.py version-check https://n8n.example.com:5678
# config.yml
scan:
intensity: medium
timeout: 30
rate_limit:
delay: 2.0
max_requests: 100
targets:
- https://n8n.example.com:5678
require_confirmation: true
output:
format: json
directory: ./reports
提供四种预配置配置文件:
使用以下命令生成:python n8n_scanner.py generate-config --profile thorough
{
"target": "https://n8n.example.com:5678",
"version": "1.120.0",
"vulnerable": true,
"cve": "CVE-2026-21858",
"severity": "CRITICAL"
}
Target,Version,Vulnerable,CVE,Severity
https://n8n.example.com:5678,1.120.0,true,CVE-2026-21858,CRITICAL
带有样式和图表的专业 HTML 报告。
带有严重性指示器的彩色人类可读输出。
适用于维基和报告的文档友好格式。
# 使用 Docker Compose 构建
docker-compose build
# 运行命令
docker-compose run --rm scanner version-check 1.120.0
docker-compose run --rm scanner scan https://n8n.example.com:5678 --no-confirm
# 使用挂载文件进行批量扫描
docker-compose run --rm \
-v $(pwd)/targets.txt:/app/targets.txt \
scanner batch /app/targets.txt
ni8mare-scanner/
├── scripts/
│ ├── n8n_scanner.py # 主 CLI
│ ├── modules/ # 核心模块
│ │ ├── scanner.py # 扫描逻辑
│ │ ├── detector.py # 漏洞检测
│ │ ├── reporter.py # 报告生成
│ │ ├── config.py # 配置
│ │ └── utils.py # 工具函数
│ ├── tests/ # 测试套件
│ └── build.py # 构建自动化
├── docs/ # 文档
└── docker/ # Docker 配置
# 快速功能测试(推荐)
cd scripts
python quick_test.py
# 完整测试套件
python build.py test
# 测试特定模块
python -m pytest tests/test_config.py -v
快速测试结果:
[Test] Version Vulnerability Detection [OK]
[Test] Configuration Loading [OK]
[Test] Scanner Creation [OK]
[Test] Detector Creation [OK]
[Test] Reporter Creation [OK]
[Test] Utility Functions [OK]
Results: 6 passed, 0 failed
# 安装依赖
python build.py install
# 运行所有测试
python build.py test
# 运行代码检查
python build.py lint
# 格式化代码
python build.py format
# 构建发行版
python build.py build
# 清理构建产物
python build.py clean
# 完整构建流程
python build.py all
扫描器要求明确授权:
⚠️ 需要授权
您即将扫描:https://n8n.example.com:5678
您是否已获授权测试此目标?[y/N]:
要求:
禁止:
如果您发现存在漏洞的实例:
CVE-2026-21858 由以下人员发现:
此扫描器作为道德安全工具开发,旨在帮助组织识别和修复 Ni8mare 漏洞。它仅执行检测,绝不利用漏洞。
MIT 许可证 - 详情请参阅 LICENSE 文件。
第三方组件:
enhancement 标签标记问:此工具会利用漏洞吗?
答:不会。仅进行检测,绝不利用。
问:我可以在未经授权的情况下扫描吗?
答:不可以。必须首先获得书面授权。
问:哪些版本存在漏洞?
答:所有低于 1.121.0 的 n8n 版本均存在漏洞。
问:检测的准确度如何?
答:准确度非常高,误报率低。
问:我可以在 CI/CD 流水线中使用此工具吗?
答:可以。使用 --no-confirm 和 --json-logs 进行自动化。
问:它支持 Windows 吗?
答:支持。所有 Unicode 兼容性问题均已解决。
cd ni8mare-scanner/scripts
pip install -r requirements.txt
# 版本检查
python n8n_scanner.py version-check 1.120.0
# 扫描实例
python n8n_scanner.py scan https://n8n.example.com:5678
# 批量扫描
python n8n_scanner.py batch targets.txt
# 生成配置
python n8n_scanner.py generate-config --format yaml > config.yml
# 显示帮助
python n8n_scanner.py --help
python n8n_scanner.py scan --help
0 = 安全/成功1 = 错误2 = 存在漏洞为安全社区倾心打造 ❤️
此工具按现状提供,仅用于道德安全测试。作者不对因使用此工具造成的滥用或损害负责。
| 命令 | 描述 | 示例 |
|---|
scan | 扫描单个目标 | python n8n_scanner.py scan <target> |
batch | 扫描多个目标 | python n8n_scanner.py batch targets.txt |
version-check | 检查版本漏洞 | python n8n_scanner.py version-check 1.120.0 |
generate-config | 生成配置模板 | python n8n_scanner.py generate-config --format yaml |
info | 显示 CVE 信息 | python n8n_scanner.py info |
connectivity | 测试连接 | python n8n_scanner.py connectivity <target> |
--verbose, -V - 详细输出--json-logs - JSON 日志格式(用于自动化)