VAddyブログ

- 継続的セキュリティテストへの道 -

WebAPI経由で過去のクロールを使った脆弱性検査が可能に。Jenkinsプラグインも対応

VAddyでは脆弱性検査を行う際に、ユーザが作成したクロールデータを使います。
クロールデータとは、検査対象のURLやパラメータを記録したもので、VAddyではクロールデータを元に機械学習を使ったスキャナーがサイトの構成を把握し検査を行います。

これまでWeb画面からのスキャン開始操作に限り、過去のクロールデータを選択し検査できるようにしていました。
過去のクロールデータを使った脆弱性検査が可能になりました

今回、WebAPI経由での過去クロールデータの指定をした検査が可能になりました。同時に、Jenkinsプラグインもアップデートし、Jenkins経由からでも過去のクロールデータを指定したスキャンが可能になっています。

例えば、全てのパターンを網羅したクロールデータを作成しつつ、一部の画面だけの検査のクロールを作成し、JenkinsなどのCI経由では全てのパターンの検査を、Web画面からは一部の検査を実行するなど、用途に合わせた検査が可能になりました。


過去クロールデータの指定方法

過去のクロールデータは、Web画面にログインしてProxy Crawlingのメニューに遷移した時に表示される Crawl ID の数字になります。下記の画像の例では、15という数字になります。

image


WebAPIからのクロール指定方法

WebAPI仕様書をアップデートしました。
スキャン開始時に、crawl_idというパラメータに数字を指定します。crawl_idパラメータが存在しない場合もしくはパラメータの値が無い場合は、今まで通り最新のクロールデータが自動選択されます。

WebAPI経由でスキャンの開始、終了チェックを行うRuby CLIツールも提供しており、こちらもアップデート済みです。
https://github.com/vaddy/vaddy-api-ruby

Jenkinsからのクロール指定方法

VAddy Jenkinsプラグインを利用している方は、バージョンを1.2.6以上にアップデートしてください。その後、設定画面で下記のようにCrawl IDの数字を入力してください。このフィールドに何も値を入れていない場合は、今まで通り最新のクロールデータが自動選択されます。

image


まとめ

本機能の要望は、先日開催したユーザミートアップで頂いたものです。最初は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

VAddy Ruby CLIツール
https://github.com/vaddy/vaddy-api-ruby