VAddyでは脆弱性検査を行う際に、ユーザが作成したクロールデータを使います。
クロールデータとは、検査対象のURLやパラメータを記録したもので、VAddyではクロールデータを元に機械学習を使ったスキャナーがサイトの構成を把握し検査を行います。
これまでWeb画面からのスキャン開始操作に限り、過去のクロールデータを選択し検査できるようにしていました。
「過去のクロールデータを使った脆弱性検査が可能になりました」
今回、WebAPI経由での過去クロールデータの指定をした検査が可能になりました。同時に、Jenkinsプラグインもアップデートし、Jenkins経由からでも過去のクロールデータを指定したスキャンが可能になっています。
例えば、全てのパターンを網羅したクロールデータを作成しつつ、一部の画面だけの検査のクロールを作成し、JenkinsなどのCI経由では全てのパターンの検査を、Web画面からは一部の検査を実行するなど、用途に合わせた検査が可能になりました。
過去クロールデータの指定方法
過去のクロールデータは、Web画面にログインしてProxy Crawlingのメニューに遷移した時に表示される Crawl ID の数字になります。下記の画像の例では、15という数字になります。
WebAPIからのクロール指定方法
WebAPI仕様書をアップデートしました。
スキャン開始時に、crawl_idというパラメータに数字を指定します。crawl_idパラメータが存在しない場合もしくはパラメータの値が無い場合は、今まで通り最新のクロールデータが自動選択されます。
WebAPI経由でスキャンの開始、終了チェックを行うRuby CLIツールも提供しており、こちらもアップデート済みです。
https://github.com/vaddy/vaddy-api-ruby
Jenkinsからのクロール指定方法
VAddy Jenkinsプラグインを利用している方は、バージョンを1.2.6以上にアップデートしてください。その後、設定画面で下記のようにCrawl IDの数字を入力してください。このフィールドに何も値を入れていない場合は、今まで通り最新のクロールデータが自動選択されます。
まとめ
本機能の要望は、先日開催したユーザミートアップで頂いたものです。最初はCIで過去クロールデータを指定するユースケースの利点が我々は認識できていなかったのですが、ユーザの方の利用方法を教えてもらい、ご要望を頂いたことで今回のリリースにつながりました。
今後も改良を続けていきますので、お気軽にご意見、ご要望を頂けたらと思います。
VAddy Jenkinsプラグイン 1.2.6
https://wiki.jenkins-ci.org/display/JENKINS/VAddy+Plugin
WebAPIドキュメント
https://github.com/vaddy/WebAPI-document/blob/master/VAddy-WebApi-ja.md