A/B test

【速報・危険】Optimizelyを使用したABテスト情報は競合やユーザーにも公開されている

昨年頃から日本でもスタートアップ界隈を中心に人気を博しているABテストツールOptimizely(オプティマイズリー)が「ツール導入企業が現在どのページでどんなテストを実施しているかが丸見え」という状態であることが正式に発表されました。

danger

大企業にとってセキュリティ的に放って置けないOptimizelyの性質に関しては米大手テクノロジーメディアVentureBeatが6月2日に記事として取り上げています。

以下に元記事の翻訳を掲載いたします。
元記事はこちらから。

VentureBeatに掲載された記事の翻訳

タイトル:Optimizely vulnerability lets you see what other sites are testing
Optimizelyの脆弱性により導入企業が何をテストしているかが丸見えに

Optimizely, a popular service that helps web site owners conduct tests to improve usability, is leaking information about those tests.
ユーザービリティー改善のための人気ツールOptimizelyは、導入企業が実施しているテスト情報を外部に漏らしている。

The leak, which is embedded in the JavaScript code used to implement Optimizely on each site, doesn’t appear to endanger the sites or their fundamental security. But it does enable anyone, with very little effort, to see exactly what tests an Optimizely customer is conducting.
各サイトに埋め込まれているOptimizely用JavaScriptタグが原因のこの情報漏洩はWEBサイトのセキュリティに大きな危険をもたらすものではない。
しかし、ほんの少しの作業でOptimizely導入企業がどんなテストを実施しているかが完璧にわかってしまうものなのだ。

That’s because the details of each test are encoded directly in the JavaScript. In fact, according to John McLaughlin, a marketing consultant who discovered the leak, the code contains details on all the Optimizely tests a site has done in the past as well as current tests. (Update: The code does not contain archived tests, an Optimizely representative stated.)
それは各テストの詳細がJavaScriptに直接埋め込まれていることが原因だ。
実際、この事実を発見したマーケティングコンサルタントのジョン・マクラーリン氏によると、OptimizelyのJavaScriptコードには現在実施中のテストに加えて過去に行った全てのテストの情報が含まれているという。
(更新:コードには過去のテスト情報は含まれていないとOptimizelyから公式見解が発表されています)

“It’s really useful if you’re looking at competitors’ stuff, and seeing what they’re running,” McLaughlin told VentureBeat.
マクラーリン氏はVentureBeatに、「競合のリアルタイムなテスト情報は本当に有益な情報だよ」と話している。

Update: Optimizely says that the leak is not unintentional — but that rather, it is a feature of all JavaScript-based testing tools. However, the company said it will also soon release a version of its tool that enables customers to hide the details of their tests.
更新:Optimizelyはこの情報漏洩は意図的ではないと発表した。そしてこのような仕組みはJavaScriptベースのテストツールの特徴だと語っている。しかしながら、同社は実施中のテスト情報を非公開にすることができる新バージョンを近々リリースする予定だ。

McLaughlin built a site, whatyatesting.com, to show off the vulnerability. For instance, you can see which Optimizely tests Starbucks is conducting, or which tests Healthcare.gov has done. Other sites McLaughlin has scoped out include payroll-processor ADP, freelance marketplace oDesk, domain registrar GoDaddy, and news site CNN.
マクラーリン氏はこの情報漏洩の事実を世間に広めるためにwhatyatesting.comというサイトを立ち上げた。このサイトを利用すれば例えば、米スターバックスや米healthcare.govのようなサイトが実際に行っているテストを知ることができる。
マクラーリンはこの他に給与計算関連企業ADP、クラウドソーシングサービスoDESK、ドメイン登録サイトGoDaddy、そしてニュースサイトCNNなどのWEBサイトのテストも丸裸にできると語った。

Optimizely simplifies the process of doing A/B tests, in which a site randomly delivers one of two variations to each visitor, then collects data about which variation visitors click on more. A/B tests can be handy for deciding which color to make a “buy” button, how large of a font to use, what header image to use, and so on.
OptimizelyはABテスト作業、2つのページに各ユーザーをランダムに訪問させどちらのページでユーザーのクリックがより多く発生したかを調べる作業、をシンプルにした。
ABテストは購入ボタンを何色にすればいいか、フォントの大きさはどの程度がいいか、どんなヘッダー画像を使うべきかなどを決める際に役に立つ。

But A/B tests can also be used to try out new products on a subset of a site’s audience — or to try out new pricing schemes. If those tests reached a wider public — or a site’s competitors — the leaks could be potentially damaging.
しかしABテストはWEBサイト訪問者の一部の方に新商品や新価格を提示する際にも使われる。
万が一そのようなテストが広く一般に、または競合に、知られてしまったとしたら企業にとってダメージとなりうる。

Code education company General Assembly, for instance, appears to be testing a price change from $29 to $49 for some of its online classes. And Alexa.com is testing new products, but only with a subset of the worldwide audience, McLaughlin said.
一例をあげると、プログラミング学習支援企業のGeneral Assemblyはいくつかのオンライン授業で価格を$29から$49ドルに変更するテストを行っていたようだ。
また、Alexa.comは世界中の一部のユーザーだけに向けて新商品をテスト中である、とマクラーリン氏は話している。

In a response, Optimizely stated:
Optimizelyは我々に対し以下のように回答した。

To clarify, this is not a security vulnerability. All JavaScript experimentation platforms, including Optimizely, have information that is visible in source code. To make integrations with third party tools (such as analytics platforms) simpler for our customers, we originally chose to include Optimizely experiment and variation names in the source code.
“正しく言うと、今回の件はセキュリティの脆弱性ではありません。Optimizelyを含むJavaScriptを活用した全てのABテストツールがソースコードから見える形で情報を保持しています。
解析ツールのようなサードパーティツールとの連携を簡単にできるようにするため、我々はOptimizelyのテスト名とバリュエーション名(テストページにつけられた名前)をソースコードに含めるように最初からツールを設計しています。”

We recognize that some customers may prefer that their experiment and variation names not be visible in source code, even if it makes integrations with third-party tools a little bit harder. To address this, we will soon release an option for customers to mask Optimizely experiment and variation names in source code.
“我々も、サードパーティツールとの連携が多少難しくなったとしてもテスト名とバリュエーション名がソースコード上から見れないほうを好む顧客がいることも理解しています。
この事実に対処するため、ソースコード上からテスト名とバリュエーション名が見れないように設定できるオプションを近々リリースする予定です。”

McLaughlin said he’d brought this vulnerability to Optimizely’s attention before but had received no response. Eventually that prompted him to bring the story to the public, via VentureBeat.
マクラーリン氏は過去にこの脆弱性についてOptimizelyに注意喚起をしたが回答をもらえなかったと話している。
結果としてそれが彼にVentureBeatを利用してこの事実は公開させたにいたる。

Optimizely said that it had no record of McLaughlin contacting the company.
Optimizelyはマクラーリン氏が過去問い合わせした記録はない、としている。

まとめ:Optimizelyを使用するとテスト状況を競合他社に知られてしまう

私も試してみましたが、たしかに日本でOptimizelyを導入しているWEBサイトをwhatyatesting.comというサイトに入力するとどんなテストを行っているのか一目瞭然でした。

Optimizely側は上記のようなテスト状況を外部に把握されないオプションを搭載した新バージョンを発表するとしていますが、リリース時期に関しては明言されていません。

Optimizelyは世界で7,000社以上が導入する最大手のABテストツールですが、Optimizelyを使用する日本企業(とりわけ金融・保険関連企業)は一度ツール利用を見直すべきかもしれません。

短期で効果を出すためのA/Bテスト設計ガイド