Google 、大規模アプリのバグテストのClusterFuzzをオープンソース化

Googleは今日(米国時間2/8)、ClusterFuzzをオープンソース化したと発表した。 ファジングはプログラムのバグ発見の有力な手法だが、このツールは2万5000台以上のコンピューターを結合した大規模クラスターでも作動する。

Googleのファジングに対する取り組みに注意を払っていたなら(読者がエンジニアならそうすべきだ!)、よく知っているとおり、同社はすでに長期間このツールを社内で使用してきた。Googleは数年前にOSS-Fuzzサービスを開始したが、これがClusterFuzzを使用していた。OSS-Fuzzはオープンソース・プロジェクトでしか利用できなかったが、今回のオープンソース化でどんなプログラムでもClusterFuzzを利用できるようになった。

ファジングはコンセプトとしてはシンプルだ。プログラムに大量のデータ(ランダムなデータを含む)をインプットして反応をチェックするというバグ発見の手法だ。プログラムはクラッシュしたり、メモリーリークを起こしたりする。さらに予期せぬ脆弱性が発見されることがある。しかし複数のマシンで作動するプログラムをこの手法でテストしようとすると事態は急速に複雑化する。大規模なデータセンターで作動させることを前提にしたプログラムにはClusterFuzzのような専用ツールが必須となる理由だ。

ClusterFuzzは、バグ検出からレポート作成までの一連のプロセスを自動化し、バグが修正されたら再テストを実行する。ClusterFuzz自身がファジング・エンジンやツールのテストケースを生成するコアファジング機能にオープンソースのlibFuzzerAFL fuzzerなどを利用している。

Googleは、「Chromeブラウザの開発ではこのツールを利用し1万6000以上のバグを発見した。またOSS-Fuzzでは160件以上のオープンソース・プロジェクトで1万10​​00のバグを発見した」としている。ソフトウェアのテストや導入のためのプロセスの多くの部分で自動化が進んでいるため、当然ファジングもホットな話題になってきた。最近ではインハウスで常時ファジングを行う、continuous fuzzingについての記事をたびたび目にする。

画像:Thanit Weerawan / Getty Images

(日本版)色とりどりのポンポンがカット写真に使われているのはfuzzには「毛糸などのケバ、毛玉」などの意味があるため。

原文へ

滑川海彦@Facebook Google+

投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。