継続的インテグレーション (CI) 設定で ZAP (2.4.3) を使用しようとしています。ZAP をデーモンとして実行し、ZAP をプロキシとして使用してすべての Selenium テストを (Java で) 実行し、REST API 呼び出しを使用しhtmlreportてパッシブ スキャナーの最終レポートを取得できます。これで問題なく動作しますが、Active Scanner も使用したいと思います。
CI で Active Scanner を使用することは、ZAP のドキュメントで何度か言及されていますが、それに関する実際の例やチュートリアルは見つかりませんでした... 存在しますか?
私が達成したいのは次のようなものです:実行が終了したら、Selenium回帰スイートがアクセスしたすべてのページでActive Scannerを実行します。
ZAP の REST API を調べようとしていますが、ほとんど文書化されていません:
https://github.com/zaproxy/zaproxy/wiki/ApiGen_Index
理想的には、次のようなものがあるとよいでしょう。
- アクセスしたすべての URL でアクティブ スキャンを非同期に開始する
- アクティブ スキャンの実行が完了したかどうかを確認するためのポーリング
REST api には関連するものがあるようですが、次のようになります。
ascan/scan入力として URL が必要です。core/urlsSelenium テストがアクセスしたものを確認するために呼び出すことはできますが、正しい認証 (ログ資格情報) を設定するにはどうすればよいでしょうか? URL がアクセスされる順序が重要な場合はどうすればよいでしょうか? ページが特定の資格情報でのみアクセス可能である場合はどうなりますか?- がありますが、
ascan/scanAsUser方法は不明でcontextId、userIdZAP から取得できます。面倒な回避策は、Selenium テストを変更して、アクセスした URL と使用しているログ/パスワード資格情報をディスクに書き込み、すべてのテストが終了したら、そのような情報をディスクから読み取って ZAP を呼び出すことです。もっと簡単な方法はありますか?