4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Chrome拡張の名前でcustomizeという文字列を使ってはいけない

Posted at

概要

先日、公開していた Chrome 拡張の半数が急にウェブストアで見えなくなるという憂き目に遭いました。
(具体的にはウェブストアの該当ページが真っ白になってて、新規に拡張を追加してもらえなくなってた。)

この原因がわかったため回避できたのですが、Google側の問題自体はいまだ解決していないため、同様に困っている人もいるだろうと思い、共有することにしました。

結論

Chrome は拡張名に customize という文字を使ってはいけません。
もし既に使っていて、画面が真っ白になっているなら、名前を変えれば解決です。
(URL に名前が入っているため、URL が変わります。ご注意ください。)

何が起こっているのか

Chrome 拡張のページの URL 文字列の中に customize という文字列がどこであれ入っていると、ページが真っ白になります。
具体的には下記の JavaScript エラーが発生していてページの表示に失敗してます。

Refused to load the script 'https://chrome.google.com/webstore/polymer/cc_store_app/(中略)/cc_store_app.html' because it violates the following Content Security Policy directive: "script-src 'report-sample' 'nonce-(中略)' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval'". 'strict-dynamic' is present, so host-based whitelisting is disabled.

内部的なページの HTML も微妙に変化します。

想像ですが、customize という隠しコマンドか何かが最近仕込まれて、それに反応して特別なページになるが、特別な環境でないとエラーが出てしまうのではないか。よく解りませんが。

簡単な再現方法

興味がありましたら拡張のページの末尾に ?customize をつけてみてください。
真っ白の画面をみることができます。
(ちなみにスマホから見た場合は正常に表示されます。)

↓サンプル (大丈夫な方)
https://chrome.google.com/webstore/detail/pre-sending-checker-for-g/amfjacgcdefoiliginkjnebdamdomeig

↓サンプル (真っ白になる方)
https://chrome.google.com/webstore/detail/pre-sending-checker-for-g/amfjacgcdefoiliginkjnebdamdomeig?customize

最後に告知

2017-08-05(土) に builderscon tokyo というイベントで 「Chrome拡張を使って様々なWebサービスをハックする」 というネタで登壇します。
https://builderscon.io/tokyo/2017/session/9e8711fb-7f56-44ea-b550-0d48ff756e1d

image.png

ご興味ある方がいらっしゃいましたら、ぜひとも聞きにきてください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?