よろずやIT
用語辞典

SBOM(ソフトウェア部品表)とは?脆弱性に素早く対応する仕組み

執筆・監修:よろずやIT編集部|編集方針を見る

結論:まずここだけ読めばOK

詳しい手順・原因は、この下で解説しています。

用語辞典のイラスト

一言でいうと

**SBOM(Software Bill of Materials)とは、ソフトウェアに含まれる部品を一覧にした「ソフトウェア部品表」**のことです。どんな部品(ライブラリやモジュール)が、どのバージョンで、どんな関係で組み込まれているかを、記録します。

たとえ話:食品の原材料表示

スーパーで食品を買う時、パッケージの原材料表示を見ます。アレルギーのある人は、そこで、「自分が食べてはいけない原料が入っていないか」を確認できます。

SBOMは、ソフトウェアの原材料表示のようなものです。「このソフトには、どんな部品が入っているのか」が分かるので、問題のある部品が見つかった時に、「自分たちのソフトに入っているか」を、すぐに確認できます。

なぜ必要とされているのか

現在のソフトウェアの多くは、オープンソースなどの既存の部品を、組み合わせて作られています(オープンソースとは、ライブラリとは)。部品の中に、さらに別の部品が使われていることも多く、全体として何が入っているのかを、開発者自身も、把握しきれなくなっています。

この状況で、ある部品に重大な脆弱性が見つかると、**「自分たちのシステムで、その部品を使っているか」**を確認するだけで、大きな手間がかかります。2021年末に、広く使われていたログ出力の部品で重大な脆弱性が公表された際には、影響範囲の特定に苦労した組織が多かったと言われています。こうした経験から、部品を一覧で把握しておく仕組みとして、SBOMが注目されるようになりました。日本でも、経済産業省が、導入に向けた手引きを公開しています。

脆弱性が公表された時に、SBOMと照らし合わせて対応する流れの図解

SBOMに記録される主な情報

項目 内容
部品の名前 どのライブラリ・モジュールか
バージョン どの版を使っているか
提供元 誰が作ったものか
依存関係 どの部品が、どの部品の中で使われているか
ライセンス どんな利用条件か

バージョンの情報があるからこそ、「この版には脆弱性がある」という公表と、照らし合わせられます。

主な形式

SBOMには、いくつかの標準的な形式があります。

形式 特徴
SPDX もともとライセンスの管理を目的に作られた形式。国際規格としても整理されている
CycloneDX セキュリティ用途を意識して作られた形式。脆弱性の管理に使いやすい

実際には、ビルドのたびに、ツールで自動的に生成するのが一般的です。手作業で作ると、すぐに古くなってしまうためです。生成の流れは、CI/CDとはの仕組みに組み込むことも多くあります。

SBOMの限界

大事なのは、「作る」こと自体より、「更新して、使い続ける」ことです。

関連する用語

SBOMと一緒に出てくる用語を、整理しておきます。

用語 意味
CVE 公表された脆弱性に、付けられる識別番号。SBOMの部品情報と突き合わせて、影響の有無を調べる
SCA(ソフトウェア構成解析) 使っている部品を調べ、既知の脆弱性やライセンスの問題を見つけるツールや手法
脆弱性管理 見つかった脆弱性の、影響を判断し、優先順位をつけて対応する活動全体
ライセンス管理 部品ごとの、利用条件を把握し、違反を防ぐ活動

SBOMは、これらの活動を支える土台となる情報です。

「今、動いている」ことは、安全の証拠ではない

システムが正常に動いていると、内部で使っているライブラリや構成を、見直す優先順位が、下がりがちです。しかし、今、問題なく動いていることと、今後も安全に使い続けられることは、別です。

古いライブラリに依存していて、脆弱性が公表されても、どのシステムが、そのライブラリを使っているのかを把握できていなければ、影響を調べるだけで、時間がかかります。SBOMは、その把握を、事前にしておくための仕組みです。問題が起きてから慌てて調べるのではなく、構成を把握し、対応できる状態を作っておく。これがSBOMの価値です。

技術的負債の「所在」を、把握するための道具

