Chrome拡張を入れる前に、ここを確認
Chrome拡張の詳細ページには「権限」と「サイトへのアクセス」という別々の欄があります。自分たちの拡張7本で確かめたところ、7本とも「権限」欄は空で、判断材料は下の「サイトへのアクセス」だけでした。権限の数を数えるかわりに、その範囲が拡張の機能に必要かどうかで見る方法を書いています。
この記事の見出し
Chrome拡張を入れてよいか迷ったとき、詳細ページには「権限」と「サイトへのアクセス」という別々の欄があります。自分たちの拡張7本で確かめたところ、7本とも「権限」欄には何も表示されませんでした。判断に使えるのは、下の「サイトへのアクセス」のほうです。
「権限」欄は、よく空になる
Chromeの右上にあるその他アイコンから「拡張機能」→「拡張機能を管理」と進み、対象の拡張の「詳細」を開きます(chrome://extensions を直接開いても同じです)。
7本が使っていた権限は storage、scripting、contextMenus、activeTab の4種類で、このうち「権限」欄に出たものはひとつもありませんでした。公式ドキュメントでも、activeTab は <all_urls> の代わりになる一方でインストール時に警告を表示しないと説明されています。
「権限のところに何も書いていないから、たいしたことはしない拡張だ」という読み方は成り立ちません。空になるのは普通のことです。
同じ文言でも、中身は正反対になりうる
「サイトへのアクセス」に出たのは2種類です。表記は画面のまま引用します。
A「アクセスしたウェブサイト上にある自分の全データの読み取りと変更をこの拡張機能に許可します。」開いたページすべてで動きうる、という意味です。7本中4本がこれでした。
B「この拡張機能は、サイト上でユーザーのデータを読み取ったり変更したりできます。ユーザーは、拡張機能がアクセスできるサイトを管理することができます。」こちらは続けてサイトの一覧が出ます。
ただ、同じBでも一覧の中身はまったく違いました。
- Safe Privacy Mask — 15件のサイトが並び、そのサイトでは自動的に動く
- Safe Night Check —
https://mail.google.com/*の1件だけ - Copy & Prep — 一覧が空。
activeTabだけを使い、常時動くスクリプトを持たないため
文言を読むだけでは足りず、一覧の中身まで見ないと判断できません。
見るのは数ではなく、その機能に必要そうかどうか
範囲が広いこと自体は、問題があるという意味ではありません。送信前に内容を確認する拡張は、仕組みのうえでどのページでも動く必要があります。今回Aだった4本には、自分たちの拡張も含まれます。
逆に、Webページと関係の薄い機能なのに表示がAなら、提供元の説明やプライバシーポリシーを読む材料になります。多いか少ないかではなく、その機能に必要そうかで見るほうが、権限名を覚えるより早く判断できます。
用途が限られている拡張なら、先に範囲を絞る手もあります。Googleのヘルプによれば、「詳細」からサイトアクセス権を「クリックされた場合のみ」「特定のサイト」「すべてのサイト」のいずれかに変更できます。ただし同じヘルプには、VPNやプロキシ設定を介して下位レベルのネットワークアクセスを変える拡張は、権限を変更しても影響を受けないという但し書きもあります。
補足: 検証の範囲と、作る側から見た注意点
確認した環境
- Chromium(Playwright 同梱ビルド、chromium-1234)。Google Chrome 本体では確認していません
- Linux(WSL2)、UI言語は日本語
- 拡張は「パッケージ化されていない拡張機能」として読み込んだもの。ストアからインストールした場合の表示は確認していません
- 画面の収集は 2026-08-04。対象は自分たちで作った7つの拡張です。中身とマニフェストの両方を把握しているものでないと、画面の表示が何に由来するのか突き合わせられないためです
- 上の表示Aの日本語文言は、2026-09-12 に Google の公式ヘルプでも同じ文字列を確認しました。ただし選択肢のラベルは、ヘルプが「クリックされた場合のみ」、検証環境の画面が「クリックしたときのみ」で一致していません
マニフェストからは表示を予測できない
作る側から見て意外だったのは、マニフェストの host_permissions を見ても表示を予測できないことでした。Safe Attachment Check は host_permissions をひとつも宣言していませんが、画面は <all_urls> を明示している Safe Privacy Gate と一字一句同じAでした。原因は content_scripts の matches で、公式ドキュメントも host_permissions と content_scripts.matches の両方が警告の対象になると書いています。両者の役割分担はManifest V3の構成を整理した記事に書きました。
また、Safe Privacy Mask は30個のマッチパターンを宣言していますが、画面に出たのは15件でした。https://chatgpt.com/* と https://*.chatgpt.com/* の両方を書いても、広いほうの https://*.chatgpt.com/* だけが表示されます。一覧の件数が少ないからといって、対応範囲が狭いとは限りません。
この手順で分からないこと
- その拡張が実際に通信しているかどうか。 権限表示は「できることの範囲」であって、実際の挙動ではありません。通信の有無は別の手順で確かめる必要があり、その記録は安全性を確認する3点の記事に分けて書いています
- ストアの掲載ページ上の権限表示と、インストール時に出る確認ダイアログ
- 今回のサンプルは自社7本だけです。「この権限なら安全/危険」という一般的な基準を出せる母数ではありません
参照資料
- Google Chrome ヘルプ「拡張機能をインストールして管理する」(外部サイト)— 拡張機能を管理する手順、サイトアクセス権の3つの選択肢、権限変更が及ばない範囲の但し書き。support.google.com/chrome_webstore/answer/2664769
- Chrome for Developers「Declare permissions」(外部サイト)—
host_permissionsとcontent_scripts.matchesの両方が警告の対象になること。最終更新 2024-02-05。developer.chrome.com/docs/extensions/develop/concepts/declare-permissions - Chrome for Developers「The "activeTab" permission」(外部サイト)—
<all_urls>の代わりになるが、インストール時に警告を表示しないこと。最終更新 2012-09-21。developer.chrome.com/docs/extensions/develop/concepts/activeTab
いずれも 2026-09-12 に参照しました。画面の表示は 2026-08-04 時点のものです。