Google Chrome runs web pages and applications with lightning speed.

Dark Readingに掲載された記事「Google Dismisses Chrome Browser Microphone Snooping Exploit」がソフトウェア開発と標準規約への準拠という2つの視点から問題を捉えることができる興味深いストーリーを紹介している。Chromeに見つかった音声認識機能に関する挙動を「セキュリティ脆弱性」とみるか「標準規約への準拠」とみるか、問題を発見した研究者の視点やほかの視点なども入れて説明している。

取り上げられているストーリーは2013年9月13日にある研究者によって発見された「問題のある挙動」からはじまる。当時、JavaScriptの音声認識ライブラリを開発していたある研究者が、当時のChromeの実装に問題があり、攻撃者によってその機能を利用されると電話の発信を盗み聞きされたりそのユーザのマシン上での会話が盗み聞きされる危険性があることが明らかになったという。発見した研究者はGoogleに報告し、Googleでは2013年9月24日には修正パッチを作成したという記録があるという。

しかし、このパッチはいつまで経ってもChromeに適用されることはなかった。理由は、ベースとなっている「W3C Web Speech API」がこうした動作を求めており、Chromeの実装はその仕様通りになっているのでセキュリティ脆弱性とはいえない、というものだった。その後いろいろやりとりがあって、最終的にChromeの実装を変更することはやぶさかではないがそれには規約が変更される必要があるとし、発見者は仕様そのものを変更するために仕様の策定を進めているグループに参加したという話になっている。

この話はいくつか興味深い問題への指摘を含んでいる。相互通信や互換性という観点から標準規約に準拠した製品を開発することが望ましいのはこれまでブラウザの非互換製に悩まされてきた開発者の多くが賛同するだろう。しかし、標準規約が発表されるまで待つわけにはいかないので、策定中の仕様をベースに機能を実装することになる。この段階で仕様上の問題が発見されそれがセキュリティ脆弱性と認識されたとして、その挙動を変えるように実装するか、それとも規約に従っているとして実装を変えないべきか、難しい判断を迫られる。

Dark Rreadingの記事では、策定段階にあるまだ標準規約として公開されていないものに対して「標準に準拠」という扱いはおかしいという意見も掲載されている。こうした問題は今回のケースがはじめてではなく氷山の一角にすぎず、実際には明らかになっていないだけで似たようなことはほかにも存在しているのだろうという指摘も掲載されている。