新しいGoogleツールがオープンソースプロジェクトの依存関係を明らかにする

Googleは、開発者が使用しているオープンソースパッケージ/ライブラリの依存関係と、現在直面している既知のセキュリティの脆弱性を発見するのに役立つ、新しい実験的なツールに取り組んでいます。

オープンソースの依存関係のセキュリティ

オープンソースインサイト

Open Source Insightsは、ユーザーが特定のオープンソースパッケージの名前を入力し、それらがどのようにまとめられているかについての概要を取得できるWebサイトからアクセスできるGoogle CloudPlatformがホストするツールです。

それが示している:

  • パッケージに関する情報(説明、所有権、リンク)
  • 依存関係(パッケージが依存するコンポーネント)
  • 扶養家族(それに依存するパッケージ)
  • セキュリティアドバイザリ(パッケージと依存関係の既知の脆弱性、管理されていない依存関係など)
  • ライセンス情報
オープンソースの依存関係のセキュリティ

「他の機能の中でも、完全な推移的な依存関係グラフを視覚化および分析するためのインタラクティブなツールを提供します。また、パッケージのさまざまなバージョンが依存関係にどのように影響するかを強調する比較ツールもあります。おそらく、独自の依存関係を変更したり、ライセンス要件を追加したり、セキュリティの問題を修正したりします」と、オープンソースインサイトチームは説明しました

このツールは現在、50,000(Rust)のCargoパッケージ(クレート)、60万のGoモジュール、420,000のMaven(Java)、および360万のnpmパッケージ(Node.js)に関する情報を表示します。そしてグーグルは追加のパッケージングシステムに取り組んでいます。

「プロジェクトは、npmなどのシステムのパッケージホームサイトを読み取るか、GitHubやその他のリポジトリホスティングサイトをスキャンすることで、検出可能なすべての利用可能なパッケージをスキャンします」と彼らは説明しました。

「現時点では、Insightsは、依存関係グラフを作成するためにパッケージング情報が必要なため、既知のパッケージングモデルを使用してこれらのようなシステムのみを分析できます。これは、少なくとも今のところ、明確なパッケージモデルを持たないCまたはC ++のデータがないことを意味します。」

オープンソースサプライチェーンのセキュリティの向上

企業によるオープンソースソフトウェア使用が増加し、管理されていないオープンソースによってもたらされるリスク(セキュリティの脆弱性、古いまたは放棄されたコンポーネント、ライセンスコンプライアンスの問題など)が蔓延するにつれて、ソフトウェアソリューションのパッケージの多くの頻繁な変更に注意を払っています。依存する必要があります。

開発者は脆弱性スキャナーと依存関係監査を使用して脆弱性を特定できますが、オープンソースインサイトはソフトウェアサプライチェーンのセキュリティの全体像を提供します。

「インサイトは、標準のツールセットを置き換える試みではなく、各パッケージモデルのエコシステム全体の新鮮で統合されたビューでそれを補強する試みです」とGoogleは説明しました。

「主な違いは、Insightsデータは、ソフトウェアとそのパッケージ定義に注目して、第一原理から導き出されていることです。結果は、たとえばパッケージングの「ロック」ファイルの宣言された依存関係とは大幅に異なるか、より完全になる可能性があります。さらに、Insightsによって提示されたデータは、最新の状態に保つために定期的に再評価されます。これは、急速に変化するオープンソース開発の世界で重要です。」

Insightsは、さまざまな公開脆弱性データベースを追跡して、既知のセキュリティ問題にフラグを立てます。

Googleによると、一般的に使用されるパッケージのデータは通常、最新で最新のものですが、非アクティブで廃止されたパッケージのデータは古くなる可能性があることに注意してください。