Firefoxの拡張機能またはChromeが WebExtensions権限 を要求しないと仮定すると、この拡張機能はどのような害を及ぼす可能性がありますか?
または別の言い方をすれば、通常のWebサイトでは実行できなかった、権限のない拡張機能が実行できる(悪意のある)アクションにはどのようなものがありますか?
これは、情報を見つけるのが驚くほど難しいです。
デフォルトでは、拡張機能には コンテンツセキュリティポリシー (CSP)が適用されます。
"script-src 'self'; object-src 'self';"
この場合、self
キーワードは拡張パッケージを参照するため、拡張パッケージ自体に含まれているすべてのファイルにアクセスできます。これは、デフォルトのCSPを上書きしない限り、拡張機能が他の場所でホストされているスクリプトにアクセスできないことを強く示唆しています。同様に、明示的に許可しない限り、eval
を使用してスクリプトを実行することはできません。
ただし、これは実際には権限を必要としません。したがって、理論的には、ブラウザを危険にさらす可能性のあるJSの自己完結型の欠陥がある場合、権限のない拡張機能が任意のコードを実行する可能性があります。これは限られた利点です-そのような欠陥はおそらくWebページからも機能するため、要件を満たしていません。
example webextensions のリポジトリに基づいて、特定のサイトのスタイル(例:borderifyの例)、ユーザーに表示されるテキストコンテンツ(例:Emoji Substitutionの例)を変更するための明示的な権限は必要ありません。または、ページからシステムクリップボードにデータをコピーするには(選挙対クリップボードの例)-クリップボードの例では、「content_scripts
値<all_urls>
によって暗黙的に付与される「すべてのWebサイトのデータにアクセスする」機能が必要です。
したがって、サイトがこれらをブロックする可能性があるように見えても、いくつかの潜在的な悪意のあるアクションを確認することが可能です(コンテンツスクリプトを許可しないaddons.mozilla.orgに関するメモを参照):
これらはすべて、悪意のある俳優がユーザーがどのページにアクセスするかについて合理的な推測を行うことができるかどうかに依存しますが、大規模なユーザーベースが想定される場合、これは数のゲームになります-おそらく誰かが最終的にターゲットページにアクセスします。