入門解説

SBOMとは(部品メーカーが押さえるべき要点)

OEMから「SBOMを出してください」「このCVEは影響ありますか?」と突然言われて困った——。

Tier2〜Tier4の部品メーカーで増えている典型パターンです。

SBOM(Software Bill of Materials)は、ソフトウェアの“部品表”です。ただし実務では、単なる一覧表ではなく 「脆弱性照会・監査・調査依頼に“速く正確に答えるための前提情報”」 として扱われます。

この記事では、部品メーカーがSBOMでまず押さえるべき要点を、兼務担当でも迷わないように整理します。

SBOMとは何か(ひとことで)

SBOMは「製品のソフトウェアを構成するコンポーネント(OSS/商用/自社)と、そのバージョン、依存関係などを一覧化したもの」です。

ハードや機械部品のBOMが“物理部品表”なら、SBOMは“ソフト部品表”です。

ここで重要なのは、SBOMがあると次の問いに答えられるようになることです。

  • この脆弱性(CVE)が 自社製品のどの版 に関係するか?
  • そのコンポーネントは どこで/どう使っている のか?
  • 影響あり・なしの判断を 根拠付きで説明 できるか?

部品メーカーが押さえるべき要点(まずはこの5つ)

1) SBOMは「提出物」ではなく「照会に答えるための台帳」

SBOMは“1回作って終わり”にするとすぐに古くなります。目的は提出よりも、CVE照会・監査・調査依頼に対して 再現性のある回答 を返すことです。

2) まず「対象範囲」を決める(全部やらない)

いきなり全製品をSBOM化すると止まります。最初は次のいずれかで対象を絞るのが現実的です。

  • OEM照会が多い製品(炎上しやすい製品)
  • 売上上位の製品(影響範囲が大きい製品)
  • 外部IF(通信/アップデート)を持つ製品(攻撃面が広い製品)

3) “製品バージョン”と“コンポーネントバージョン”を分けて持つ

SBOM運用で一番多い事故は「対象版が分からない」ことです。製品の版(例:v2.3.1)と、OSSの版(例:OpenSSL 3.0.13)は別物なので、必ず分けて管理します。

4) 機密を守るために「社内版/提出版」を分ける

SBOMは設計情報に近いので、何でも外に出すのは危険です。おすすめはこの3段階です。

  • 社内完全版:搭載箇所・備考・設定差分まで含む
  • OEM提出版:必要範囲(コンポーネントと版数)に絞る
  • 照会回答版:当該CVEに関係する部分だけ抜粋

5) 更新責任者と更新タイミングを決める(ここがないと腐る)

SBOMは“作成”より“更新”が本番です。最低限、次のタイミングをルール化します。

  • リリース/パッチ適用時
  • OSS更新時
  • OEM提出前
  • 重大CVE発生時(影響調査後の追記)

最小SBOMに入れる項目(ExcelでもOK)

最初から難しい標準フォーマットに寄せるより、まずは 答えられる形 を作るのが先です。

Excelで始める場合、最低限この項目があると脆弱性対応につながります。

製品名
製品バージョン
コンポーネント名
コンポーネントバージョン
区分(OSS/商用/自社)
取得元(供給元/リポジトリ等)
搭載箇所(ECU/機能/モジュール)
備考(機能無効、外部IFなし 等)
更新日/更新担当

ミニ豆知識:SPDX/CycloneDXは「後から選んでも間に合う」

SBOMには代表的な標準フォーマット(例:SPDX、CycloneDX)があります。ただし、部品メーカーの立上げ段階では「まずExcelで運用が回るか」を優先して問題ありません。運用が固まった後に標準化しても遅くありません。

OEMからSBOMを求められたときの“返し方”(最短ルート)

SBOM提出・照会で重要なのは、完璧さより スピードと再現性 です。

  1. 受領確認(いつまでに一次回答するかを返す)
  2. 対象範囲の確認(製品名・版数・出荷範囲)
  3. SBOM(または簡易部品表)で該当有無を確認
  4. 「影響あり/なし/調査中」を一次回答
  5. 根拠(搭載箇所、到達性、設定差分)を短く添付
  6. 次回更新日(最終回答日)を宣言する

“調査中”は悪ではありません。次回更新日までセットで返せば、期限を守りながら品質も担保できます。

よくある落とし穴(ここだけ先に潰す)

  • コンポーネント名が曖昧(別名/派生版で突合できない)
  • 製品版数が抜けていて、対象製品を特定できない
  • 更新担当がいなくて、SBOMが放置される
  • 提出版と社内版の区別がなく、機密で止まる
  • 「影響なし」の根拠が残らず、追加質問で炎上する

FAQ:SBOMとはでよくある質問

Q1. SBOMとは何ですか?

ソフトウェアを構成するコンポーネント(OSS/商用/自社)と、そのバージョン等を一覧化した“ソフト部品表”です。

Q2. SBOMとBOMの違いは?

BOMは製品全体(物理部品含む)の部品表、SBOMはソフトウェア構成要素に特化した部品表です。

Q3. 部品メーカーでもSBOMは必要ですか?

必要になるケースが増えています。理由は、OEMからの脆弱性照会・監査・調査依頼に対し、対象版や影響有無を説明できる前提情報になるためです。

Q4. 最初からSPDX/CycloneDXで作らないといけませんか?

必須ではありません。最初はExcelで運用を立ち上げ、後から標準フォーマットへ移行する方が現実的な場合が多いです。

Q5. どこまでSBOMを開示すべきですか?

社内版/提出版/照会回答版のように粒度を分けるのがおすすめです。機密を守りつつ、必要な説明責任を果たせます。

自社のSBOM、どこから手をつけるべきか迷っていませんか?

SBOM整備・運用設計を「どこから」「どの粒度で」「どう更新するか」まで整理して、OEM提出用レポートに落とすところまで進めたい方は、まずはご相談ください。

Auto PSIRT Cloudなら、既存のExcel部品表からでもすぐに運用をスタートできます。