Aikido

ブラウザ拡張機能がなぜ重大なセキュリティリスクとなるのか、そしてその対策とは

執筆者
Dania Durnas

現在、開発者の業務の多くはブラウザ上で行われており、GitHub、クラウドコンソール、CI/CD、社内ツールなどのタブが、すべて認証済みで同時に開かれているのが一般的です。ブラウザ拡張機能は、この環境の上層に位置し、ページコンテンツ、ネットワークリクエスト、セッションデータへのアクセス権を含む広範な権限を持っています。こうした組み合わせにより、ブラウザ拡張機能は攻撃者にとって最も魅力的な標的の一つとなっています。

今年初めに発生したVercelへの侵入事件では、ある1つのブラウザ拡張機能が攻撃の連鎖において大きな役割を果たしましたが、このような事例は今後も続くでしょう。本記事では、拡張機能が実際にどのように機能するのか、多くの組織が依存している対策がなぜ不十分なのか、そして個人レベルと組織レベルの両方で効果的な対策とは何かについて解説します。

ブラウザ拡張機能の仕組みと、なぜ脆弱性があるのか

定義については手短に済ませますが、要するに、ブラウザ拡張機能とは、ブラウザに高度な権限を持つソフトウェアをインストールすることで、ブラウザの機能をユニークな方法で拡張するものです。 

拡張機能はWeb APIに基づいて構築され、ブラウザのプロセス内で実行されます。manifest.jsonファイルには、インストール時に拡張機能が必要とする権限が宣言されます。バックグラウンドのService Workerは常時実行され、ネットワークリクエストの処理や外部サーバーとの通信を担当します。コンテンツスクリプトはページDOMに個別に挿入され、ブラウザでレンダリングされたすべての要素に拡張機能が直接アクセスできるようにします。

拡張機能に「すべてのサイト」へのアクセス権を付与すると、ブラウザが読み込むすべてのページに対して、認証済みセッション、フォーム入力、転送中のAPI を含め、読み取りおよび書き込み権限を与えることになります。拡張機能は多くの情報を 把握できてしまいます拡張機能はパスワードマネージャーの保管庫を直接解読することはできませんが、その必要もありません。適切なホスト権限とコンテンツスクリプトの挿入があれば、自動入力イベントを傍受し、送信前にフォームフィールドの値を読み取ることができます。HTMLソースコード内でパスワードが平文で記述されている場合(残念ながら、こうしたケースは想像以上に多いのです)、入力中に認証情報をキャプチャすることも可能です。

ブラウザ拡張機能に関するもう一つのセキュリティ上の問題は、同意を求めるプロンプトが表示されることなく、更新が黙って自動的に行われる点です。更新の承認を執拗に求めてくる多くのソフトウェアとは異なり、拡張機能がユーザーに通知するのは、すでに持っている権限に加えて追加の権限が必要になった場合のみです。先月までは安全だった拡張機能でも、今夜悪意のある更新が配信されれば、それをインストールしているすべてのユーザーが自動的にその更新を受け取ることになります。

なぜブラウザ拡張機能が攻撃に利用されているのでしょうか?

少なくともChromeのリリース以来、「ブラウザこそが新しいデスクトップだ」と言われてきましたが、開発者にとっては、その現実もそう遠くないでしょう。もしそれが本当なら、拡張機能はまさにそのデスクトップ上で動作するアプリケーションであり、GitHubやAWSコンソールにアクセスできる存在となります。

Cookieは脆弱性のある要素の一つです。セッション Cookie は外部へ持ち出され、再利用される可能性があり、これにより攻撃者はどこからでも被害者が認証されているすべてのリソースにアクセスできるようになります。したがって、攻撃者にとって、認証済みのブラウザセッションへの持続的なアクセス権は非常に価値のあるものとなります。 Glasswormは、GitHub、npm、VS Codeにわたる数百のプロジェクトを侵害した、現在進行中のサプライチェーン攻撃です。 Aikido発見した2026年の展開では、この攻撃キャンペーンは、ブラウザセッションからセッションクッキーやトークンを盗むために、特定のブラウザ拡張機能をインストールするマルウェアを展開していました。攻撃者は、拡張機能こそがそのデータを盗むための簡単な手段であることを知っていたのです!

