VAddyのプロジェクトリーダーをしている市川です。
VAddyは継続的Webセキュリティテストサービスとして2014年10月にリリースしました。
おかげさまでユーザも増えてきて、VAddyミートアップイベントもキャンセル待ちが出るほど盛況です。
VAddyミートアップやユーザヒアリングなどを通して、VAddyへの色々な要望や期待を寄せてもらえるようになり、とても良いサービスを生み出せたかなと感じています。
ユーザと話をしていくうちに、我々のサービスのスタンスをもっと明確にしたほうが良いのではないかと感じるようになってきました。
というのも、ユーザごとに要望が異なっており、それらを全て実装してしまうとVAddyとは何なのかがイマイチ分かりにくくなってしまい、ぱっとしないサービスに向かって行く気がしているからです。
我々はどの方向に進むべきか、何をして、何をしないのか、という議論を1年以上チーム内で続けているので、ある程度自分たちのスタンスは固まっていてユーザの声を聞きながら日々微調整をしている感じです。
VAddyはWeb脆弱性診断を完全に自動化して、CIサイクルの中に組み込んでセキュリティテストを実施するクラウド型のサービスです。
エンジニア向けサービスで、ニッチなところを狙って行く場合、例えば最初は10人に1人ぐらいを熱狂させるように進んでいくことが多いと思います。
VAddyの場合もエンジニア向けサービスで、さらにCIのフローに脆弱性診断を組み込みたいという、超ニッチなところを今は狙っています。
そのため、日本だけではパイが小さいのでおのずと世界を目指さないといけないのですが、それはまた別の機会に話したいと思います。
しばらくは10人に1人を熱狂させるために、次のようなスタンスで進みたいと考えています。
VAddyは経営者やマネージャがトップダウンで入れるようなツールではなく、ユニットテストと同じ位置付けで、開発者がVAddyを使って助かったというところを目指しています。
経営者や監査、マネージャが結果的に喜ぶということはあるかもしれませんが、我々が中心に置いて徹底的にフォーカスするのは、現場の開発者・運用者なのです。
その人達が良いと思えるかどうか、これをベースに新しい機能を作っていこうと決めました。
我々としては、世界中のWebアプリケーション開発者の方に「これはすごい!」、「これを待ってた」、「VAddyかっこいい」と言って興奮してもらえるようにしたいと考えてます。
そしてVAddyを使ってもらい、常にセキュリティテストをして安心してデプロイできるようにして頂き、1つでも多くのセキュリティ事故がなくなればと思っています。
やることよりも、やらないことを決めるのは大変ですが、とても重要だと思っています。
それが欲しいと言ってくれるユーザをがっかりさせてしまいますので、やらないことを決めるのはとても難しいですし、自分たちのスタンスを明確に持っていないと決断することもできません。
重要なのは、やらない事に理由を持つことと、今やっている事に価値があると信じて提供することだと思います。
まだ有料プランはリリースしていない状況ですが、有料プランは固定金額で提供し、スキャン回数は無制限の予定です。有料プランを出した後も、現在の無料プランは引き続き提供し、スキャン回数も無制限のままにする予定です。
例えば1回あたりxxx円という安い値段設定であろうとも、CIの中で継続的にセキュリティテストをしていくというスタンスを考えると、1日に何度もテストするとそれだけで課金額が増えて行きます。
ある時、今月はスキャン回数をできるかぎり減らしてコスト削減、なんて言い出したら我々の目指す継続的セキュリティテストの道とは違ったものになってしまします。
そうであれば、固定金額でスキャン回数無制限にして、心置きなくpushしてスキャンするというフローを回し続けて頂きたいと考えてます。
我々は、アプリケーションを修正してリリースしてもらうことを重視します。
現在VAddyでは脆弱性が見つかると、問題となったURLとパラメータ、どのような脆弱性(例えばSQLインジェクション)なのかをWebの管理画面で見る事ができます。
さらに、検査時に送って問題となったHTTPリクエストも表示するので、手元での再現テストに利用できます。
これらの情報さえあれば修正すべき点の把握と確認ができます。
今後もコードのどこが問題となったかが把握でき、修正できるような情報を機能追加して出して行きます。
サポートチャットでも、スキャン結果に対しての質問や調査は積極的に対応していきます。
一方で、上司に報告するための体裁の整ったレポートや、我々が上司の方にVAddyの結果を細かく説明することはしません。
それらはVAddyとして提供する予定はないのですが、将来は他社がVAddyのAPIを通してリッチなレポートを作って説明するサービスを展開できるようなことを考えてます。
我々はセキュリティテストツールを徹底的に進化させていき、それらに付随して必要となるものは他社が販売して儲けて頂けたら最高だと思っています。
VAddyでは脆弱性診断士と同じようなテストを行いますが、やはり人が見て判断しないと分からない箇所は存在します。
例えば、ログインして会員情報を見る画面のURLが/member/1みたいになっていて、/member/2にアクセスしたら他の会員の情報が見れてしまったという不具合は発見できません。
残念ながら、VAddyでは仕様なのか不具合なのか曖昧なものは判定できないのです。
VAddyは、既存の脆弱性診断をカバーするツールと考えてください。
上記のようなケースには対応できませんが、一般的な脆弱性であれば、CIに組み込んで何度でも自動実行して発見できますし、検査画面数が多くなったとしても問題ありません。
開発者が使うユニットテストのような感覚で使ってもらい、既存の開発費用のなかで賄えるような料金で提供する予定です。
VAddyは常にアップデートし続けており、人工知能を使った独自の検査エンジンにより、既存のツールよりも使いやすく、検出性能が良くなるように改善しています。
もし、まだ1度も診断会社の脆弱性診断を入れていないプロジェクトであれば、VAddyを入れる価値は多いにいあります。
まずはVAddyを入れて脆弱性診断とはなにか、自分たちのプロジェクトではどのようにしていくかの方針を作るのが良いかと思います。
既に診断会社の診断を入れていて、リリース後も継続的にデプロイしていく場合、デプロイごとに診断士がテストするのは難しいためVAddyを入れて継続的にセキュリティテストをしていくのが良いと思います。
もし、社内にセキュリティエンジニアがいてチェックしてもらえる、ツールを自在に使いこなしている人がいるのであれば、VAddyは導入しなくても良いかもしれません。
そのような環境が整っている事は良い事だと思います。
VAddyは日々アップデートしていますので、将来検査項目はどんどん増える予定です。
現在はWebアプリケーションに特化し、危険度の高い脆弱性の検査を優先して実装しています。
我々はWebアプリケーションのみを継続的にテストするのが良いと考えています。それらの脆弱性は開発者自身で発見して修正しなければいけないからです。
例えば、ミドルウェアやSSLのチェック(例えばPoodle問題)をしてほしいという要望は頂くのですが、それらは脆弱性情報が出て、パッチを当てたり、パッケージをアップデートすれば解決する問題です。
なんでもかんでもCIの中でチェックすると、検査時間もかかってしまいCIフローとは馴染みません。コードをpushして数時間も待つのは嫌でしょうし、それらはCIのフローから外される運命となるでしょう。
なぜそれをやらないのか、これを明示することで我々が目指している姿を少しでも共有できたらと思います。
我々はVAddyを開発者向けに提供するWeb脆弱性診断ツールに絞り、それをCIの中でうまく機能させることに注力します。
限られたリソースをそこにつぎ込むことで、VAddyはシンプルですが強力なあなたの相棒となるように進めていきたいと思います。
そして我々がカバーできないことは、出来る限り他社と協力できるようにAPIなどを公開し、他社のビジネスとして展開できるように。
VAddyは世界中に潜在ユーザがいるのでそこを狙って行きます。そうすれば他社もグローバルに協同ビジネスを展開できると考えています。
我々は基本的なサービスに徹して利益が出て、他社も周辺ビジネスとして利益がでて、ユーザも低料金で使えて良かった・助かったと思えるように、VAddyを取り巻く全ての人が幸せになるモデルを構築していきたいと考えています。