ギットハブ・ジャパン(GitHub)は4月7日、クラウド上のリポジトリーからソフトウェアを構成するコンポーネントやライブラリーなどの状況を開発者が容易に把握、管理できる「ソフトウェア部品表」(SBOM)の作成機能「Export SBOM」を発表した。GitHubの全てのクラウドリポジトリーで無償利用できる。
SBOMは、企業や組織などで使われるソフトウェアの脆弱(ぜいじゃく)性を悪用したサイバー攻撃が深刻な被害をもたらしていることを踏まえて、2021年5月にJoe Biden米大統領が署名したサイバーセキュリティ対策の強化を目指す大統領令に盛り込まれた。同令では、ソフトウェア開発組織に対し、ソフトウェア製品を構成するコンポーネントやライブラリーなどを“部品”と位置づけ、採用している“部品”の種類やバージョン、更新状況といった情報を把握、管理することを求めている。
Export SBOM機能は、GitHubのクラウドリポジトリーへの読み取りアクセス権を持つユーザーがセルフサービスで利用でき、リポジトリーの「依存グラフ」に設置されたボタンをクリックするだけで米商務省電気通信情報局(NTIA)に準拠したJSONファイルのSBOMを作成できる。ファイルにはバージョンやライセンスなどプロジェクトの依存関係、メタデータが保存され、セキュリティやコンプライアンスのツールに取り込むことにより、脆弱性管理なども容易に行える。
依存グラフの画面に設置された「Export SBOM」ボタンからワンクリックでSBOMを作成
作成されるSBOMはSPDX形式のJSONファイルで、セキュリティやコンプライアンスの管理ツールに取り込み、脆弱生管理などにも利用できる
また、作成したSBOMを開発のワークフローに組み込んだり、作成済みのSBOMを依存関係グラフに取り込み既知の脆弱性がある全ての依存関係に関するアラートを受信したりできる。GitHubの「SBOM gh CLI」拡張機能を使って依存グラフからSBOMをプログラムで生成したり、ビルド時にSBOMを生成したりもできる。
同社では、近日中に依存関係グラフからSBOMを生成するREST APIも提供する予定だという。