1

私はMavenが初めてで、Androidビルドに使用しようとしています。私は、ジェイソン・ヴァン・ジルのここでのインタビューによっても引き起こされた、私の心にこの疑いを持っています.

私の質問

Maven Central からダウンロードした依存関係にマルウェアがないこと、または破損していないことを確認するにはどうすればよいですか?

4

2 に答える 2

2

マルウェアに感染していないことを確認することはできません。つまり、常に可能です。

Maven Central はオープン ソース プロジェクトをホストしているため、ソース コードは常にどこかから入手できます。そのため、マルウェアがないこと、および互換性のあるライセンス条件を確認する必要がある場合は、Maven Central を使用せずに、ソースをダウンロードして自分でビルドする必要があります。

アーティファクトにマルウェアが含まれていた場合、Maven Central を実行している人々は、そのようなものを調査して対処するために連絡を取るというポリシーを持っていると確信しています。

...

破損のない再。Maven は多くのことにハッシュ ダイジェストを使用して、破損のないデータを保証します。Maven クライアントと Maven リポジトリは、常に検証するように構成できます。通常、サーバー上のファイルには、データ チェックサムの *.md5 または *.sha1 URL もあります。

また、JAR 自体にも固有のチェックサムがあります。これらは ZIP ファイルに基づいており、ほとんどの破損を検出するチェックサム スキームがあります。ZIP ディレクトリは常にファイルの最後にあるため、短いファイルや切り捨てられたファイルも検出されます。

明らかに、これらのメカニズムは 100% 信頼できるわけではありませんが、99.99% 信頼できると考えられます。

...

ソフトウェア プロデューサーとして、Maven セントラルに物を置いています。常に JAR に署名することをお勧めします。これは、各独立したソフトウェア プロデューサーが、作成したオリジナルの JAR に署名し、インターネット上で任意のメカニズムを介して配布できるようにするメカニズムです。どのユーザーも (理論的には) どのソースからでもダウンロードでき、改ざんされていないことを確認できます。

残念ながら、Maven Central には、バイナリと一緒にソース コードを利用できるようにするポリシーや、JAR 署名を強制するポリシーがありません。したがって、セキュリティの観点からすると、Maven Central はローカル開発を進めるのに役立ちますが、セキュリティを気にする場合は使用しないでください。

自分に代わって実装するには、独自のセキュリティ ポリシーを実装する (または他の誰かに支払う) 必要があります。

セキュリティで保護された環境を管理するには、Sonatype Nexus などのローカル ネットワークで実行できる Maven リポジトリの 1 つを確認することをお勧めします (これは、ほとんどの機能が有効になっているオープン ソースの無料版で提供されます)。

...

NB私はあなたが提供したリンクをまだ読んでいませんでした。

于 2012-09-22T07:03:12.927 に答える
0

中央リポジトリからソフトウェアをダウンロードするのではなく、自分でソフトウェアをビルドすることを提案することは、驚くほど悪い考えです。Centralへのアップロードは非常に厳重に保護されており、settings.xmlでMavenが実行するすべてのダウンロードに対して厳密なチェックサムチェックを有効にできます。

チェックサムが一致する場合、アーティファクトの正確なコピーが中央にあり、アップロード中に非常に綿密に監視され、アップロード後に変更されることはありません。

さらに、Nexusなどの会社が管理するリポジトリマネージャーを介して間接的にのみCentralを使用します。セキュリティ、ライセンス、監査のツールとレポートがさらに必要な場合は、SonatypeNexusProfessionalやSonatypeInsightなどのツールを検討します。

于 2012-09-23T04:37:15.900 に答える