検索
ニュース

Google、OSSパッケージの依存関係を可視化した実験的サービスを発表依存関係をグラフで一覧

Googleはオープンソースプロジェクトの依存関係などを可視化した実験的サービス「Open Source Insights」を提供開始した。「変更のペースが速く、ついていくのが難しい場合がある」「大きなプロジェクトが依存するソフトウェアパッケージが頻繁にアップデートされ、明確な現状把握ができない場合がある」といったOSSの課題を解消するのが目的だ。

Share
Tweet
LINE
Hatena

 Googleは2021年6月3日(米国時間)、オープンソースプロジェクトの依存関係や特性を可視化した実験的サービス「Open Source Insights」を発表した。

 Googleが開発し、同名のWebサイトでホストするこのサービスは、開発者がオープンソースプロジェクトの構造や構成、セキュリティをよりよく理解できるよう支援することを目的としている。

 新サービスを開発した背景についてGoogleは、「ソフトウェア開発プラクティスが近年進化し、分散機能開発によるコラボレーション開発やオープンソースパッケージ、サードパーティーパッケージの利用、ソフトウェアライブラリの公開メンテナンスが一般化している。その一因は、オープンソースソフトウェア(OSS)の広範な普及だ。だが、OSSは明確なメリットを提供する一方、問題もある」と述べている。

 OSSの問題としてGoogleは、「変更のペースが速く、ついていくのが難しい場合がある」「大きなプロジェクトが依存するソフトウェアパッケージが頻繁にアップデートされ、明確な現状把握ができない場合がある」「こうしたパッケージの依存関係が、新機能の提供やバグ修正に伴って変わる場合がある」ことを挙げている。

 これらの結果、プロジェクトでセキュリティ侵害などの不測の問題が発生したり、そうした問題の規模が大きく、管理が困難になったりする恐れがあるとGoogleは指摘する。中規模のOSSプロジェクトでも、数百のパッケージに依存していることがあるからだ。

 脆弱(ぜいじゃく)性スキャナーや依存関係監査ツールなど、脆弱性の影響を受けるパッケージを特定するのに役立つツールもある。だが、依存関係とその影響を体系的に理解するのは依然として難しい。

Open Source Insightsの特徴は

 こうした問題の解決を促すためにGoogleは、Open Source Insightsを開発した。Open Source Insightsは、特定のソフトウェアパッケージがどのように構成されているかの概要をつかむ際に役立つ。

 目玉は下図のように直接的、推移的な依存関係を示すグラフを可視化、分析できるインタラクティブツールだ。パッケージのバージョンの違いによる依存関係への影響を分かりやすく示す比較ツールも用意されている。


「express 4.17.1」の依存関係を表すグラフ(出典:Google

 Open Source Insightsを使うと、ソフトウェアパッケージをインストールすることなく、こうした依存関係の情報をグラフと表で表示できる他、あるパッケージに依存するパッケージの一覧も入手できる。

 こうした情報を提供するため、Open Source InsightsはOSSエコシステムの数百万のプロジェクトを継続してスキャンし、パッケージのライセンシングやオーナーシップ、セキュリティアドバイザリー、ソースコードへのリンク、ダウンロード数、人気度(GitHubスター数など)、OpenSSF(Open Source Security Foundation)スコアカード、イベント履歴といった情報を収集している。これらの情報は継続的に更新されているという。


フィルタリングされた依存関係グラフ 「eslint 7.27.0」の「chalk 2.4.2」「chalk 4.1.1」への依存を示した(出典:Google

 Open Source Insightsは現在、「npm」「Maven」「Goモジュール」「Cargo」に対応しており、他のパッケージシステムへの対応も進められている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る