悪質な拡張機能を作成して公開することも、比較的容易です。概して、Chrome Web Storeの審査プロセスは最小限にとどまっており、すでに公開されている拡張機能の更新については、最初の審査以降はほとんど精査されません。 例えば、インドの研究者たちは2025年1月から3月にかけて、実際に悪意のある拡張機能を作成し、Chrome Web StoreとFirefox Add-ons Storeの両方に提出しましたが、そのうちのいくつかは審査を通過してしまいました。彼らは、Cookieの窃取、キーロギング、スクリーンショットの取得、閲覧履歴の追跡、カメラの起動、広告の挿入、Gmail受信トレイへのアクセスなど、9種類の拡張機能をテストしました。Firefoxは、特に悪意のある動作が「生産性向上ツール」と称するソフトウェアに組み込まれている場合、ほぼすべてを許可してしまいました。

拡張機能は、表立ってではなく密かに売買されることもあります。 「The Great Suspender」は、所有権の移譲が失敗に終わった典型的な事例です。これはかつて、広く愛用され、多くのブラウザにインストールされていたタブ管理拡張機能でした。作者は、長年にわたり無報酬で拡張機能のメンテナンスを続けることに疲れ果て、それを他者に売却しました(評価されないメンテナンス担当者の典型的な物語です)。新しい所有者は、トラッキングや広告挿入機能を導入するアップデートを公開しました。研究者がこの新たな動作を指摘した頃には、すでに数週間もの間、何百万ものブラウザにインストールされていた後でした。 

ブラウザ拡張機能に関連するサイバー攻撃にはどのようなものがありますか?

近年、ブラウザ拡張機能がいくつかの大規模な攻撃の原因となっている。悪意のあるペイロードを仕込んでいたものもあれば、単に侵害されていたものもあった。

今年初めに発生したVercelのセキュリティ侵害事件を例に挙げよう。あるVercelの従業員が、以前にContext.aiのChrome拡張機能をインストールし、自身のGoogle WorkspaceへのOAuthアクセス権を付与していた。その後、Context.aiの従業員がマルウェアを仕込み、その従業員のアカウントを乗っ取った。マルウェアは、Context.aiのバックエンドに保存されていた認証情報やOAuthトークン(VercelのOAuthトークンを含む)を盗み出し、攻撃者はそのトークンを利用してVercelの内部システムに侵入した。 

過度に強力で長期間有効なOAuth認証や、機密扱いとするべき環境変数の確認・無効化が行われていないなど、他にもセキュリティ上の不備が見受けられますが、今回の攻撃の侵入経路となったのはChrome拡張機能でした。拡張機能自体は悪意のあるものではありませんでしたが、機密データへのアクセス権限を持っており、侵害されてしまいました。

2024年後半に発生したCyberhavenのセキュリティ侵害は、拡張機能がマルウェア化した事例である。この事件では、開発者アカウントに対するフィッシング攻撃を通じて、CyberhavenのChrome拡張機能が侵害された。悪意のある更新プログラムが全ユーザーに配信され、誰かがそれに気付くまで24時間にわたり稼働し続けた。 

どちらの場合も、ブラウザ拡張機能へのアクセスが、その後のすべてを可能にした第一歩でした。

ブラウザ拡張機能のセキュリティ対策が機能しない理由 

多くの組織には、正式な拡張機能に関するポリシーが存在しません。ポリシーを定めている組織でも、すべてをブロックしようとする(開発者や技術に詳しい人なら簡単に回避できてしまう)か、常に多少なりとも古くなっている手動で管理される許可リストに頼るかのどちらかになりがちです。 

