
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(Critical)
修正バージョン: 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
4つの事前設定済みプロファイルが利用可能です:
生成コマンド: 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レポート。
深刻度インジケーター付きの色分けされた人間可読出力。
Wikiやレポート向けのドキュメントに適した形式。
# 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
スキャナーは明示的な認可を要求します:
⚠️ AUTHORIZATION REQUIRED
You are about to scan: https://n8n.example.com:5678
Are you authorized to test this target? [y/N]:
必須:
禁止事項:
脆弱なインスタンスを発見した場合:
CVE-2026-21858 発見者:
このスキャナーは、組織がNi8mare脆弱性を特定して是正するのを支援する倫理的なセキュリティツールとして開発されました。検出のみを行い、脆弱性を悪用することは決してありません。
MITライセンス - 詳細はLICENSEファイルを参照してください。
サードパーティコンポーネント:
enhancementラベルを付けるQ: これは脆弱性を悪用しますか?
A: いいえ。検出のみで、悪用は決して行いません。
Q: 認可なしでスキャンできますか?
A: いいえ。常に事前に書面による認可を取得してください。
Q: どのバージョンが脆弱ですか?
A: 1.121.0未満のすべてのn8nバージョンが脆弱です。
Q: 検出の精度はどのくらいですか?
A: 誤検知率が低く、非常に高い精度です。
Q: CI/CDパイプラインで使用できますか?
A: はい。自動化には--no-confirmと--json-logsを使用してください。
Q: Windowsで動作しますか?
A: はい。すべての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ログ形式(自動化用)