Maven セントラル リポジトリのセキュリティ、特にクロス ビルド インジェクション攻撃 (XBI) について調査しました。以下にリストしたいくつかのリンクを読みました。
http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/
http://maven.apache.org/guides/mini/guide-central-repository-upload.html
Maven POM ベースの自動ビルド システムでの依存関係の信頼性の検証
ここに私が理解している重要な点があります
- 中央リポジトリへのすべてのアップロードには、オープン ソース プロジェクトのリリース マネージャーが所有する PGP 秘密鍵によって署名されたアーティファクトが必要です。
- 公開鍵は、MIT キー サーバーなどのキー サーバーに送信する必要があります。
- ダウンロードしたアーティファクトを手動で検証するのは面倒です。
- Nexus Pro などのリポジトリ マネージャーは、ダウンロードしたアーティファクトの署名を自動検証する機能を提供します。
しかし、Nexus Pro はどのように自動検証を行うのでしょうか? Nexus は、Maven Central がホストするすべてのオープン ソース プロジェクトの PGP キー ID のリポジトリを維持していますか? sonatype は、オープンソース プロジェクトが鍵サーバーにアップロードする PGP 公開鍵を検証して署名しますか? 内部事情を知っている人はいますか?