このリストを厳選し、最新の状態に保つことには、明らかな障壁があります。拡張機能の作成者の約半数は身元が不明で、Gmailアドレスによる認証のみが行われており、また、公開者の5人に4人は拡張機能を1つしか公開していません。そのため、評判に基づいて拡張機能を管理する方法は、ごく一部の拡張機能にしか適用できません。さらに、大手企業でさえ完全にクリーンとは言えない拡張機能を公開しているのが実情です。

研究者らは、ある匿名の調査報告の一環として、合計3,740万回のインストール実績を持つ287の拡張機能から、閲覧履歴が不正に取得されていることを突き止めた。これを検知する唯一の方法はトラフィックの挙動分析であり、説明文を読むだけでは発見できなかっただろう。対象となった拡張機能の多くは、よく知られた名称のものだった。

拡張機能は、気づかないうちに更新されたり、開発者が変わったりすることもあるのは言うまでもありません。手動で拡張機能をチェックするだけでは、常に最新の状態を保つことは不可能です。 

ブラウザ拡張機能を安全に利用する方法 

ブラウザ拡張機能は、その仕組み上かなりリスクが高いものですが、完全に排除することなく、より安全に利用する方法もいくつかあります。

個人レベルでは、いくつかの簡単な予防策があります:

  • 現在、ブラウザにどの拡張機能がインストールされているかを確認し、その権限を見直してください。拡張機能は、ユーザーに通知することなく変更されることがあるため、数年前にインストールして以来、一度も確認していない拡張機能についても見直すことをお勧めします。
  • 不要な拡張機能や、権限の範囲が広すぎる拡張機能はアンインストールしましょう。スプレッドシートの書式設定を行うためにすべてのサイトへのアクセスを必要とする拡張機能は、少なくとも不審に思うべきです。Googleアカウントの権限ページでは、拡張機能を含め、どのアプリケーションがGoogleアカウントにアクセスできるかを確認できます。
  • 権限を過剰に要求する拡張機能のインストールは避けてください。小規模な開発者や無名の開発者が提供する、広範な権限を要求する拡張機能には注意してください。
  • ブラウザのプロファイルを使用すれば、業務上の機密性の高い作業と一般的なブラウジングを分離できるため、万が一問題が発生した場合の影響範囲を限定できます。業務用のプロファイルと個人用のプロファイルは分けて管理してください。 
  • 拡張機能のインストールについては、npmの依存関係を扱うのと同じくらい慎重に検討してください。入念に下調べを行ってください。

これは個人のパソコンや少人数のチームではうまく機能しますが、実際には拡張性が低く、会社全体でこれを徹底させることもできません。組織レベルで機能するシステムは、次のようなものです: 

  • 手動で更新される静的なリストではなく、リアルタイムの脅威インテリジェンス・フィードに基づいて、事前にブロック設定を行う
  • 拡張機能を継続的にスキャンし、動作の変化をいち早く検知する
  • 全社的な可視化により、問題が発生する前に何が導入されているかを把握できます
  • エンジニアリング、営業、財務の各部門が異なるリスク特性とニーズを有しているという事実を考慮した方針
  • このようなブログを共有したり、セキュリティ研修を実施したりして(Riotにはこの分野で優れた製品があります)、個人向けのベストプラクティスを全員に周知徹底しましょう。

すべてのデバイス管理ツールがこの種のブラウザ拡張機能の管理に対応しているわけではないため、お使いのMDMツールの機能を確認し、対応しているかどうかを確認する必要があります。

