質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

Q&A

1回答

943閲覧

オープンソースなChrome Extensionをそのままストアに公開していることを証明する方法

GunseiKPaseri

総合スコア83

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Chrome extension

Chrome拡張機能

0グッド

2クリップ

投稿2021/10/06 08:35

なんらかのChromeExtensionをオープンソースで公開していて、誰でもトランスパイルなどして拡張機能として動作するzipファイルを作れるような状態にあるとします。
通常開発責任者が、このzipファイルをChromeAppStoreに登録するわけですが、その気になれば悪意あるスクリプトを注入できてしまうでしょう。
私は、このzipが何の変更もされずにストアに公開されていることを証明したいです。

なにか適切な方法はないでしょうか

.crxファイルの生成には秘密鍵が必要ですが、これを公開するのは適切ではないでしょう
これの実態はzipですが、ストア公開時に変更が入っているため、自分がアップロードしたものとは異なるようで、以下のような変更があります

  • _metadataディレクトリの追加
  • manifest.jsonにアップデート用のリンクの追加

ハッシュを比較するような操作感でやりたかったのですが...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2021/10/07 00:12

オープンソース開発者は信頼できるけど、拡張機能配布者は信頼できない、という前提ということでいいですか?
GunseiKPaseri

2021/10/11 14:46

雑に言えば、はい。(少なくとも開発者がどういうコードを書いているのかが完全に閲覧できる状態にはなっており、そこには信頼がおけるでしょうが、それが配布されているものと同じである保証は(提供しているcrxなんかを解析する以外)無いようだったので) 前提として自分が開発者かつ配布者になるつもりですが、他のプロジェクトの様子を眺めてもこの辺りのプロセスが不透明だったので質問しました。
guest

回答1

0

私は、このzipが何の変更もされずにストアに公開されていることを証明したいです。

質問文に既に書かれているようにzipがそのまま配布されるわけではないので、zipの同一性を証明することは不可能ですね。

拡張機能をインストールしたユーザのディスクにはcrxが展開されたファイルが保存されているので、それがレポジトリのものと同一であると確認できればよいのではないでしょうか。

例1: 開発者は拡張機能を配布したら、その配布ファイルにどのリビジョンのファイルが含まれているか確認する手段を用意する(タグを付ければ充分)。ユーザはそのリビジョンと手元のファイルを比較することで同一性を確認できる

例2: 開発者は拡張機能の配布したバージョンに含まれているファイルのハッシュ値の一覧をレポジトリにチェックインする。ユーザは手元のファイルのハッシュ値を計算して、レポジトリで示されているハッシュ値と比較する

例3: 開発者は個々のファイルに電子署名を付けて拡張機能の中に入れる。開発者は署名に使った電子証明書をチェックインしておく。ユーザは電子署名の検証を行い、ファイルの同一性のチェックと署名者の確認ができる

投稿2021/10/13 02:46

int32_t

総合スコア20872

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問