NucleiテンプレートにおけるCVEカバレッジを分析するための高速CLIツールです。
Nuclei CVE AnalyzerはCVE IDのリストを受け取り、ローカルのNucleiテンプレートリポジトリをスキャンして、どのCVEに一致するテンプレートが既に存在するか、またどれがテンプレートカバレッジの潜在的なギャップを表しているかを判定します。
セキュリティ研究者、脆弱性ハンター、そして不足しているCVEカバレッジを素早く特定したいNucleiコントリビューター向けに構築されています。
このプロジェクトは、外部の脆弱性スコアリングやエンリッチメントサービスではなく、意図的にテンプレートカバレッジに焦点を当てています。
入力:
CVE-2021-44228
CVE-2021-45046
CVE-2022-26134
CVE-2023-21840
CVE-2023-22809
出力例:
CVE STATUS
CVE-2021-44228 FOUND
CVE-2021-45046 FOUND
CVE-2022-26134 FOUND
CVE-2023-21840 MISSING
CVE-2023-22809 MISSING
これにより、新しいNucleiテンプレートの候補となり得るCVEを簡単に見つけることができます。
リポジトリをクローンします:
git clone https://github.com/YOUR_USERNAME/nuclei-cve-analyzer.git
cd nuclei-cve-analyzer
仮想環境を作成します:
python3 -m venv .venv
source .venv/bin/activate
依存関係をインストールします:
pip install -r requirements.txt
python3 nuclei_analyzer.py \
-f example_cves.txt \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-o output/results.json \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py \
--scan-system \
-n /path/to/nuclei-templates
python3 nuclei_analyzer.py --help
| 引数 | 説明 |
|---|---|
-f, --file | CVE ID を含む入力ファイル |
-n, --nuclei-path | Nuclei テンプレートディレクトリへのパス |
-c, --cve-path | ローカル CVE データベースディレクトリ |
-t, --threads | 分析ワーカースレッド数 |
-o, --output | 統合 JSON 出力ファイル |
--scan-system | 一般的なシステムロケーションで CVE ID を検索 |
-v, --verbose | 詳細ログを有効化 |
--log-level | ログレベルを設定 |
アナライザーは出力ディレクトリ内に複数のレポートを生成します。
完全な分析結果を含みます:
output/results_YYYYMMDD_HHMMSS.json
入力セットのうち、一致する Nuclei テンプレートが存在する CVE:
output/found_cves.json
入力セット内で一致するテンプレートがないCVE:
output/missing_templates.json
スキャンされた Nuclei テンプレートによって参照されるすべての CVE:
output/used_cves.json
現在テンプレートが不足しているCVEの厳選リスト:
output/priority_report.json
結果のスプレッドシート向けバージョン:
output/results.csv
テンプレートのギャップを特定するための典型的なワークフロー:
# Prepare a list of CVEs
cat example_cves.txt
# Scan the Nuclei repository
python3 nuclei_analyzer.py \
-f example_cves.txt \
-t 16 \
-n ~/nuclei-templates
その後、アナライザーはどの CVE がすでにカバーされているか、またどの CVE に現在一致するテンプレートがないかを報告します。
新しい検出テンプレートが必要となる可能性のある CVE を特定します。
脆弱性リストを既存の Nuclei カバレッジとすばやく比較します。
データセット内のどの脆弱性が Nuclei を使用してすでに検出可能かを判断します。
生成された JSON または CSV レポートを他の分析パイプラインへの入力として使用します。
このプロジェクトは CVE から Nuclei テンプレートへのカバレッジ分析 に積極的に焦点を当てています。
目標は、汎用の脆弱性エンリッチメントプラットフォームに変えるのではなく、ツールを軽量で高速、かつ焦点を絞ったものに保つことです。
予定されている改善には以下が含まれます:
依存関係は以下でインストールします:
pip install -r requirements.txt
コントリビューション、バグ報告、改善提案を歓迎します。
プルリクエストを送信する際は:
このプロジェクトは セキュリティ研究、脆弱性分析、および許可されたテスト を目的としています。
分析が許可されているシステム、リポジトリ、およびデータセットに対してのみ使用してください。
ここにプロジェクトのライセンスを追加してください。
Nuclei CVE Analyzer
Nuclei テンプレートの CVE カバレッジ分析