SBOM(Software Bill of Materials)とは、ソフトウェアに含まれる構成要素やオープンソースライブラリなどの部品を一覧化したリストです。AIシステム開発においては、利用する機械学習モデルやライブラリの脆弱性管理やサプライチェーンの透明性確保において重要な役割を果たします。
ソフトウェア部品表とは
一言でいうとSBOMとは、ソフトウェアの「原材料リスト」であり、プログラムがどのような部品や外部ライブラリで構成されているかを記録した文書のことです。
詳しく解説
現代のソフトウェアやAIモデルは、ゼロから全てが自社開発されることは稀であり、多くのオープンソースソフトウェア(OSS)やサードパーティ製ライブラリを組み合わせて構築されます。SBOMには、コンポーネントの名称、バージョン、ベンダー名、ライセンス情報などが階層的に記録されます。AI開発においても、機械学習フレームワークや依存ライブラリの全体像を把握し、未知の脆弱性やライセンス違反のリスクを迅速に特定するために不可欠な仕組みとなっています。
具体例・使われ方
AIシステムの開発において、Pythonで構築された機械学習パイプラインやLLMの周辺ツール群に含まれる多数の依存ライブラリをSBOMとして出力し管理します。これにより、サプライチェーン攻撃などで特定のライブラリに重大な脆弱性が発見された際、自社のAIシステムがその影響を受けるかどうかを瞬時に特定できます。
似た用語との違い
従来のソースコード管理や脆弱性スキャンが「ソースコードの静的な解析」や「既知のバグの検出」に焦点を当てるのに対し、SBOMは「ソフトウェアを構成する部品目録の作成と管理」そのものに焦点を当てている点が異なります。
注意点
SBOMを作成しても、リストが常に最新の状態に更新されていなければ意味がありません。また、自動生成ツールの精度や、依存関係が複雑な場合の正確な追跡には限界があり、運用体制の整備が必要です。