「動いているから、触れない」システムの改修を依頼された時に、強く感じることがあります。担当者しか分からない処理、古いライブラリ、ドキュメントの不備、重複したコードが重なると、小さな改修にも、時間がかかってしまいます(技術的負債とは)。

技術的負債は、完全にゼロにすることよりも、どこに借金があるのかを、把握しておくことが大切だと考えています。SBOMは、そのうち「部品に関する借金」、つまり、古くなった部品や、更新されていないライブラリがどこにあるのかを、見える形にする道具です。

また、オープンソースの部品は、無料で使えても、人件費、学習コスト、保守、セキュリティ対応といったコストがかかります。「無料かどうか」ではなく、自分たちが責任を持って、使い続けられるかで、採用を判断するようにしています(オープンソースとは)。何を使っているかを把握していなければ、その判断もできません。

小さく始めるなら

大がかりな仕組みを入れる前に、次のことから始められます。

  1. 使っているライブラリとバージョンを、一覧にする(依存関係を管理するファイルが、出発点になります)
  2. 古いライブラリを、洗い出す(技術的負債とはにも直結します)
  3. 定期的に、更新する日を決める
  4. 慣れてきたら、ツールによる自動生成に移行する

まとめ

PR【中古】ビジネスマンのための情報セキュリティ入門 / 林国之 (単行本)

【中古】ビジネスマンのための情報セキュリティ入門 / 林国之 (単行本)

¥175

楽天で見る
SHAREXLINEはてブ

よくある質問

Q.SBOMは、誰が作るものですか?

A.ソフトウェアを開発・提供する側が作るのが基本です。購入する側が、納品されたソフトウェアのSBOMの提出を求めることもあります。自社で開発していなくても、自社で使うソフトの部品を把握する目的で活用できます。

Q.小規模な開発でも、SBOMは必要ですか?

A.正式なSBOMを作らなくても、「どのライブラリの、どのバージョンを使っているか」を一覧で把握しておくことは、規模を問わず役に立ちます。まずは、依存関係を管理するファイルを整理し、定期的に更新する習慣から始めるのが現実的です。

Q.SBOMがあれば、脆弱性は防げますか?

A.防げません。SBOMは、「何が入っているか」を知るための一覧です。脆弱性が公表された時に、影響の有無を素早く確認できるようになりますが、実際の対応(更新や代替)は、別に行う必要があります。

関連記事

用語辞典用語解説

脆弱性とは?弱点が見つかった時に起きることと、利用者ができる対策

脆弱性とは、ソフトウェアやシステムにある、攻撃に悪用されうる弱点のこと。バグとの違い、見つかった後の流れ、パッチ・アップデートの意味、一般の利用者ができる対策をやさしく解説します。

用語辞典用語解説

脆弱性とは?「脆弱」の意味から、バグ・ウイルスとの違いまで

「脆弱」とは、もろくて弱いこと。脆弱性とは、ソフトウェアやシステムにある、セキュリティ上の弱点のことです。バグとの違い、ウイルスとの関係、修正までの流れ、CVE・CVSSの意味、個人ができる備えを解説します。

用語辞典用語解説

サプライチェーン攻撃とは?委託先・取引先・ソフトウェア部品を経由する攻撃と対策

サプライチェーン攻撃は、攻撃対象の企業そのものではなく、委託先・取引先・利用しているサービスやソフトウェア部品の弱点を突いて侵入する攻撃です。仕組み、2026年10月の事例にみる特徴、委託先管理や部品の把握といった対策を解説します。

用語辞典用語解説

DLP(情報漏えい対策)とは?機密情報の持ち出しを見つけて止める仕組み

DLP(Data Loss Prevention)とは、機密情報や個人情報が、メール送信やUSBメモリ、クラウドを通じて、外部に持ち出されるのを、見つけて警告・遮断する仕組みです。監視する場所、判定の方法、導入の進め方、誤検知などの注意点を図解で解説します。

最新のIT関連書籍 トップ10

PR / 楽天市場の売れ筋ランキングを定期的に取得しています。価格は変動する場合があるため、購入前に各ストアでご確認ください。