Jetpackのセキュリティ性

Mozilla Jetpackについて調べたいことの続き。

Secure

  • Provides access to only the privileges needed, with security issues always be presented in social-terms, and not technical-terms
  • Short and easy to review code ensures that potential security issues are shallow, and review times short
Mozilla Labs Jetpack | Exploring new ways to extend and personalize the Web

とのことだが、しかし、穴があるのではないかと思った。

XPCOMの使用が可能

Componentsへのアクセスが制限されていないのでXPCOM使いたい放題であり、Jetpackが用意するAPI経由以外での特権の使用が可能になってしまっている。

chromeコンテンツへのアクセスが可能

jetpack.tabs.focused.raw.ownerDocument.defaultView

からFirefoxChromeWindow,XULDocumentへアクセスできる。これはFirefox内部を縦横無尽にどこへでもアクセスできてしまうのと同じだ。

この2点はProvides access to only the privileges needed, with security issues always be presented in social-terms, and not technical-termsに反してはいないか。

サードパーティ製のコードには確認画面

ただし、サードパーティ製のコード(chromeURLかhttpsか信用するドメインに入っていないサイトのコード)はUbiquityと同じような画面が表示される。

お前は信用できないコードをインストールしようとしているぜ。これは何でもできて、クレジットカードの番号とかメールアドレスとか祖母やあんたの写真とかブラウザの履歴を抜き取るかもよ。JavaScriptが読めるんならきちんと精査してインストール可否を判断してね。良く分からんならインストールすんな。

とか何とか書かれている警告だ。
ここまで言われてインストールして事故ったら、自己責任になるのかな。少なくとも躊躇はするよね。

やっぱりレビューサイトが必要

セキュリティ面では、Featureは必要最小限のアクセス権限のみを有し、しかも他のFeatureと相互に干渉しあわないように設計されているそうだ。したがって、安全性は高いが、他のアドオンとの連携はまず無理ということになる。

JetpackはFirefox.nextに統合される - Mozilla Flux

と書かれているが現状ではやろうと思えば何でもできる。
実際にjetpack testページ(ページのロード時にFirefoxタイトルバーの文字列を抜き取ってアラーと表示するもの)を作って試してみたが、インストール時に警告がでるものの、意図通りに動いた。

やはりAMO等の信用できるサイトでレビューを受けたもののみのインストールが望ましいだろう。
また、Labs/Extensions2/Target Add-ons - MozillaWikiに書かれているものを読む限り、何でもできる現状が望ましいとは思えない。バグとして報告すべきだろうか...。

少なくとも問題提起するべきものだと思うので、ここに記しておく。