Mozilla、Manifest V3による広告ブロッカー機能制限に対して、回避策を見出す
Mozillaは、Googleの新しい拡張機能仕様である「Manifest V3」を、広告ブロッカーの機能を損なわない形でFirefoxに実装するという約束を守れた。
先月から公開が始まっているFirefoxの新バージョンは、ユーザーが一般的なプライバシー保護ツール、特にコンテンツブロック拡張機能を引き続き利用できるようにするという。
MozillaがManifest V3を独自の条件で実装することによって、Manifest V3に切り替える開発者にとっては、拡張機能の2つの異なるバージョン(Google Chrome用とFirefox用)を同時にサポートする負担がなくなる。
また、より制限の少ないManifest V2を使用して元々構築されていたコンテンツブロック拡張機能は、V3でも以前と同じ機能を維持できる。
ここで一旦、次に進む前に、そもそもManifest V3とは何か、そしてなぜプライバシー擁護派やAdGuardを含むコンテンツブロック拡張機能開発者からこれほどの反発を受けたのかについて、改めて説明したいと思います。
問題だらけのManifest
「Manifest V3」とは、2018年に初めて発表されたChromeの新しい拡張機能用APIです。
現在、(もちろんGoogle Chromeを含む)ChromiumベースのブラウザのすべてにこのAPIが実装されています。
このAPIでは、拡張機能がどのブラウザ機能にアクセスでき、変更できるのかなど、拡張機能が従わなければならないルールに大きな変更が加えられています。
例えば、以前は、ブラウザがコンテンツブロック拡張機能に特定のウェブリクエストをどうするか尋ね、拡張機能が通過・ブロック・リダイレクトのいずれかで応答していました。
新しい、より狭いAPIは、リクエストを変更する権利をブラウザ自体に与え、拡張機能は、ブラウザが応答すべき一連のルールをアナウンスまたは「宣言」するだけです。
Googleは、これにより広告ブロッカーを含む拡張機能が「潜在的にセンシティブなユーザーデータ」にアクセスすることを防ぎ、「誰にとっても安全」になると述べています。
ただし、この変更により広告ブロッカーはその機能の一部を失うことになるという欠点もあります。
コンテンツブロックルール数制限が問題
Manifest V3の問題点は、個々のユーザーがインストールした拡張機能の組み込みルールとユーザー追加ルールの数が制限されていることです。
すなわち、Chromeは、拡張機能ごとに、組み込み(「静的」)ルールの最低数を30,000件とし、静的ルールの総数制限は330,000件に制限しています。
ユーザーが追加する(「動的」)ルール数は、わずか5,000件に制限されています。
広告をブロックする拡張機能の中核は、ページ内で広告の検出方法を“教えてくれる”フィルタリングルールであるため、このような制限は本当に厄介なものになりかねない。
Manifest V3の宣言型NetRequest APIに依存して広告をブロックする拡張機能が1つだけであれば、Googleが制限しているルール数で十分です。
しかし、複数の拡張機能を使用する場合、問題になることがあります。
拡張機能間で残りのルールを奪い合い、制限に押し込められないルールは無効になることが発生してしまいます。
もう一つの問題は、Googleが開発者に対して、インストール時にすべてのルールを拡張機能に組み込んでおくことを望んでいることです。
基本的に、開発者は自分の拡張機能が特定のリクエストに対して何をするかをあらかじめ定義しておく必要があり、これまでのような即対応は難しくなります。
つまり、何かが変わるたびに、開発者は新バージョンの拡張機能をアップロードし審査を通るまで待たなければならないので、広告ブロッカーは広告やサイトの変更に対応するのが遅くなります。
しかし、この状況が改善されるという希望はまだあります。
私たちAdGuardは、動的ルール数の増加とルールセットを提案し、ブラウザベンダーとコンテンツブロッキングコミュニティの間で進行中の議論において、これらのManifest V3への変更を支持しています。
ブラウザ提供者が我々の主張を考慮してくれることを願っています。
最終的には、Chromeがブラウザ市場で圧倒的な強さを誇っているため、GoogleがManifest V2を廃止すれば、拡張機能開発者はManifest V3に適応するか、ユーザーを失うかのどちらかを選ばなければならない。
その移行ができるだけスムーズに行われることを望んでおります。
世界ブラウザ市場シェアの比較
Chrome側の動き
Googleは、APIの変更により、拡張機能が「より安全で、パフォーマンスが高く、デフォルトでプライバシー尊重するもの」になると主張しています。
しかし、広告ブロックへの影響に対する懸念が残るため、一部の専門家はこの新プラットフォームを受け入れることができません。
私たちAdGuardも、Manifest V3がChromeの開発者やユーザーに与える悪影響について、繰り返し警鐘を鳴らしてきました。
しかし、Googleはこのような懸念に対処しようと努力しています。
World Wide Web Consortium(W3C)のWebExtensions Community Group(Apple、Mozilla、Microsoftと並び)創設者の一人であるChromeは、拡張機能開発者からManifest V3に関するフィードバックを募り、批判を歓迎しています。
しかし、Googleの対応はあまりにも遅く、今のところ開発者の不安を解消することはできていません。
こうした懸念を認識し、Mozillaは昨年、FirefoxがManifest V3の実装において、HTTPリクエストのカテゴリ全体をブロックするwebRequest APIを引き続きサポートするが、webRequestの代替としてGoogleが提案したdeclarativeNetRequest APIの互換バージョンもサポートすると発表しました。
広告ブロックブラウザ拡張機能の恩恵を受け続けるFirefoxユーザーに比べ、Chromeの30億人のユーザーは、広告ブロックに関して不利な立場に置かれることが間もなく判明するかもしれません。
長い目で見れば、これは一部のChromeユーザーがFirefoxに乗り換えるきっかけになるかもしれません。
来ることのない夕日
11月、MozillaはManifest V2の拡張機能を"当面"サポートし続けると発表し、古いマニフェストを"2023年の終わり頃"に無効にする時間枠を設定することを約束しました。
Google Chromeに関しては、Manifest V2を停止するスケジュールは何度も延期されています。
2022年1月、GoogleはChrome Web StoreへのManifest V2に基づく新しい拡張機能の受け入れを停止しました。
2023年6月には、ChromeのManifest V2拡張機能のサポートを停止する実験が行われる予定でした。
しかし、12月に残りの期限はすべて見直し中になり、実験はすべて無期限に延期された。
とはいえ、Manifest V2が最終的に終焉を迎える脅威はリアルです。
Manifest V2の終末時計は今のところ時を刻むのを止めているかもしれませんが、Googleはいつでも終了計画を再開できるため、それに備えてソリューションを準備しておくことが重要だと考えました。
Manifest V3時代が訪れた場合の広告ブロック
Googleが突然UターンしてManifest V3の導入を廃止する可能性は低いと考えたAdGuardは、2021年半ばにはもうManifest V3準拠の新しい拡張機能のプロトタイプの制作を開始しました。
そして2022年8月、Manifest V3の要件をすべて満たしたAdGuard広告ブロック拡張機能を実験的にリリースし、世界初でMV3に対応した広告ブロッカーとなりました。
この新しい拡張機能は、厄介な制限のあるManifest V3に基づいているため、試行錯誤を重ねた古い拡張機能ほど効果的ではないかもしれません。
しかし、この拡張機能は、トラッカー(個人情報追跡)へのリクエストを積極的にブロックし、SNSウィジェット、バナー、ビデオ広告を非表示にすることができます。
AdGuardが最初だったのですが、他の広告ブロッカーもすぐに追随し、広告ブロックとManifest V3は完全な相性ではないかもしれないが、Manifest V3はブラウザ用広告ブロッカーへの死刑宣告でもない、ということが示されました。
その1ヶ月後、人気広告ブロッカーuBlock Originの作者が、Manifest V3と互換性のある実験的拡張機能uBO Minusを公開しました。
AdBlock Plusも、ブラウザ拡張機能のManifest V3対応版に取り組んでいるようです。
【終わりに】Googleにがっかり、Mozillaは解決方法を示す
Googleは、今までのManifestを広告ブロック制限する新しいものに置き換える唯一の目的は、ユーザーにより高いセキュリティとプライバシーを提供するためだと自ら主張しています。
たぶんそれは本当で、Googleは拡張機能プラットフォームをより安全でプライベートなものに改善したいと考えているのでしょう。
しかし、残念ながら、Googleは、拡張機能開発者の希望や懸念、そして最終的にはChromeユーザーの希望を考慮することなく、新仕様の設計について多くの決定を下しています。
その結果、広告ブロック機能拡張はその機能の一部を失うことになります。
このことについて、G社はあまり動揺することはないと思われます。
一方、Mozillaは広告ブロックに対して、より慎重で非対立的なアプローチをとっている。
Firefoxのオーナーは、広告ブロックの機能を制限せず、同時にセキュリティを高める方法でManifest V3を実装することは不可能ではないことを示しました。