
ingress-nginxのCVE-2025-1974を研究するためのWindows 11ファーストの教育用ラボ。ローカルKubernetesクラスター、バージョン評価、レポート生成を備えた安全な攻撃エミュレーションと防御検証を提供し、コースワークやデモに使用できます。
Windows 11 ファーストの教育用リポジトリ。安全で非兵器化された ATTACK + DEFENSE ラボで CVE-2025-1974 を学習することを目的としています。このプロジェクトは、大学の課題、チームデモ、レポート用スクリーンショットの作成を想定して設計されています。クリーンルーム実装、ローカル限定の検証、そして実際のエクスプロイトには決してならないレッドチーム風の攻撃エミュレーションを重視しています。
このラボは、CVE-2025-1974 が ingress-nginx に影響するという公式ベースラインを扱っています。影響を受けるバージョンは < 1.11.0、1.11.0〜1.11.4、1.12.0 で、修正バージョンは 1.11.5、1.12.1 およびそれ以降のリリースです。また、アップグレードが完了するまで Validating Admission Controller を無効化するという公式の一時的な緩和策も反映しています。
このリポジトリは意図的にエクスプロイトコードを実装・移植・運用化していません。その代わりに、防御側が推論するであろう段階を示す安全な攻撃フローエミュレーターを提供します:
攻撃経路は、サニタイズされたフィクスチャ、ローカル状態、シミュレーターのステージマーカーのみで表現されています。悪意のある AdmissionReview ペイロード、コード実行ペイロード、シェル、設定インジェクション、エクスプロイト配信メカニズムは一切含まれていません。
flowchart LR
A["PowerShell Wrappers<br/>Windows 11-first UX"] --> B["Python CLI<br/>app.main"]
B --> C["Preflight Checks<br/>Windows, Docker, kubectl, kind, Python 3.11"]
B --> D["Cluster Assessment<br/>kind + kubectl on localhost"]
B --> E["Attack Simulator<br/>sanitized fixtures only"]
B --> F["Mitigation Checks<br/>version + admission state"]
B --> G["Detections<br/>lab-specific simulated indicators"]
E --> H["reports/attack_simulation.log"]
F --> I["reports/defense_scan.json"]
G --> J["reports/timeline.csv + timeline.json"]
H --> K["Markdown Report Writer"]
I --> K
J --> K
K --> L["reports/latest-report.md"]Track A: Attack Emulation
エクスプロイトを実行せずに攻撃者のワークフローのように動作する、スクリーンショット対応のシミュレーターを実行します。Track B: Defense Validation
使い捨てのラボクラスターに対して実際のローカルチェックを実行し、バージョンと緩和策の状態を評価します。Windows 11-first
主要なワークフローにはすべて PowerShell ラッパーと Python 3.11 CLI の同等機能があります。Reporting
授業の提出やデモに適した Markdown、JSON、CSV、コンソールの書き起こしを生成します。kubectlkindpwsh ./scripts/setup-win11.ps1
pwsh ./scripts/start-lab.ps1
pwsh ./scripts/run-defend-scan.ps1
pwsh ./scripts/run-attack-sim.ps1
pwsh ./scripts/generate-report.ps1
python -m app.main preflight
python -m app.main defend-scan
python -m app.main attack-sim
python -m app.main report
python -m app.main cleanup
pwsh ./scripts/setup-win11.ps1
pwsh ./scripts/start-lab.ps1
pwsh ./scripts/run-attack-sim.ps1
pwsh ./scripts/run-defend-scan.ps1
pwsh ./scripts/generate-report.ps1
pwsh ./scripts/cleanup.ps1
============================================================
CVE-2025-1974 Windows 11 Attack + Defense Lab
============================================================
[PRECHECK] Windows 11 assumptions .............. PASS
[PRECHECK] Docker Desktop ...................... PASS
[PRECHECK] kubectl ............................. PASS
[PRECHECK] kind ................................ PASS
[PRECHECK] Python 3.11 ......................... PASS
[SCAN] Cluster name: cve-2025-1974-lab
[SCAN] ingress-nginx detected .................. YES
[SCAN] Controller version ...................... 1.11.4
[SCAN] Validating Admission Controller ......... ENABLED
[SCAN] Version assessment ...................... AFFECTED
[SCAN] Risk summary ............................ Upgrade to 1.11.5+ or 1.12.1+ and disable admission until upgraded.
[SIM] ATTACK_PATH_IDENTIFIED
[SIM] VALIDATION_PATH_REACHED
[SIM] DEFENSE_MISSING
[SIM] SIMULATED_RISK_CONFIRMED
[REPORT] Markdown report written to reports/latest-report.md
攻撃エミュレーションフローは意図的に非兵器化されています:
ingress-nginx が存在するかどうかを確認します。ATTACK_PATH_IDENTIFIED や SIMULATED_RISK_CONFIRMED などのステージマーカーを出力します。MITIGATION_PRESENT、ATTACK_PATH_BLOCKED、UPGRADE_REQUIRED を出力します。reports/ に保存されます。防御検証フローは実際のローカルチェックを実行することが許可されています:
cve-2025-1974-lab という名前のローカル専用 kind クラスターを作成または検査します。ingress-nginx が存在するかどうかを検出し、デプロイメントイメージからバージョンの推定を試みます。pwsh ./scripts/cleanup.ps1
これにより、使い捨ての kind クラスターが存在する場合は削除され、生成されたレポート成果物がクリアされますが、リポジトリ構造は保持されます。
kubectl とローカルクラスターの状態が提供する可視性に限定されます。このプロジェクトは、歴史的・文脈的な調査のみを目的として、GitHub ユーザー @zulloper による公開リポジトリ zulloper/CVE-2025-1974 を概念的に参照しています。攻撃的なコードはこのリポジトリにコピーされていません。
Wiz の Nir Ohfeld、Ronen Shustin、Sagi Tzadik、Hillai Ben-Sasson 氏が、公式の Kubernetes 資料でも認められているように、これらの脆弱性を責任を持って開示したことに謝意を表します。
このリポジトリは Windows 11 向けの独立したクリーンルーム教育ラボであり、@zulloper、Wiz、Kubernetes、または ingress-nginx メンテナーとは提携・推奨関係にありません。