2025年7月14日に公開された記事では、Google Chromeの最新の拡張機能仕様の変更、特にManifest V2(MV2)からManifest V3(MV3)への移行によって、広告ブロック機能にどのような影響があったのかが解説されています。
### 背景
Chromeの拡張機能は、過去に「webRequestBlocking」APIを使用して、ユーザーが訪問するウェブサイトへのリクエストを動的にブロックすることができました。しかし、MV3への移行に伴い、このAPIが使用不可になり、多くの広告ブロッカーは機能を失いました。
### バグの発見
2023年にDerin Eryılmaz氏が発見したのは、MV3の制約を回避し、「webRequestBlocking」を再び有効にするバグでした。Eryılmaz氏は、JavaScriptのクラスを利用した方法で偽のリクエストイベントを生成し、これを使って広告ブロッカーを動作させることができました。具体的には、古い「opt_webViewInstanceId」パラメータを悪用する技術が使用され、これがペミッションチェックを通過してしまうというものでした。
### 修正とその後
このバグはChrome 118で修正され、以後は「opt_webViewInstanceId」を使用する際に適切なパーミッションを持つかの検証が追加されました。しかし、Googleはこの問題をセキュリティの脅威とは見なさず、報奨金は支払われませんでした。
### 結論
Eryılmaz氏は、バグを報告後に「このバグから得た私の収益です」と冗談を交えつつ、報奨金が支払われなかったことへの軽い皮肉を述べています。彼が以前に発見した別の脆弱性は報奨金が支払われたものの、この場合は特に広告ブロッカーを作成する知識がなかったために、バグは悪用されることはありませんでした。
この記事は、Chromeの拡張機能の進化と、それに伴うセキュリティ的な課題を示す良い例です。今後も技術の進展とともに、こうした問題がどのように解決されていくのか注目が必要です。
🧠 編集部より:
この記事では、Google Chromeの拡張機能に関する更新に伴う重大な変更について説明しています。具体的には、Manifest V2(MV2)からManifest V3(MV3)への移行において、広告ブロック機能に依存するAPIの制約が強化され、多くの広告ブロッカーが機能しなくなる問題が起こりました。
補足説明
Manifest V3の実装により、広告ブロカーの主要機能である「webRequestBlocking」が使用不可になりました。Eryılmaz氏は、この制約を回避するためのバグを発見し、これを利用するとMV3環境でもリクエストをブロックできることが明らかになりました。特に、「opt_webViewInstanceId」というパラメータを使用することで、特定の条件を満たさずにAPIの呼び出しが可能であったのです。
背景や豆知識
- Manifest V3の動機: Googleは、セキュリティやパフォーマンスの向上を目的としてMV3への移行を進めていますが、クリエイターや開発者にとっては制約が強化されたため、苦労を伴っています。
- 広告ブロッカーの役割: インターネット上では多くのユーザーが広告を嫌がるため、広告ブロッカーは人気です。しかし、広告収入はウェブサイトの運営を支える重要な要素でもあります。
関連リンク
このように、ウェブ技術やブラウザの制限が進化する中で、開発者たちがどのようにしのいでいるかを知ることは非常に興味深いですね。
-
キーワード: 広告ブロック
このキーワードは、内容がGoogle Chromeの広告ブロックに関連する技術的変更とその回避策に焦点を当てているため、重要なテーマを示しています。
※以下、出典元
▶ 元記事を読む
Views: 0