Mavenでは、開発者は過去10年の古いアーティファクトに依存しています(例えば、commons-el:commons-el:1.0は2005年にリリース、jettyはjavax.servlet:5.1.11リリース2007年に)。 Javaエコシステムでは、古いバージョンの成果物に依存するのが一般的です。その理由は、その更新がAPIを静かに破棄するためです。古くなったMavenアーティファクトのセキュリティ
セキュリティ上の欠陥が検出された場合、古いアーティファクトにパッチが適用されていますか?誰がこれを世話しますか?
spark org.apache.sparkの最新リリースについて:spark-core_2.11:2.0.0、依存関係の3GiBをダウンロードした後、私は2005年よりもさらに古いものを見ることができます結果として生じるスパークが実行された場合、それらの古くなった依存関係は、潜在的なセキュリティ上の欠陥を露呈するでしょうか?
注:これは約security of javaではなく、security of mavenではありませんが、mavenによって配信されるアーティファクトです。
「古い」パッケージ(「javax.servlet」など)の多くは、実際にはAPIパッケージであり、基礎となる実装が最近のものかもしれないことに注意してください。 – chrylis
@chrylis、それを指摘してくれてありがとう。私は10歳の極端な例を使って自分のことを証明していました。我々が5歳のものを探すと、より多くの新しいバージョンが利用可能であることを意味しています。 – heroxbd