私の計算が正しければ、Google Chromeがバージョン88に達すると、深刻なセキュリティ問題が発生することになるだろう。

Table of Contents

私の計算が正しければ、Google Chromeがバージョン88に達すると、深刻なセキュリティ問題が発生することになるだろう。

Google は火曜日、Chrome 88 の安定チャネル リリースを発表しました。これには、Manifest v3 と呼ばれる拡張プラットフォーム リビジョンのサポートが含まれています。

マニフェスト v3 は、Google の様々な製品およびサービスのセキュリティを全面的に見直す取り組みの一環として、2018 年 10 月に発表されました。マニフェストmanifest.jsonとは、Chrome 拡張機能に含まれる複数のファイルのうちの 1 つであり、開発者が拡張機能の動作に必要な API と権限を宣言するファイルを指します。

バージョン 3 では、Google Chrome ウェブブラウザの拡張機能を作成するユーザーが利用できる API の範囲と機能が再定義されています。

「Manifest v3は、Chrome拡張機能のセキュリティ、パフォーマンス、プライバシーをデフォルトでより向上させる新しい拡張機能プラットフォームです」と、Chrome開発者アドボケイトのPete LePage氏はブログ投稿で述べています。「例えば、リモートでホストされたコードを禁止することで、Chromeウェブストアの審査担当者は拡張機能がもたらすリスクをより深く理解できるようになります。」

恐ろしい怪物

熱心なGoogle社員たちがChromeに広告ブロッカーを壊すような変更を加えるのはなぜか?それは彼らがモンスターを生み出し、それを守るために奮闘しているからだ。

続きを読む

Chrome拡張機能がセキュリティ強化の恩恵を受けることはほぼ間違いありません。これは、2010年にChromeウェブストア(当時はGoogle Chrome拡張機能ギャラリーと呼ばれていました)が開設されて以来、不十分だった点です。また、情報開示要件の拡充など、プライバシー保護の改善は確かに実現しています。しかしながら、Manifest v3のパフォーマンス向上に関するGoogleの主張には異論が唱えられています。

いずれにせよ、プラットフォームの調整にはコストがかかります。拡張機能開発者はブラウジングエクスペリエンスを形作る権限が制限され、ユーザーは利用できるツールの機能が制限されることになります。例えば、ネットワークリクエストを傍受・変更するために使用されるブロッキング版webRequest APIの代替としてManifest v3で導入されたdeclarativeNetRequest APIは、以前のものよりもコンテンツブロッキングの効果が低いと考えられています。

拡張機能がバックグラウンド プロセスを実行できるバックグラウンド ページなどの他の機能は、サービス ワーカーと呼ばれるより現代的な代替機能に置き換えられましたが、それでも過去の機能は失われており、30 秒間しか動作できません。

コーディングを始める時間

Chrome 88には、ウェブ開発者にとって興味深い機能がいくつか追加されています。aspect-ratioと呼ばれるCSSプロパティが実装されており、これにより開発者は幅や高さのパラメータによる自動計算に頼ることなく、ページ要素やアセットのアスペクト比を定義できます。

また、モバイル デバイスの CPU 使用率とバッテリー消費を抑える方法として、JavaScript タイマーを調整します。

警告として赤い旗を振っている人

200万人以上のユーザーを抱えるChrome拡張機能が所有者を変え、警告が出され、アップデートが文書化されていない場合、何が起こるでしょうか?調べてみましょう。

続きを読む

Googleがこのような措置を取ったのは、ウェブサイトが様々な広告や分析機能にJavaScriptタイマーを使用しており、その結果、モバイル端末のバッテリー消費が著しく増加していることが判明したためです。Chromiumチームが実施した調査によると、「バックグラウンドタブを多く開いているユーザーで、フォアグラウンドタブがabout:blankの状態の場合、JavaScriptタイマーを積極的に抑制すると、バッテリー消費が平均で約2時間(28%)延長されます」とのことです。Chromiumチームは、これらのプロセスは「ページがバックグラウンドになっている場合、ユーザーにとってあまり価値がないことが多い」と判断し、使用量を削減しています。

Chrome 88では、Androidアプリ内でウェブアプリのコンテンツを表示するための手段であるTrusted Web ActivityでGoogle Play Billingを利用できるようになります。これにより、Androidアプリ内から起動したPWA(プログレッシブウェブアプリ)でGoogle Playのデジタル取引を行えるようになります。

さらに、Chrome 88 では、addEventListener メソッドで Abort Signal がサポートされるようになり、リスナーをより簡単にキャンセルできるようになりました。また、Pointer Lock API でマウスの加速を無効にする機能が実装され、ゲームで特に役立ちます。さらに、target="_blank" 属性を持つアンカー タグの動作が変更され、デフォルトで rel="no-opener" が暗黙的に設定されます (タブ ハイジャック攻撃を防ぐ属性)。

GoogleはManifest v2のサポートがいつ終了するかを明言していませんが、おそらく1~2年以内に終了するでしょう。つまり、v2仕様に依存するコンテンツブロッキング拡張機能は、今のところ引き続き動作します。uBlock Originのようなv2を使用するフィルターをご利用の場合は、バージョン88でも問題なく動作するはずです。

Chrome 88 アップデートでは、36 件のセキュリティ修正も行われ、長い間予告されていた FTP および Adob​​e Flash のサポートが最終的に完全に無効化され、特定の実行可能ファイル、メディア ファイル、アーカイブ ファイル形式の HTTP ダウンロードがブロックされます。

アプリ開発会社 Lapcat Software を経営する Jeff Johnson 氏はThe Registerへの電子メールの中で、Google が Chrome Web Store Payments を廃止したため Chrome Web Store を離れることにしたため、Manifest v3 についてはあまり心配していないと述べた。

Google は Chrome ウェブストアをソフトウェア企業にとって実用的なプラットフォームにすることにほとんど関心を示さなかったという、他の拡張機能開発者たちの意見に賛同するかと尋ねられると、ジョンソン氏は同じ気持ちだと答えた。

「Googleは有料拡張機能のプロモーションに一切力を入れなかった」と彼は語った。「Chromeウェブストアでの私の収益は決して高くなく、Googleが決済システムを廃止したため、独自のシステムを導入する価値は全くないと感じた」

「一般的に、Google はブラウザ市場の支配力を獲得するために拡張機能を資産として利用していたように思われますが、ブラウザ市場の支配力を獲得した後は拡張機能は必要なくなり、拡張機能を資産ではなく負債として扱うようになりました」と彼は言いました。®

Discover More