Googleが今日(米国時間10/1)、Chrome側からのエクステンションの扱い方がいくつか変わったことを発表した。中でもとくに、多くのパーミッションを要求するエクステンションへの対応が変わり、さらに、デベロッパーがChrome Web Storeで公開するエクステンションには、新たな要求が加わった。
今や公然の事実として、どんなブラウザーでも、ユーザーデータにアクセスするための仕掛けを悪者のデベロッパーが仕込むのは、エクステンションの上であることが多い。Googleは長年、ストアに並ぶ前に悪意あるエクステンションを自動的に検出する努力を積み重ねてきた。またブラウザー本体にもいくつかの改良を加え、エクステンションがいたずらできないようにしてきた。今回は、これらの努力をさらに数歩前進させる。
Chrome 70からは、ユーザーが制限サイトのリストを作り、それらのサイトにはホストアクセスができないようになる。デフォルトでは、ほとんどのエクステンションが、ユーザーが訪ねるどんなWebサイトでも見たり操作したりできるから、この制限は重要だ。ホワイトリスト(無害者のリスト)はメンテナンスが困難だから、エクステンションがクリック後の現在ページにのみアクセスできるようにも指定できる。
Googleはこう説明している: “ホストのパーミッションにより、何千もの強力でクリエイティブなエクステンションのユースケースが可能になったが、それらはさまざまな誤用に導きがちだ。それらの中には、悪意的なものもあれば、意図せざるものもある。それらのエクステンションは、Webサイト上のデータを自動的に読んだり変えたりするものが多いからだ”。
Googleが“強力なパーミッション”と呼ぶものをリクエストするエクステンションはどれも、今後はより詳細なレビュープロセスを経なければならない。さらにGoogleは、リモートでホストされているコードを使うエクステンションを仔細に調べる。そのコードが、いつ変えられたか、それとも変えられてないか、分からないからだ。
パーミッションに関してGoogleは2019年に新しい仕組みを導入し、より狭いスコープのAPIにより広いパーミッションの必要性を減らし、またエクステンションに対するユーザーのコントロールを大きくして、エクステンションに対するアクセスの許可をより厳しくできるようにする。2019年からGoogleは、Chrome Web Storeのデベロッパーアカウントへのアクセスに、二要素認証を必須にする。悪者がデベロッパーのアカウントを乗っ取って、ハックされたエクステンションをストア上に公開したりできないようにする。
これらの変更はまだ数か月先だが、今日(米国時間10/1)からデベロッパーは、難読化コード(obfuscated code)の公開ができなくなる。難読化コードだから悪い、とは言えないが、デベロッパーがJavaScriptのソースコードをわかりにくくするために利用することもあり、そうするとレビューする側にとって、そのコードが一体何をしているのかわかりづらくなる。そして悪役エクステンションの70%は、難読化コードでGoogleの目をかいくぐろうとしている。Googleは、既存のエクステンションでも、難読化コードで書かれているものは90日以内にすべて削除する。
ただし、ホワイトスペースやコメントや改行を省いてコードを小さくするのは、許される。