2020年9月16日水曜日

アドオンインストール時の警告について

Thunderbird 78から、アドオンインストール時に、アクセス許可を聞いてくるようになっています。ちょっとびっくりされるかもしれませんが、以前より安全性が増したということで。

で、これ2タイプあります。

1. 具体的なアクセス権を聞いてくる場合

純粋にThunderbird 78のフレームワークであるMailExtensionsだけで作られたアドオンの場合に、このような聞き方をしてきます。アドオンは、ここで書かれた以上のことはしません。


アドオンの機能と照らし合わせて、明らかに不要なものを要求していたら、注意が必要かもしれません。

ただ、ここに挙げられているからといって、アドオンがその操作を必ずするとは限りません。アドオンの設定ファイル(manifest.json)に、アクセス権を宣言するところがあるのですが、アドオン作者が必要ないのに書いてしまう場合があります。足らないと動かないので分かるのですが、余分に要求しても動作に影響がなく気づかないので。
 
なので、ちょっとおかしいなと思ったら、ひとまずインストールはやめて、信頼できるか情報収集したほうがいいかなと思います。

上記のCheck and Sendの例もそうで、「ブラウザーのタブへのアクセス」を要求していますが実際はしていません。APIのドキュメントがわかりづらくて間違ってつけてしまっているだけです。アクティブなタブを取得する(タブをさわる)ので必要かなと思ってアクセス権を設定したのですが、これは何かURLを開いたりするときに必要なものらしくCheck and Sendの処理では不要でした。次回アップデートで削除する予定です。最後にまとめますが、他のアドオンでも同じ間違いをしてしまっています…


2. 無制限なアクセスを要求してくる場合

悩ましいのがこのタイプで、半分以上のアドオンはこれになると思います。これに驚いてこのページにたどり着いた方もいるかと思います。


これは、WebExtension Experimentsという仕組みを使っているアドオンの場合に出ます。WebExtension Experimentsは、Thunderbird 68のレガシーアドオンのように、Thunderbirdの内部を触るために使用されます。Thunderbird 78からの新しい仕組みであるMailExtensionsは制約が大きく、できることが非常に限られてしまうため、この仕組みを使っているアドオンが多いです。Thunderbird 68のアドオンを78対応したアドオンは、ほぼこれかと思います。

内部を自由に触れてThunderbirdとしては管理できないので、最悪ケースで「完全に無制限なアクセス」ということですね。

インストール後、アドオンの許可設定のところを見ると、以下のように「許可設定を必要としていない」とか、具体的なアクセス内容が書かれていたりしますが、これはあくまで一部で、WebExtension Experimentsを使って、それ以外のアクセスを必ずしています。Message Header Toolbar Customizeでは、ThunderbirdのUIに手を出しています。(ツールバーボタンの表示(collapsed属性)を変えるのと、順番を変える)


非常に怖い表現ですが、Thunderbird 68と何も変わらず、これまでもあったリスクを通知するようになっただけとも言えます。

このタイプのアドオンは、アドオン作者との信頼関係(性善説)の上に成り立っています。心配だったら、アドオン作者に思い切って聞いてみるのもいいかなと思います。


アクセス権の理由

最後に、私のアドオンのアクセス許可要求とその理由をまとめておきます。変なことはしていないので安心してください。

  • Check and Send
    • メールアカウントとそのフォルダーへのアクセス
      差出人ごとの設定、差出人情報のポップアップのために差出人情報にアクセスしています。
    • アドレス帳および連絡先の読み取りと変更
      宛先がアドレス帳にあるか/ないかのチェックに使用しています。変更はしていません。
    • 編集および送信するメッセージの読み取りと変更
      送信処理への割り込みと、宛先、件名、本文のチェックのための読み出しをしています。
    • ブラウザーのタブへのアクセス
      誤設定でこれに該当する処理はありません。次回更新で削除します。
      v2.0.13で削除しました。
  • EnForward
    • メールアカウントとそのフォルダーへのアクセス
      オプションでメール送信に使う差出人(サーバ)を指定するために、差出人情報を読みだしています。
    • 編集および送信するメッセージの読み取りと変更
      メール作成ウィンドウで宛先、件名を設定するために使用しています。
    • メッセージの読み取りとマーク付け、タグ付け
      利用できるタグを取得するために使用しています。
    • ブラウザーのタブへのアクセス
      誤設定でこれに該当する処理はありません。次回更新で削除します。
    • 無制限のアクセス(WebExtension Experiments)
      送信メッセージの作成(ローカルに一時ファイルを作成)、メッセージの送信をしています。
  • Evernote Tab
    • ブラウザーのタブへのアクセス
      EvernoteのWebページをタブに開くのに使用しています。
    • ナビゲーション中のブラウザーアクティビティへのアクセス
      タブでEvernoteの操作をするため、Cookieを使用するために使用しています。
  • Maximize Message Pane
    • メールアカウントとそのフォルダーへのアクセス
      フォルダ選択の変更を検知するのに使用しています。これをトリガにメッセージペインの最大化を解除しています。
    • メッセージの読み取りとマーク付け、タグ付け
      表示メッセージの変更を検知するのに使用しています。添付ファイルビューがメッセージ表示のたびに出てきてしまうので、これをトリガに添付ファイルビューを非表示にしています。
    • 無制限のアクセス(WebExtension Experiments)
      メッセージペインなどを非表示にする(collapsed=true)のに使用しています。
  • Message Header Toolbar Customize
    • 無制限のアクセス(WebExtension Experiments)
      ツールバーボタンの非表示(collapsed=true)、ボタンの並べ替えに使用しています。
  • New Tab Button
    • ブラウザーのタブへのアクセス
      誤設定でこれに該当する処理はありません。次回更新で削除します。
    • 無制限のアクセス(WebExtension Experiments)
      メッセージをタブで開くのに使用しています。(WebページのURLを開くAPIはあるのに、メッセージを開くAPIがないため)
  • Priority Switcher
    • メールアカウントとそのフォルダーへのアクセス
      選択中のフォルダのサーバタイプを取得するのに使用しています。IMAPのときだけソースを書き換えるオプションや、ソース書き換えのときのIMAP用の特別処理がいるかどうかの判断に使っています。
    • メッセージの移動、コピー、削除
      ソース書き換えの時に、もとのメッセージを削除するために使用しています。
    • メッセージの読み取りとマーク、タグ付け
      重要度ヘッダ(X-Priority等)の読み出し、ソース書き換えのためのメッセージ全体の読み出し、スター付きの判定のために使用しています。
    • 無制限のアクセス(WebExtension Experiments)
      重要度の変更をしています。また、ソース書き換えのためにローカルに一時ファイルを作成し、それをThunderbirdのデータベースに登録しています。
  • Tag Popup
    • メッセージの読み取りとマーク、タグ付け
      利用可能なタグの読み出し、メッセージにつけられたタグの読み出し、メッセージへのタグ追加/削除のために使用しています。
    • ブラウザーのタブへのアクセス
      誤設定でこれに該当する処理はありません。次回更新で削除します。
    • 無制限のアクセス(WebExtension Experiments)
      ヘッダビューでタグのつけ外しをするため、ヘッダビューのクリックの検出、タグラベルの追加をしています。


0 件のコメント:

人気の投稿(過去7日間)