Aikido 、ブラウザ拡張機能のセキュリティにおいて、このモデルに対応したソリューションです。 これは、開発者向けデバイスの攻撃対象領域(ASO)向けに構築された軽量エージェントであり、以下の機能を網羅しています。既知の悪意ある拡張機能のインストールを事前にブロックし、新規公開された拡張機能に対して48時間の保留期間を設け、セキュリティチームがすべての開発者デバイスに何がインストールされているかを可視化できるようにします。また、チームレベルのポリシー制御と承認ワークフローにより、開発者の作業を妨げることなく運用できます。対応範囲はブラウザ拡張機能にとどまらず、npm、PyPI、IDE拡張機能、AIエージェントマーケットプレイスにも及びます。

次なるブラウザ拡張機能による攻撃を阻止しよう

Vercelへの侵入事件は、ブラウザ拡張機能がキルチェーンの一環となる最後の事例にはならないだろう。攻撃対象領域の価値があまりにも高いため、個人も企業も万全の備えをしておく必要がある。

オープン依存関係 に対して適用されるのと同じ厳格な姿勢が、ここでも依存関係 。そうした姿勢で臨む組織は、インシデントが発生して初めて対応を迫られる組織よりも、はるかに有利な立場に立てるだろう。

Aikido 詳細をご覧になるか、Aikido フィードを閲覧して、オープンソース・エコシステム全体で検出された情報をリアルタイムで確認してください。

{{cta}}

よくあるご質問

ブラウザ拡張機能がセキュリティ上のリスクとなるのはなぜでしょうか?

ブラウザ拡張機能はブラウザプロセス内で動作し、インストール時に広範な権限を要求することがあります。すべてのサイトにアクセスできる拡張機能は、ページの内容を読み取り、ネットワークリクエストを傍受し、ブラウザ内で行うあらゆる操作において認証済みセッションにアクセスすることができます。これには、社内ツールやクラウドコンソール、ページを経由するあらゆる認証情報やトークンも含まれます。この権限モデルは設計上強力であり、その強力さこそが、拡張機能を攻撃者にとって魅力的なものにしているのです。

ブラウザ拡張機能は私のパスワードを盗むことができますか?

必ずしも直接的な方法ではないが、多くの場合、効果的な手段となる。拡張機能はパスワードマネージャーの暗号化された保管庫を解読することはできないが、そもそもその必要はない。適切なホスト権限とコンテンツスクリプトの挿入があれば、拡張機能は自動入力イベントを傍受し、送信前にフォームフィールドの値を読み取ることができる。HTMLソースのどこかに認証情報が平文で表示されていれば、コンテンツスクリプトへのアクセス権を持つ拡張機能はそれを読み取ることができる。十分な権限を持つ悪意のある拡張機能であれば、ユーザーが認証情報を入力している最中にそれをキャプチャすることも可能だ。

ブラウザ拡張機能は自動的に更新されますか?

そうです。しかも、ユーザーの同意を求めることなく行われます!更新の承認を求めるプロンプトを表示する一般的なソフトウェアとは異なり、ブラウザ拡張機能はバックグラウンドで黙って更新されます。唯一の例外は、更新によって当初付与された権限を超える追加の権限が要求される場合です。今夜、悪意のある更新を受け取った正常な拡張機能であっても、その更新はすべてのユーザーに自動的に適用されてしまいます。拡張機能の動作を常に監視していない限り、その事実を知る術はありません。

‍ブラウザ拡張機能が安全にインストールできるかどうか、どうすれば判断できますか?

これといった確実な判断基準はありませんが、確認すべき点がいくつかあります。拡張機能が要求する権限と、その拡張機能が実際に実行する必要がある処理が一致しているかを確認してください。また、開発元が信頼できるかどうかを確認しましょう。判断に迷った場合は、本番環境のコードベースに見慣れない依存関係を追加する場合と同じように慎重に検討してください。

なぜエンドポイント検出では、悪意のあるブラウザ拡張機能の活動を検知できないのでしょうか?

ほとんどのエンドポイント検知・対応(EDR)ツールは、ブラウザ拡張機能による脅威を見逃してしまいます。なぜなら、悪意のある拡張機能が行うすべての動作は、Chromeが通常行う動作と区別がつかないからです。ネットワークリクエストやDOMへのアクセスはブラウザプロセス内部で行われるため、システムレベルでは正当なブラウザの動作と見分けがつかないのです。

