blog

意見|オープンソースソフトウェアのセキュリティ脆弱性の75%以上は間接的な依存関係の中に存在する

間接的な依存関係という点では、RubyとJavaが最も欠陥のあるエコシステムです。...

Oct 14, 2025 · 4 min. read
シェア

JavaScript、Ruby、Javaは、間接的な依存関係という点で最も欠陥のあるエコシステムです。

オープンソースプロジェクトにおけるセキュリティ脆弱性の大部分は、直接ロードされるコンポーネントではなく、間接的な依存関係に存在します。

本レポートでは、脆弱性がJavaScript、Ruby、Java、PHP、Pythonのエコシステムにどのような影響を与えるかを検証しています。

Snyk によると、プロジェクト内でロードされている主要コンポーネントが依存している依存ライブラリは、JavaScript のセキュリティ脆弱性の 86%、Ruby の脆弱性の 81%、Java の脆弱性の 74% の影響を受けているとのことです。

Snyk 氏は、企業が主要な依存関係をスキャンしてセキュリティ上の問題を発見する際に、依存関係ツリーの複数のレイヤーを調査しなかったために、予期せぬ欠陥に対して脆弱な製品がリリースされたり、最終的に運用されたりする可能性があると論じています。

しかし、JavaScriptやRuby、Javaではセキュリティ上の欠陥が蔓延していますが、PHPやPythonではそうではありません。もちろん、これには理由があります。

「正直なところ、エコシステムそのものにおける開発アプローチに依存するところが大きいと思います」。とミラー氏。「特に、JavaとNode.jsのプロジェクトは、他のエコシステムよりも依存関係を活用しているようです。特に、Node.jsのエコシステムの大きさを見ると、他のパッケージからビルドしたり、主要な機能のパッケージを活用したりするのはごく普通のことです」。

「Node.jsの開発者に尋ねれば、おそらくnpmが必要な依存関係をすべて引き出そうとしている間、プロジェクトが開くのを長時間待つようなことに遭遇するでしょう」とMiller氏は付け加えました。「お気に入りの例は、7つの依存関係を指定した80行のJavaアプリケーションです。しかし、依存関係ツリー全体を見ていくと、59のサブ依存関係が見つかり、突然80行のコードが74万行になります"

この "見知らぬ人の危険 "というニックネームは、いくつかの重大なセキュリティ侵害の根本的な原因であり、ソフトウェア・サプライチェーンのセキュリティを複雑にしている主な要因です。

少しの欠点が大きな違いを生むこともあります。

しかし、Snykチームは、これらの欠陥がオープンソースのエコシステムのどこにあるかだけでなく、どのような種類の欠陥であるかも見ています。

もう1つの興味深い発見は、2019年に発見された新しいセキュリティ脆弱性のほとんどがクロスサイトスクリプティングの欠陥であり、数が多いにもかかわらず、これらの欠陥は実際に実行されているプロジェクトのごく一部にしか影響を及ぼしていないということでした。

その代わりに、昨年発見されたすべての欠陥のうち、2ダースのプロトタイプ汚染の欠陥が最も大きな影響を与え、115,000を超えるさまざまなオープンソースプロジェクト、そしておそらくさらに多くのプライベートプロジェクトにも影響を与えました。これらのうち、jQueryとLoDashのプロトタイプ汚染の欠陥が最も大きな影響を与えました。これらのフレームワークは、JavaScript開発ツールセットとして圧倒的に広く使用されているからです。

つまり、「マルウェアパッケージ」が、昨年プロジェクトで見つかったセキュリティ問題の中で2番目に多いタイプとしてランク付けされたのです。これは、悪意のある目的のために意図的に作成されたオープンソースライブラリや、開発者のアカウントがハッキングされ、コードが汚染されたライブラリを指します。

Snykによると、ハッキングされたパッケージや悪意のあるパッケージは、昨年のオープンソースエコシステムにおけるセキュリティ問題の2番目に多い原因でした。「これらの大部分はnpmパッケージによるものでした」とMiller氏。

昨年のセキュリティー問題はそれほど深刻ではありませんでしたが、おめでたいことではありませんでした。

さらにSnyk社は、スキャンした5つのエコシステムすべてで発見された欠陥の数が20%減少したと指摘しました。

「とミラー。「私のような永久安全懐疑主義者にとっては、これは自然の満ち引きの一部なのかもしれません。しかし、楽観的な見方をすれば、地域社会におけるいくつかの重要な変化は確かに見られており、これは今年が単なる異常値ではないことを意味しているのかもしれません。

「例えば、クロスサイトスクリプティングの脆弱性は、他のどの脆弱性タイプよりも多く報告されていますが、その年にスキャンされた項目全体のわずかな割合にしか影響を及ぼしていません。このことは、XSS がより多用され、したがってより成熟したプロジェクトに影響を及ぼしていない可能性を示唆しています。" つまり、人々は安全なコーディングの技術的な側面にもっと集中している可能性があるということです。

「さらに、この調査は、コミュニティ全体がソフトウェア・セキュリティを開発チームとセキュリティ・チームの間で共有される責任と見なし始めていることを示しています。

「このような協力関係の改善は、セキュアなコードとオープンソースパッケージの安全な使用に関するより良い認識と戦術的な対策を促進するのに役立ちます。

「私は15年間セキュリティーに携わってきましたが、ある年をもって状況が好転していると断言する気にはなれませんが、今後数カ月、そして2020年を通してどのような展開になるのか、引き続き注目される傾向であることは間違いないでしょう」。

オープンソースコミュニティの全体的なセキュリティ状況に関するその他の洞察については、Snykの全レポートをこちらからできます。

Read next