正解: コンテナーを起動する → サイトをスパイダーする → アクティブ スキャンを実行する → 結果をレポートする。
解説: OWASP ZAP を Azure Pipelines に統合する場合、ZAP は通常 Docker コンテナーとして実行します。まず ZAP コンテナーを起動して攻撃プロキシを準備し、対象 Web アプリをスパイダー(クロール)して URL の一覧を構築します。続いてアクティブ スキャンを実行して既知の脆弱性パターンに対する動的テストを行い、最後に結果(HTML/XML レポート)を生成・公開してパイプラインのアーティファクトとして取り込みます。この 4 つのステップが ZAP を使った典型的な動的セキュリティ テスト (DAST) のフローです。
各選択肢の検討:
- コンテナー起動 → スパイダー → アクティブ スキャン → レポートが、ZAP の DAST 実施手順として正しい順序です。
- ベースライン スキャンはパッシブな簡易チェックであり、スパイダー+アクティブ スキャンと併用する設計ではありません。両者を順に実行するこの流れは ZAP の標準手順と一致しません。
- 「毎週プル」はスケジュールド トリガーの設定であってパイプライン内のステップではないため、4 ステップの中に含めるのは不適切です。
- コンテナーを起動せずにベースラインから開始しているため、ZAP が動作する環境が用意されておらず誤りです。
- アクティブ スキャンより後にベースラインを置くのは順序が誤っており、結果出力も適切に行われません。
- 「毎週プル」はトリガー設定であり、4 ステップの中に含めるべきではありません。
参考: Microsoft Learn:
Azure Pipelines で Docker コンテナーを使用する