
OWASP Webレコン&ディレクトリ探索プラットフォーム
# OpenDoor — OWASP Web 偵察 & ディレクトリ探索プラットフォーム  **OpenDoor** は、許可された Web 偵察、ディレクトリ探索、サブドメイン列挙、フィンガープリント、WAF 検出、バイパスプロービング、レスポンスフィルタリング、レポーティング、オープンリダイレクトチェック、制限付きクロール、トランスポートベースのスキャンワークフローのためのオープンソース CLI 偵察プラットフォームです。 セキュリティ研究者、ペネトレーションテスター、バグバウンティハンター、DevSecOps エンジニア、開発者が、露出したパス、ログインパネル、ディレクトリリスティング、制限されたリソース、バックアップファイル、Web シェル、サブドメイン、その他の潜在的に機密性の高い Web 資産を特定するのに役立ちます。 > OpenDoor は、自身が所有するシステム、またはテストの明示的な許可を得たシステムでのみ使用してください。 --- ## ✅ プロジェクトステータス [](https://pypi.org/project/opendoor/) [](https://formulae.brew.sh/formula/opendoor)  [](https://www.python.org/) [](https://github.com/stanislav-web/OpenDoor/actions/workflows/docker-image.yml) [](https://codecov.io/github/stanislav-web/OpenDoor) [](https://github.com/stanislav-web/OpenDoor/actions/workflows/github-code-scanning/codeql) [](https://github.com/stanislav-web/OpenDoor/actions/workflows/codacy.yml) [](https://opendoor.readthedocs.io/) ## 🧪 CI マトリックス | プラットフォーム | Python 3.12 | Python 3.13 | Python 3.14 | Python 3.15 | |---|---|---|---|---| | Linux | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py312.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py313.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py314.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-linux-py315.yml) | | macOS | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py312.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py313.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py314.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-macos-py315.yml) | | Windows | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py312.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py313.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py314.yml) | [](https://github.com/stanislav-web/OpenDoor/actions/workflows/ci-windows-py315.yml) | --- ## 🚀 クイックリンク - [ドキュメント](https://opendoor.readthedocs.io/) - [クイックスタート](https://opendoor.readthedocs.io/quickstart/) - [インストールと更新](https://opendoor.readthedocs.io/Installation-and-update/) - [使用ガイド](https://opendoor.readthedocs.io/Usage/) - [実践的な例](https://opendoor.readthedocs.io/examples/basic-scans/) - [変更履歴](https://github.com/stanislav-web/opendoor/blob/master/CHANGELOG.md) - [PyPI パッケージ](https://pypi.org/project/opendoor/) - [Homebrew formulae](https://formulae.brew.sh/formula/opendoor) - [Docker イメージ](https://github.com/users/stanislav-web/packages/container/package/opendoor) - [AUR パッケージ](https://aur.archlinux.org/packages/opendoor) - [BlackArch パッケージ](https://blackarch.org/webapp.html) - [Issues](https://github.com/stanislav-web/OpenDoor/issues) - [コントリビューター](https://github.com/stanislav-web/OpenDoor/graphs/contributors) --- ## ✨ 機能 - ディレクトリ探索; - 再帰的ディレクトリ探索; - 制限付き同一オリジンクロール; - リダイレクトの追跡; - サブドメイン列挙; - 高速な検索のためのマルチスレッドスキャン; - 単一ターゲット、ターゲットファイル、stdin、IPv4 CIDR、IPv4 範囲の入力モード; - カスタムワードリスト、プレフィックス、スキャンパターンと拡張子フィルタを崩すためのシャッフル、リモートワードリストのサポート; - カスタムリクエストヘッダー、Cookie 転送、生の HTTP リクエストテンプレート; - ステータス、サイズ、テキスト、正規表現、ボディ長によるレスポンスフィルタ; - ディレクトリリスティング、空のレスポンス、既知のファイル露出、アクティブなシャドウコピープローブ、照合、露出の可能性があるシークレット、クライアントに露出したエンドポイント、エラー、露出したデバッグスタックトレース、検証済みのオープンリダイレクト脆弱性を検出するためのレスポンススニッファ; - ソフト 404、ワイルドカード、キャッチオール、セマンティックレスポンス差分、DNS ワイルドカードのケースに対するスマート自動キャリブレーション; - CMS、eコマースプラットフォーム、フレームワーク、ランタイムスタック、インフラストラクチャ、HSTS 態勢のテクノロジーフィンガープリント検出; - `--fingerprint` におけるパッシブなプライバシーリスクチェック(HSTS の可能性、ETag/キャッシュ、スーパークッキー表面を含む)。 - セキュアスキャンモードにおけるパッシブ WAF 検出とバイパス; - 初期の分類されたレスポンスが圧倒的に WAF ブロックされている場合に、低価値なスキャンを終了するための WAF ガード停止条件; - ブロックされた `401` および `403` リソースに対する制御されたヘッダーおよびパスバイパスプローブ; - リトライ、連続失敗保護、トランスポート障害処理、再開可能なセッション、ランタイムの一時停止/再開制御を備えたフォールトトレラントなスキャンランタイム; - CI/CD の fail-on 結果バケットルール; - 以前/現在の JSON または SQLite レポートの差分レポート比較; - ターミナル、テキスト、JSON、CSV、HTML、SARIF、SQLite 形式でのレポート; - プロキシ、OpenVPN、WireGuard、レガシー TLS、mTLS クライアント証明書トランスポートのサポート; - バッチワークフロー向けのターゲットごとの順次トランスポートローテーション; - 再現可能なスキャンプロファイルのための設定ウィザード; - 組み込みワードリスト(更新 2026-08) --- ## 🧭 OpenDoor はどこで意味を持つのか? これは、速度だけでは不十分な実際のターゲット向けに設計されています:WAF、CDN、ソフト 404 ページ、ワイルドカードルート、制限されたリソース、認証エリア、不安定なネットワーク、マルチターゲットバッチ、トランスポート制御されたスキャンなどです。 2016 年の初回リリースから現在に至るまで、OpenDoor は劇的に変化し、原始的なブルートフォーサーから新しい適応型ディスカバリーフレームワークへと成長しました。DevOps と QA に優しいものになりました。 OpenDoor は、盲目的な列挙ではなく **コンテキスト認識型ディスカバリー** に焦点を当てています。 ### OpenDoor の違い | 機能 | 重要な理由 | |---|---| | **フィンガープリント優先スキャン** | OpenDoor は、より深い探索の前に、可能性のある CMS プラットフォーム、フレームワーク、インフラストラクチャプロバイダー、WAF シグナルを特定できます。これにより、ターゲットに汎用ワードリストを盲目的に投げつけるのではなく、コンテキストを持ってスキャンできます。 | | **WAF 認識動作** | OpenDoor は、可能性のある WAF / アンチボット動作を検出し、`--waf-safe-mode` でより安全なランタイムプロファイルに切り替えることができ、ノイズの多いブロックされたスキャンを減らし、防御的なレスポンスを理解しやすくします。 | | **WAF ガード停止条件** | OpenDoor は、初期の分類されたレスポンスが圧倒的に WAF ブロックされている場合に、スキャンを早期に停止できます。これにより、繰り返しのエッジ/WAF ブロックページしか生成しないワードリストに長時間の実行を費やすことを避けられます。 | | **制御されたバイパス証拠** | OpenDoor は、ブロックされた `401` および `403` リソースを、制御されたヘッダーインジェクションおよびパス操作のバリアントでオプションでプローブできます。バイパスタイプ、ヘッダーまたはパスバリアント、プローブ値、元のステータスコード、結果のステータスコードなどの正確な証拠を記録し、グローバルスキャンヘッダーを変更しません。 | | **マルチシグナル自動キャリブレーション** | OpenDoor は、ステータスコードやレスポンスサイズだけに依存しません。ボディハッシュ、可視テキスト、セマンティックなソフト 404 フレーズ、DOM トークン構造、タイトル、リダイレクト、安定したヘッダー、単語数、行数、テキスト密度、正規化された動的トークン、DNS ワイルドカードベースラインなど、複数のレスポンスシグナルを比較して、ソフト 404 およびワイルドカードの誤検知を減らします。 | | **制限付き同一オリジンクロール** | `--crawl` は、既にスキャンされた HTML レスポンスで見つかった 1 ホップの同一オリジンリンクでディレクトリスキャンを強化できます。スパイダーやブラウザレンダラーになるのではなく、既存のスキャンパイプライン、グローバルリクエスト重複排除、バケットごとのレポート重複排除、制限付きメモリキャップを使用します。 | | **ヒューリスティックスニッファプラグインシステム** | OpenDoor には、シークレット、スタックトレース、ディレクトリリスティング、マルウェア指標、シャドウコピー、疑わしいファイル、オープンリダイレクト、繰り返されるソフトエラーテンプレートなどのヒューリスティックスニッファ用のプラグ可能なレスポンス分析レイヤーが含まれています。これにより、スキャンはステータスコードとサイズだけを報告するのではなく、レスポンスボディから意味のある証拠を表面化できます。 | | **トランスポートレベルのワークフロー** | OpenDoor は、ダイレクト、プロキシ、OpenVPN、WireGuard トランスポートモードをサポートしています。また、許可されたバッチスキャンでターゲットごとにトランスポートプロファイルをローテーションすることもできます。これは、スキャナーを実行する前に手動で VPN を起動することとは異なります。 | | **プロキシプールのサポート** | OpenDoor は、`--proxy-list` を通じてプロキシプールを使用し、スキャン前に利用可能なプロキシを検証し、ライブプール全体でリクエストをローテーションできます。これにより、長い許可されたスキャンが、単一のプロキシエンドポイントをハードコードすることなく、信頼性の低いルートを生き延びるのに役立ちます。 | | **フォールトトレラントなスキャンランタイム** | OpenDoor は、不安定なターゲットや信頼性の低いネットワークでもスキャンを有用に保つように設計されています。リクエストリトライ、連続失敗保護、回復可能なトランスポートエラー処理、プロキシローテーション、WAF 認識停止条件、チェックポイントセッション、インタラクティブな一時停止/再開制御を組み合わせて、長いスキャンがサイレントにカバレッジを失うのではなく、安全に失敗できるようにします。 | | **再開可能な長時間スキャン** | OpenDoor はスキャンチェックポイントを保存し、後で再開できます。これは、クラッシュ、不安定なネットワーク、ブロックされたルート、ターミナルの切断、長時間のマルチターゲットジョブによってスキャンが中断された場合に重要です。 | | **ランタイムの一時停止/再開** | スキャン中に `Ctrl+C` を一度押してワーカーを一時停止し、`C` を選択して続行するか、`E` を選択してセッションファイルを介さずに中止します。 | | **差分レポート比較** | OpenDoor は、`--diff old:new` で以前と現在の SQLite/JSON レポートを比較し、ターゲットを再スキャンすることなく、追加、削除、変更された検出結果を表示できます。これにより、スキャンレポートをリリース間の露出リグレッションチェックに変えることができます。 | | **CI/CD 対応の結果** | OpenDoor は、選択された結果バケットが見つかった場合にのみ失敗の終了コードを返すことができ、カスタムの後処理スクリプトなしでリリースゲートまたは露出リグレッションチェックとして使用できます。 | | **監査可能なエンジニアリング** | OpenDoor は、マルチプラットフォーム CI、カバレッジチェック、パッケージチェック、ドキュメントビルド、大規模な unittest スイートで維持されており、監査、コントリビュート、依存が容易です。 | ## 🧬 認識されるテクノロジー OpenDoor には、可能性のあるアプリケーションスタック、CMS プラットフォーム、フレームワーク、サイトビルダー、静的サイトツール、インフラストラクチャプロバイダー、HSTS / プリロード準備状況、WAF / アンチボットシステムを検出するためのヒューリスティックフィンガープリントエンジンが含まれています。 | カテゴリ | 例 | |----------------------------|---| | CMS | WordPress, Drupal, Joomla, TYPO3, GravCMS, Open Journal Systems, InstantCMS, DiafanCMS, CMS.S3 / Megagroup, Discuz!, NetCat | | Eコマース | Magento, WooCommerce, Shopify, PrestaShop, OpenCart, Shopware, Webasyst / Shop-Script | | フレームワーク / アプリプラットフォーム | Laravel, Symfony, Django, Flask, FastAPI, Express, NestJS, Next.js, Nuxt, Rails, Spring | | ランタイム / 言語スタック | PHP, Node.js, JavaScript, Python, Ruby, .NET, Java/JVM, Elixir, 静的サイトターゲット | | サイトビルダー | Wix, Webflow, Squarespace, Tilda, Duda, Hostinger Website Builder | | 静的 / ドキュメントジェネレーター | MkDocs, Docusaurus, Hugo, Jekyll, VitePress | | インフラストラクチャ / ホスティング | Cloudflare, AWS, Vercel, Netlify, GitHub Pages, GitLab Pages, Heroku, Azure, Google Cloud, Fastly, Akamai, Hostinger, DDoS-Guard, Tencent Cloud | | インフラストラクチャ / サーバー | Nginx, Apache HTTP Server, Microsoft IIS, Caddy, LiteSpeed, lighttpd, Tornado, Gunicorn, Uvicorn, Hypercorn, Waitress, Apache Tomcat, Eclipse Jetty, Envoy, Traefik | | WAF / アンチボット | Cloudflare, AWS WAF, Azure Front Door, Akamai, Imperva, Sucuri, ModSecurity, DataDome, Kasada, BunkerWeb, F5 BIG-IP ASM | | セキュリティヘッダー | HSTS の存在、max-age、includeSubDomains、preload ディレクティブ、ローカルプリロード準備状況 | サポートされているテクノロジーの完全なリスト: [フィンガープリンティングテクノロジー](https://opendoor.readthedocs.io/detection/fingerprinting) フィンガープリント検出を実行: ```bash opendoor --host https://example.com --fingerprint ``` フィンガープリントパスが完了すると、OpenDoorは辞書列挙が始まる前に簡潔なプリスキャンサマリーを出力します: ```text Fingerprint result: cms/WordPress (95%) Web stack: WordPress | PHP | Cloudflare Security posture: HSTS preload-ready ``` 続きを読む: - [フィンガープリンティングガイド](https://opendoor.readthedocs.io/detection/fingerprinting/) - [WAF検出ガイド](https://opendoor.readthedocs.io/detection/waf-detection/) ## 📦 インストール ### pipx ほとんどのCLIユーザーに推奨: ```bash pipx install opendoor ``` ### pip ```bash python3 -m pip install --upgrade opendoor ``` ### Windows / Chocolatey OpenDoor は Chocolatey Community Package Repository から入手できます: ```powershell choco install opendoor -y ``` Chocolatey パッケージは、コミュニティによるモデレーションが完了するまで、最新の GitHub/PyPI リリースより遅れることがあります。 ### Arch Linux / AUR OpenDoor は Arch User Repository で利用可能です: ```bash yay -S opendoor ``` ### Homebrew OpenDoorはBrewパッケージマネージャーでも利用可能です: ```bash brew install opendoor ``` ### Docker OpenDoorは、GitHub Container Registryを通じて公式プロジェクトのDockerイメージとして利用可能です。 ```bash docker pull ghcr.io/stanislav-web/opendoor:latest docker run --rm -it ghcr.io/stanislav-web/opendoor:latest --version ``` スキャンを実行し、レポートをホストに書き込みます: ```bash mkdir -p reports docker run --rm \ -v "$PWD/reports:/work/reports" \ ghcr.io/stanislav-web/opendoor:latest \ --host https://example.com \ --reports json,html \ --reports-dir reports ``` ### BlackArch Linux OpenDoor は BlackArch Linux で利用可能です: ```bash sudo pacman -Syu sudo pacman -S opendoor ``` ### ソースから ```bash git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor python3 -m pip install -r requirements.txt python3 opendoor.py --help ``` 完全な[インストールガイド](https://opendoor.readthedocs.io/Installation-and-update/)を参照してください。 --- ## 🚀 クイック使用法 ### 基本的なディレクトリスキャン ```bash opendoor --host https://example.com ``` ### 同一オリジンのリンクをクロールする ```bash opendoor --host https://example.com --crawl ``` `--crawl` はオプトインであり、ディレクトリスキャンでのみ機能します。`GET` を使用し、すでにスキャンされたレスポンスから保守的に HTML 属性を抽出し、同一オリジンの URL のみを保持し、無視された拡張子を尊重し、POST フォームと外部オリジンをスキップし、発見された URL を通常の結果バケットを通じて報告します。 ### サブドメインスキャン ```bash opendoor --host example.com --scan subdomains ``` ### ターゲットリスト ```bash opendoor --hostlist targets.txt ``` ターゲットファイルには、URL、ドメイン、IPv4アドレス、IPv4 CIDRブロック、および包含的なIPv4範囲が混在する場合があります: ```text https://example.com app.example.com 192.168.1.10 192.168.1.0/24 192.168.1.10-192.168.1.50 ``` ### 標準入力 ```bash cat targets.txt | opendoor --stdin ``` 同じ混合ターゲット形式はSTDIN経由でもサポートされています。 ### 低ノイズスキャン ```bash opendoor \ --host https://example.com \ --method GET \ --auto-calibrate \ --include-status 200-299,301,302,403 \ --exclude-status 404,429,500-599 \ --exclude-size-range 0-256 \ --sniff endpoint,secret,shadow,openredirect,malware,skipempty,collation,indexof,file,stacktrace \ --reports std,json,csv,sarif ``` ### レスポンススニッファー レスポンススニッファーは、ディスカバリー中に興味深いレスポンスボディを分類します。ステータスコードとサイズだけでは発見された内容を理解するのに不十分な場合に役立ちます。 ```bash opendoor \ --host https://example.com \ --method GET \ --sniff endpoint,secret,shadow,openredirect,malware,stacktrace,indexof,file,collation \ --reports std,json,csv,html,sqlite,sarif ``` 有用なスニッファーには以下が含まれます: | スニッファー | 目的 | |---------------------|-------------------------------------------------------------------------------------------------------------------------------------| | `indexof` | ディレクトリリスティングページを検出します。 | | `file` | 既知の機密ファイル露出パターンを検出します。 | | `collation` | 誤検知を引き起こす可能性のある、繰り返しまたはリダイレクトのようなフォールバックレスポンスを検出します。 | | `skipempty` | 空のレスポンスをスキップします。 | | `skipsizes=46` | 既知のノイズの多いサイズと完全に一致するレスポンスをスキップします。 | | `skipsizes=46:1024` | ノイズの多いサイズ範囲内のレスポンスをスキップします。 | | `stacktrace` | 露出したデバッグ/ランタイムスタックトレースおよび内部エラーの詳細を検出します。 | | `secret` | 露出した可能性のある API キー、トークン、秘密鍵、認証情報を、レポートメタデータを伏せた状態で検出します。 | | `shadow` | 確認された `200 OK` のファイルらしいヒットに対して、`.bak`、`.old`、パステンプレートなどの限定的なバックアップ/シャドウバリアントを能動的にプローブします。 | | `openredirect` | リダイレクトらしいクエリパラメータを制御されたマーカー URL で能動的に検証し、確認されたオープンリダイレクト脆弱性のみを報告します。 | | `endpoint` | すでに取得済みのレスポンスから、クライアントに露出した WebSocket、Socket.IO、SSE/EventSource、AJAX エンドポイントを受動的に検出します。 | | `malware` | 悪意のある可能性のあるコンテンツ、ウェブシェルマーカー、注入されたスクリプト、難読化されたペイロードを検出します。 | ボディ依存のスニッファーは、設定されたメソッドが `HEAD` の場合、内部的に自動的に `GET` を強制します。 詳細: [スニッファーリファレンス](https://opendoor.readthedocs.io/Sniffers/) ### 生のリクエストからの認証済みスキャン ```bash opendoor \ --raw-request request.txt \ --scheme https \ --method GET \ --auto-calibrate \ --reports json,html,sqlite,sarif ``` ### WAFセーフスキャン ```bash opendoor \ --host https://example.com \ --waf-safe-mode \ --timeout 60 \ --retries 5 \ --delay 0.5 ``` ### フォールトトレラントスキャン 不安定なターゲット、低速なネットワーク、一時的なWAFブロック、プロキシの不安定さ、または長時間実行される承認済みスキャンには、より保守的なランタイムプロファイルを使用してください。 ```bash opendoor \ --host https://example.com \ --method GET \ --timeout 60 \ --retries 5 \ --retries-fail-streak 25 \ --auto-calibrate \ --waf-detect \ --waf-guard \ --session-save session.json \ --reports std,json,html ``` このプロファイルは、リクエストごとのタイムアウトと再試行の許容範囲を増やし、中断を繰り返し枯渇したパスに限定し、自動キャリブレーションでソフト404およびキャッチオール応答をフィルタリングし、WAFブロック応答が支配的な場合に低価値スキャンを停止し、後で再開するためのチェックポイント状態を保存することで、スキャンの耐障害性を高めます。 後でスキャンを再開します: ```bash opendoor --session-load session.json ``` アクティブスキャン中に `Ctrl+C` を一度押すとワーカーが一時停止し、その後 `C` で続行、`E` で中止を選択できます。 ### ヘッダーおよびパスバイパスプローブ これは、テストを許可されているシステムでのみ使用してください。この機能はオプトインであり、制御された一時ヘッダーと安全なパスバリアントを使用してブロックされたリソースをプローブします。 ```bash opendoor \ --host https://example.com \ --method GET \ --waf-detect \ --header-bypass \ --header-bypass-limit 32 \ --reports std,json,csv,sarif,sqlite ``` `--header-bypass` が有効な場合、OpenDoor はまず設定済みのヘッダーインジェクション変種を試し、次に末尾スラッシュ、ドットセグメント、セミコロン接尾辞、大文字小文字の変種、URL エンコードされたセグメントなどの安全なパス操作変種を試します。 トリガーステータス、信頼済み IP 値、ヘッダーをカスタマイズします: ```bash opendoor \ --host https://example.com \ --method GET \ --header-bypass \ --header-bypass-status 401,403 \ --header-bypass-ips 127.0.0.1,10.0.0.1 \ --header-bypass-headers X-Original-URL,X-Rewrite-URL,X-Forwarded-For,X-Real-IP \ --reports json,html,sqlite,sarif,csv ``` ### プロキシルーティング 単一の明示的なプロキシを使用する: ```bash opendoor --host https://example.com --proxy socks5://127.0.0.1:9050 ``` バンドルされたローテーションプロキシプールを使用します: ```bash opendoor --host https://example.com --proxy-pool ``` カスタムローテーションプロキシリストを使用する: ```bash opendoor --host https://example.com --proxy-list proxies.txt ``` ### OpenVPNトランスポート ```bash opendoor \ --host https://example.com \ --transport openvpn \ --transport-profile ./profile.ovpn ``` OpenVPN が `PATH` の外にインストールされている場合は、バックエンドを明示的に指定してください: ```bash opendoor \ --host https://example.com \ --transport openvpn \ --transport-profile ./profile.ovpn \ --transport-bin /opt/homebrew/sbin/openvpn ``` Windows では、`--transport-bin` は `C:\Program Files\OpenVPN\bin\openvpn.exe` を指すことができます。GUI クライアントまたは企業 VPN エージェントがすでにトンネルを所有している場合は、その VPN を OpenDoor の外部で起動し、OpenDoor をダイレクトモードで実行してください。 ### WireGuard トランスポート ```bash opendoor \ --host https://example.com \ --transport wireguard \ --transport-profile ./profile.conf ``` その他の例: - [基本スキャン](https://opendoor.readthedocs.io/examples/basic-scans/) - [バッチスキャン](https://opendoor.readthedocs.io/examples/batch-scans/) - [認証済みスキャン](https://opendoor.readthedocs.io/examples/authenticated-scans/) - [WAFセーフスキャン](https://opendoor.readthedocs.io/examples/waf-safe-scans/) - [ヘッダーバイパススキャン](https://opendoor.readthedocs.io/examples/header-bypass-scans/) - [VPNトランスポートスキャン](https://opendoor.readthedocs.io/examples/vpn-transport-scans/) - [CI/CDの例](https://opendoor.readthedocs.io/examples/ci-cd/) --- ### 差分レポート比較 OpenDoorは、新しいスキャンを実行することなく、過去と現在の2つのレポートを正確に比較できます。2つの承認済みスキャン結果の間で何が出現し、消え、または変化したかを確認したい場合に使用します。 サポートされる入力ペアはSQLite対SQLiteおよびJSON対JSONのみです。混在フォーマット、存在しないファイル、無効なレポート、およびサポートされていないレポートタイプは、適切な検証エラーで失敗します。 ```bash opendoor --diff reports/baseline/example.com.sqlite:reports/current/example.com.sqlite --reports std,json opendoor --diff reports/baseline/example.com.json:reports/current/example.com.json --reports std,json --reports-dir ./diff ``` ### CI/CD 向け SARIF レポート OpenDoor は検出結果を SARIF 2.1.0 としてエクスポートでき、GitHub Code Scanning や SARIF 互換のセキュリティパイプラインで利用できます。 ```bash opendoor \ --host https://example.com \ --reports sarif,json \ --reports-dir ./reports ``` --- [Read more](https://github.com/stanislav-web/opendoor)