バイナリが実際に特定のバージョンのgitリリースを使用してビルドされたことを確認する

バイナリが実際に特定のバージョンのgitリリースを使用してビルドされたことを確認する

バイナリが実際に特定のバージョンの git commit/release を使用してビルドされ、変更されたバージョンからビルドされたのではないことを確認する方法。

小規模なプロジェクトであれば自分でビルドできますが、Android カスタム ROM のような大規模プロジェクトの場合、ビルドが本当に Git リリースからのものであることをどのように確認すればよいでしょうか?

編集: オープンソース バイナリは無料なので、署名されているとは期待できません。ダウンロードはサードパーティの場所から行われます。

答え1

オープンソースバイナリは無料なので、署名されていることを期待できません。

ここに矛盾はありません。署名も無料です。ただし、誰かが悪意を持って変更されたソースからビルドし、バイナリに署名する可能性があるため、これは役に立たないと思います。したがって、署名は、元のビルダーを信頼し、バイナリが実際に提供されたもので、変更されたバージョンではないことを確認したい場合にのみ機能します。

あなたが探しているのは再現可能なビルドこれが機能するには、プロジェクトが再現可能なビルドをサポートする技術スタックとツールチェーンに基づいている必要があります。そうでない場合は、運が悪いです。そうであれば、自分でビルドして結果を比較することができます。これは大規模なプロジェクトでは実用的ではないかもしれないというのは正しいです。残念ながら、セキュリティは利便性を犠牲にすることがよくあります。

最終的には、ツールチェーンは悪意のあるものではない構築するハードウェアについても同様です。ハードウェアを自分で構築し、ツールチェーン全体をリバース エンジニアリングするつもりがない限り、誰かを信頼する必要があります。

関連情報