ブラウザ拡張機能のセキュリティはどのように管理すればよいですか?

組織は、IDベースの制御よりも行動ベースの制御を優先すべきです。承認済み拡張機能の手動によるホワイトリスト管理では、サイレントアップデートや所有権の移転に対応できません。 効果的な対策としては、継続的に更新される脅威インテリジェンスフィードに基づいたインストール前のブロック、既にインストールされている拡張機能の変更を検知するための継続的な行動監視、そしてデバイス全体で実際に何がインストールされているかを全社的に可視化することが挙げられる。また、ポリシー策定にあたっては、エンジニアリング部門、営業部門、財務部門がそれぞれ異なるリスクプロファイルを持ち、拡張機能に対するニーズも異なるという事実を考慮する必要がある。

Chromeの拡張機能は安全なのでしょうか?Chromeの拡張機能は本質的に危険というわけではありませんが、その設計上、現実的なリスクを伴っています。権限モデルにより、拡張機能はブラウザの動作に対して広範なアクセス権限を持ち、Chrome ウェブストアの審査プロセスは最小限にとどまっています。インストール時には問題なさそうに見えた拡張機能でも、悪意のある更新を受けたり、新しい所有者に売却されたり、開発者のアカウントを通じて侵害されたりする可能性があります。安全かどうかは、その拡張機能自体、発行元、そして要求されている権限に大きく左右されます。

企業はブラウザ拡張機能を監視できるのか?多くの組織では、自社のデバイス群にどのような拡張機能がインストールされているか、またそれらの拡張機能がどのような動作をしているかについて、把握が不十分なのが実情です。MDMツールでは許可リストを適用することはできますが、インストール後の動作の変化を捕捉することはできません。EDRツールは、システムレベルでは通常のブラウザ動作と見分けがつかないため、拡張機能の活動のほとんどを検知できません。デバイス上に常駐し、リアルタイムの脅威インテリジェンスフィードと照合してインストールをチェックする専用ツールこそが、現時点で最も信頼性の高いアプローチです。

どのように Aikido Endpointはブラウザのセキュリティにどのように役立つのでしょうか? 

Aikido Endpointはデバイス上に常駐し、拡張機能のインストールが行われる前にすべてを検査し、既知の悪意のある拡張機能を自動的にブロックします Aikido Aikidoは、継続的に更新される脅威インテリジェンスフィードです。また、新規公開された拡張機能に対しては48時間のブロックを適用します。これは、新たな脅威が検出されずにすり抜ける可能性が最も高い期間にあたります。セキュリティチームは、すべての開発者デバイスに何がインストールされているかを可視化でき、チームレベルのポリシー制御と承認ワークフローにより、開発者の作業を妨げることなく管理できます。 ブラウザ拡張機能の監視機能は、npm、PyPI、IDE拡張機能、AIエージェントマーケットプレイスの対応範囲とともに、Endpointの有料プランに含まれています。

共有:

https://www.aikido.dev/blog/browser-extension-security

ニュースを購読する

4.7/5
誤検知にうんざりしていませんか?
10万人以上のユーザーと同様に Aikido をお試しください。
今すぐ始める
パーソナライズされたウォークスルーを受ける

10万以上のチームに信頼されています

今すぐ予約
アプリをスキャンして IDORs と実際の攻撃パスを検出します

10万以上のチームに信頼されています

スキャンを開始
AI がどのようにアプリをペンテストするかをご覧ください

10万以上のチームに信頼されています

テストを開始

今すぐ、安全な環境へ。

コード、クラウド、ランタイムを1つの中央システムでセキュアに。
脆弱性を迅速に発見し、自動的に修正。

クレジットカードは不要です。 | スキャン結果は32秒で表示されます。