ブラウザ拡張機能は信頼しにくくなっている
- Aisha Washington

- 6月17日
- 読了時間: 14分
ブラウザ拡張機能は現在、複数の報告で人気のアドオンが静かにデータアクセスを拡大していることが明らかになり、新たな scrutiny にさらされています。主要なフォーラムの開発者やユーザーは、基本的な機能を超える権限要求を指摘しています。
最近の事例では、最初は限定的な機能を備えていた拡張機能が、後になって全閲覧履歴と Cookie へのアクセスを要求するようになりました。これらの変更は、ユーザーがほとんど気づかないサイレントアップデートを通じて行われます。
このパターンは、ユーザーが望む利便性機能を利用するために、どの程度のアクセスを許可すべきかという直接的な疑問を投げかけています。
Permission creep raises user alarms
今春、広くインストールされているいくつかの拡張機能が、マニフェストを更新して追加のホストとストレージ権限を要求しました。レビュアーは公開ストアのリストを通じて変更を追跡し、単一サイトアクセスから広範な URL パターンへの移行を発見しました。たとえば、あるパスワードマネージャー拡張機能は、自身のドメインのみへのアクセス要求から、マイナーバージョンアップ後に <all_urls> を要求するようになり、「将来の生産性統合」を理由に挙げましたが、リリースノートにはその機能は一切記載されていませんでした。
ユーザーは、新機能の発表もなくこれらのアップデートが表示されることに気づきました。明確な説明がないため、多くの人が追加の権限が実際にデバイス上で何を有効にするのか疑問に思いました。Reddit や Chrome Web Store でのフォーラム議論には、「閲覧履歴を読み取る」といった権限差分のスクリーンショットが「サービス品質の向上」といった曖昧な文言とともに投稿されていました。
セキュリティ研究者は、履歴または Cookie の権限が一度許可されると、拡張機能が無関係なサイトのログイントークンを読み取れるようになると指摘しています。この機能は、ユーザーがアップデートノートで宣伝された新機能と一切やり取りしなくても有効なままです。ある監査では、広告ブロック拡張機能が、権限を正当化していた機能が削除された後も 9 ヶ月間 cookies アクセスを保持し続け、セッショントークンが拡張機能が後から注入する任意のスクリプトに晒される状態になっていました。
個別の事例を超えて、permission creep は予測可能な経済的インセンティブに従っています。拡張機能開発者は初期承認と良好なストア評価を確保するため、最小限のスコープから始めます。一定規模のユーザー基盤が確立すると、新たな収益化目標や機能ロードマップが権限拡大の圧力となります。Chrome および Firefox ストアがアップデートを低摩擦のイベントとして扱うため、開発者は追加の摩擦をほとんど伴わずに広範なアクセスを導入できます。このダイナミクスにより、便利なツールが、数ヶ月または数年前に異なる条件でユーザーが承諾した永続的なデータ収集サーフェスへと変わってしまいます。
当初はノート取りのためにアクティブタブアクセスのみを要求する生産性拡張機能を考えてみてください。100 万人のユーザーに到達した後、同じチームは「クロスデバイス同期」をサポートするため、履歴とストレージ権限を追加することがよくあります。このアップデートは、ストアがルーチンのメンテナンスリリースとして扱うため静かに配信されます。2 年前に単一の限定的な目的で拡張機能をインストールしたユーザーは、気づかないうちに自身の全ナビゲーショングラフを晒すことになります。
Data exposure risks grow with each added permission
ブラウザストアは、訪問したすべてのページへの包括的な読み取りアクセスを要求する拡張機能を依然として承認しています。このような広範なスコープにより、単一の侵害されたアドオンが追加のプロンプトなしでナビゲーションログやフォーム入力を収集することが容易になります。人気拡張機能の独立した分析では、多くの拡張機能がプライバシーポリシーに明記されていない個人識別情報にアクセス可能な権限を要求していることが確認されています。
独立監査により、上位50位以内の拡張機能のうち少なくとも3つが、公開されたコードで使用されていない権限を保持していることが判明しました。未使用の権限は、同じ開発者アカウントから今後プッシュされるアップデートでも利用可能な状態でした。あるノート取り拡張機能が所有権を変更した際、買収した企業は直ちに、隣接するタブで開かれたパスワードリセットメールを含む完全なページコンテンツを自社の分析エンドポイントに送信し始めました。
これらのアカウントが後に所有権を変更した際、新たな管理者は同じ広範なアクセス権を引き継ぎました。ストア側では譲渡時に追加の審査手順は必要ありませんでした。この「権限継承」の問題により、ユーザーは拡張機能が売却、合併、放棄された後に復活するたびに、実質的に未知の第三者に対して再同意することになります。
下流への影響は即時のデータ漏洩にとどまりません。拡張機能が閲覧履歴やCookieを読み取れる場合、訪問した医療サイト、政治的所属、金融サービスなどを含む詳細なユーザープロファイルを作成できます。これらのプロファイルはデータ市場で価値のある商品となり、ユーザーが同意したことのない二次経済を生み出します。データ販売を行わないと主張する拡張機能であっても、アナリティクス提携やアドオン内にバンドルされたSDKを通じて間接的にアクセスを貸し出すことが可能です。
現実世界での影響は定期的に現れています。あるユーザーは、見た目には無害な「検索機能強化」の権限を付与した後、拡張機能が医療に関する検索クエリをデータブローカーに転送していたことを発見しました。その結果表示されたターゲット広告により、同じ家庭用ネットワークを共有する家族に機密性の高い健康上の関心事が明らかになりました。
ChromeとFirefoxのポリシーは権限の拡大に遅れを取っている
ストアポリシーでは開発者に権限リクエストの正当性を求めていますが、拡張機能カテゴリ全体での執行は一貫していません。レビューチームは、明言されたポリシー範囲内に留まるスコープの拡大よりも、明白なマルウェアに重点を置いています。Googleの内部ガイドラインでは「必要最小限」の権限を求めていますが、レビュアーは「ページ要約」といった目的で webRequest や history をリクエストする拡張機能を却下することはほとんどありません。
Firefoxは昨年、特定の機密APIに対する権限レビューを導入しましたが、この設定はほとんどのユーザーでデフォルトでオフになっています。Chromeは依然として、技術的な用語で列挙されたリクエスト権限を多くの人がスキップするワンタイムのインストールダイアログに依存しています。どちらのブラウザも、目的が1つのドメインに限定される場合でも、すべてのサイトに対する永続的なアクセスを拡張機能に許可し続けています。ポリシーの文言と実際の権限範囲のギャップは拡大し続けています。
執行の格差は地理的地域間でも見られます。プライバシー規制の緩い市場で人気の拡張機能は、GDPRの期待値が厳しいEU向けのものよりも承認が早い傾向にあります。このパッチワーク状態は、規制の緩い地域で先に境界を押し広げようとする開発者に有利な不公平な競争環境を生み出しています。
Manifest V3が権限の状況をどのように変えるか
Manifest V3への移行は、長時間実行されるバックグラウンドスクリプトを削減し、永続的なデータ収集を制限することを目的としていました。実際には、多くの拡張機能がデータ収集ロジックをサービスワーカーやdeclarativeNetRequestルールに移行しただけで、これらも依然として広範なホスト権限を必要とします。開発者はリアルタイムのフィッシング検知などの機能には広範なアクセスが必要だと主張しますが、プライバシー擁護者は同じ目的を狭い範囲のユーザー主導チェックで達成可能だと反論しています。
Mozillaのテレメトリによる初期データでは、Manifest V3採用後にバックグラウンドスクリプトの存続期間がわずかに減少したものの、cookies や history をリクエストする拡張機能の数はほぼ横ばいでした。これは、仕様変更が根本的な権限拡大の問題に対処できていないことを示唆しています。
比較分析によると、Manifest V3のdeclarativeNetRequest APIは動的スクリプト挿入を制限する一方で、広範なホストマッチングパターンを依然として許可しています(Chrome Manifest V3 permission model)。<all_urls> へのアクセスを宣言する拡張機能は、ほぼすべてのナビゲーションイベントを観測し続けられますが、その観測を異なる技術的チャネル経由でルーティングするだけです。ストアが包括的な許可ではなく個別のホストパターン単位で正当性を要求するようになるまで、この移行は部分的な救済に留まります。
著名な権限論争のケーススタディ
2022年、人気の高い「Grammarly」拡張機能は、研究者によって銀行サイトのパスワード欄内のテキストを理論上読み取れる可能性があることが発見され、公式ドキュメントの記載とは異なるとして非難を浴びました。Grammarlyが迅速にフィールド検出ルールを narrowed したものの、この事件をきっかけに数千人のユーザーが権限を取り消しました。
もう一つの事例は、Ethereumウォレット拡張機能がアップデートで clipboardRead 権限を静かに追加したものです。セキュリティアナリストは、クリップボードデータが拡張機能の主張する管轄外にあるサードパーティの分析会社に送信されていたことを突き止めました。ストアは最終的にその拡張機能を削除しましたが、数ヶ月前に権限を付与していたユーザーには遡及的な通知はありませんでした。
あまり知られていないものの同様に示唆に富む事例として、人気の語学学習アドオンが開発者からマーケティング会社に売却されたケースがあります。新しい所有者は数週間以内にホスト権限を拡大し、ショッピングサイトの全ページコンテンツをキャプチャして、提携eコマースプラットフォームへ商品レコメンデーションを供給するようになりました。独立した研究者がネットワークログを公開した後、ようやくストアが介入して権限をロールバックしました。
便利なツールを失わずに露出を減らす実践的な手順
ユーザーは最近のコードコミットやissueトラッカーを確認した上で権限を付与することでリスクを抑えられます。ソースを公開し、権限に関する質問に回答する拡張機能は、時間の経過とともにスコープを狭く保つ傾向があります。「Extension Source Viewer」などのChrome用ツールを使えば、アップデート適用前にunpacked manifestを検査できます。
インストール済み拡張機能を四半期ごとにレビューし、不要になったものを削除することで、アクティブな権限を保持するバックグラウンドプロセスの数を減らせます。ブラウザの組み込みツールは以前のバージョンより権限一覧を明確に表示するようになりました。Chromeの chrome://extensions ページとFirefoxの about:addons のいずれも、拡張機能ごとの権限カードを表示し、ツールをアンインストールせずに個別に取り消すことができます。
Mozillaの最小限の権限を要求するためのガイダンスは、開発者が最初からオーバースコープを避けるのに役立ちます (Mozilla extension permission best practices)。
複数のソースからコンテキストを必要とするタスクでは、閲覧パターンをサードパーティサーバーに送信しないローカルデータ保持型の代替手段が有効です。remioのようなツールはストア提供の拡張機能に頼らず、ユーザー管理の環境内で選択したコンテンツをキャプチャします。企業ユーザーはさらに、エンドポイント管理ツールを通じて承認済みセット外の拡張機能のサイドローディングをブロックするallow-listを強制できます。
複数のデバイスを管理するユーザーは、これらのレビューをプロファイル間で伝播させる必要があります。仕事用ノートPCで付与した権限がアカウントベースの拡張機能インストールを通じて同期され、個人のスマートフォンやタブレットでも同じ広範なアクセスが意図せず露出する可能性があります。
未解決のまま残る制限とリスク
注意深いユーザーであっても、システム上の制限に直面します。ストアのレビュー process は主に自動化された静的解析に依存しており、所有権変更後の将来の動作を予測できません。Manifest V3のサンドボックス改善でも、広範な権限が付与されると許可されたネットワークリクエスト経由でのデータ漏洩が依然として可能です。GDPRやCCPAなどの規制フレームワークは開発者に義務を課しますが、ポリシーの実施に失敗したブラウザストアに対する直接的な救済手段はほとんど提供していません。
Chromeの権限警告に関するドキュメントは、Manifest V3下でも広範なホストパターンが最小限のユーザー向けアラートしかトリガーしないことを強調しています (Chrome permission warnings overview)。
もう一つのリスクは「パーミッションレグレッション」です。拡張機能が世間の反発を受けて宣言した権限を減らした後、監視が緩んだ後のアップデートで再び導入する可能性があります。権限拡大に対する必須の再同意プロンプトがないため、ユーザーはこれらの逆転に気づかないままです。
さらに、拡張機能内のWebAssemblyモジュールの台頭により、監査がさらに複雑化しています。難読化されたバイナリコードは、静的スキャナが見逃すデータ処理ロジックを隠すことができ、悪意のあるまたは怠慢な開発者に、紙の上ではコンプライアンスを装いつつ実効的なデータアクセスを拡大するもう一つの手段を提供します。
開発者のインセンティブと責任ある権限設計
開発者は権限の範囲を決定する際に実際のトレードオフに直面します。狭い権限は機能の品質や知覚される価値を制限する可能性がある一方、広い権限は開発速度を加速させ、データパートナーシップを通じた新たな収益源を開拓します。責任あるチームは、詳細な変更ログを公開したり、権限付与時に拡張機能内で説明を提供したり、各権限を具体的なユーザー利益に結びつける公開ロードマップを維持したりすることで、この緊張を緩和します。これらの慣行は高いリテンション率や否定的なレビューの減少と強く相関しています。
最初から最小権限設計を採用するチームは、しばしば計算をページコンテキストに移行したり、ユーザーが明示的にアクションをトリガーしたときのみ一時的な昇格アクセスを要求したりすることで、依然として魅力的な機能を提供できることに気づきます。この「ジャストインタイム」モデルは、機能を維持しつつ長期的な攻撃対象領域を削減します。
新たな技術的・エコシステム的対策
ブラウザベンダーは状況を変え得る新しいプリミティブを試行しています。Chromeが提案する「Extension Manifest V3 privacy sandbox」APIは、拡張機能が生のページコンテンツにアクセスせずに集計分析を実行できるようにすることを目指しています。Firefoxは、インストール後に拡張機能が新しいホスト権限を追加するたびに再認証を強制するオリジンごとの同意プロンプトをテストしています。
サードパーティの監査機関は、人気拡張機能の機械可読な権限履歴の公開を開始しています。これらのデータセットにより、研究者は突然のスコープ拡大を自動検出し、監視者を監視するブラウザ拡張機能を通じてユーザーに通知できます。まだ初期段階ですが、このようなツールは、ストアが必要なメタデータを公開すればより大きな透明性が技術的に実現可能であることを示しています。
FAQ
拡張機能が現在保持している権限を確認するにはどうすればよいですか?
chrome://extensions または about:addons を開き、拡張機能のカードをクリックして、記載されている権限を確認してください。コア機能に不要と思われるものは取り消してください。
ブラウザを切り替えれば問題は解決しますか?
完全には解決しません。ChromeとFirefoxはいずれも同じ基本的な権限モデルを継承しています。ただし、Firefoxのより厳格なデフォルトプロンプトとオープンソースのレビュー文化により、一部のユーザーにとっては問題がより早く表面化する可能性があります。
有料またはエンタープライズ向けの拡張機能はより安全ですか?
料金はより狭い権限を保証するものではありません。いくつかの商用ツールは無料の代替品と同じ広いスコープを要求します。価格帯に関係なく、必ずマニフェストとプライバシーポリシーを確認してください。
今後12ヶ月で注目すべき点は?
ChromeおよびFirefoxストアからの四半期透明性レポート、必須の再同意フローに関する発表、および独立監査人による新しいpermission-diffツールのロールアウトを監視してください。これらのシグナルは、意味のある構造的変化が起きているのか、それともpermission creepが unchecked のまま続くのかを示すでしょう。
急成長する技術関連のストーリーを追うチームは、ソースノート、会議の文脈、フォローアップ質問を一緒に保管する場所を必要とすることがよくあります。軽量なAI knowledge baseは、ニュースサイクルが変わった後でもそれらの動くピースを再訪しやすくします。
急成長する技術関連のストーリーを追うチームは、ソースノート、会議の文脈、フォローアップ質問を一緒に保管する場所を必要とすることがよくあります。軽量なAI knowledge baseは、ニュースサイクルが変わった後でもそれらの動くピースを再訪しやすくします。


