「グーグルクローム」ウェブブラウザを担当するグーグル開発者 Chrome88に含めることを発表しました (19年2021月XNUMX日に発売予定) マニフェストの第XNUMX版の 不適切なコンテンツとセキュリティをブロックするための多くの追加作業に違反したため、ブラウザ拡張機能の開発者の間で多くの競合が発生しました。
それは注意する必要があります XNUMX番目のバージョンを使用するプラグインとの互換性 マニフェストから しばらく滞在します。 マニフェストV2のサポートの終了はまだ決定されていませんが、新しいマニフェストへの移行期間は少なくともXNUMX年続きます。
Como recordatorio、 Chromeマニフェストは、プラグインによって提供される機能とリソースを定義します。
新しいマニフェスト 安全性を向上させるためのイニシアチブの一部です、プライバシー、およびプラグインのパフォーマンス。 変更の主な目的は、高性能で安全なプラグインの作成を容易にし、低速で安全でないプラグインの作成を困難にすることです。
マニフェストV3の導入により、リモートでホストされるコードは許可されなくなります。 このメカニズムは、悪意のある攻撃者による攻撃ベクトルとして使用され、Googleのマルウェア検出ツールをバイパスし、ユーザーのプライバシーとセキュリティに重大なリスクをもたらします。
主な不満 新しいマニフェストで webRequestAPI操作ロックモードのサポートの終了に関連しています、読み取り専用モードに制限されます。
Chrome forEnterpriseエディションの場合のみ例外が発生します。 これは、webRequestAPIによって引き続きサポートされます。 Mozillaは新しいマニフェストに従わないことを決定し、FirefoxはwebRequestAPIを完全に使用し続けます。 代わりに、新しいマニフェストのコンテンツをフィルタリングするためのwebRequest APIは、宣言型APIdeclarativeNetRequestを提案しました。
新しいdeclarativeNetRequestAPIは、ブロッキングルールを独立して処理し、カスタムフィルタリングアルゴリズムの使用を許可せず、条件に応じて複雑で重複するルールを設定することを許可しない、すぐに使用できるユニバーサル組み込みフィルタリングエンジンへのアクセスを提供します。
declarativeNetRequest APIへの移行の理由として、 プライバシーに関する懸念事項は次のとおりです。 新しいAPIを使用すると、プラグインはすべてのデータストリームに無制限にアクセスできなくなります。これには、機密性の高いユーザー情報が含まれる可能性があります。
グーグルは表現された問題のいくつかを軽減しようとしました declarativeNetRequest APIの影響を受けるプラグイン開発者(たとえば、プラグインが正しく機能するにはdeclarativeNetRequest機能が不十分であると作成者が考えているuBlock Origin)との話し合い中に、プラグインは機能しなくなります。
プラグイン開発者の希望に応じて、eはdeclarativeNetRequestを使用するためのサポートを追加しました さまざまな静的ルールセットの場合、正規表現でフィルタリングし、HTTPヘッダーを変更し、ルールを動的に変更および追加し、要求パラメーターを削除および置換します。
新しいマニフェストでは、プラグインの互換性に影響する次の変更も導入されています。
- バックグラウンドプロセスの形式でサービスワーカーを実行するための移行。これには、開発者がいくつかの追加のコードを変更する必要があります。
- 権限をリクエストするための新しい詳細モデル:プラグインをすべてのページで同時にアクティブ化することはできません(「all_urls」権限は削除されています)が、アクティブなタブのコンテキストでのみ機能します。ユーザーは、各サイトのプラグインの動作を確認する必要があります。
- クロスオリジンリクエスト処理の変更:新しいマニフェストによると、コンテンツ処理スクリプトには、これらのスクリプトが埋め込まれているメインページと同じ権限制限が適用されます(たとえば、ページにロケーションAPIへのアクセス権がない場合)。の場合、スクリプトプラグインもこのアクセス権を持ちません)。
- 外部サーバーからダウンロードされたコードの実行を防止します(プラグインが外部コードをロードして実行する場合)。
最後に あなたがそれについてもっと知りたいなら メモの元の投稿を参照できます 次のリンクで。