SBOMとは
SBOM(Software Bill of Materials:エスボム)とは、ソフトウェアを構成するすべてのコンポーネント(ライブラリ、フレームワーク、モジュール等)の一覧を構造化したデータです。日本語では「ソフトウェア部品表」と訳されます。
製造業における「部品表(BOM)」が製品を構成する部品の一覧であるように、SBOMはソフトウェアの「中身」を可視化するものです。どのオープンソースライブラリを使っているか、そのバージョンは何か、ライセンスは何か——これらの情報を機械的に処理可能な形式でまとめたものがSBOMです。
食品の原材料表示をイメージしてください。加工食品のパッケージには「小麦粉、砂糖、バター、卵……」と原材料が記載されています。SBOMはソフトウェアの「原材料表示」であり、利用者が「このソフトウェアに何が入っているか」を確認できるようにする仕組みです。
なぜ今SBOMが注目されているのか
① ソフトウェアサプライチェーン攻撃の増加
2020年のSolarWinds事件、2021年のLog4Shell脆弱性は、世界中の企業・政府機関に甚大な影響を与えました。これらの事例は、ソフトウェアの構成要素(サプライチェーン)に潜む脆弱性がいかに広範な被害をもたらすかを示しました。
Log4Shellの場合、Apache Log4jというJavaのロギングライブラリに深刻な脆弱性が発見されましたが、多くの企業は「自社のどのシステムにLog4jが含まれているか」を即座に把握できませんでした。SBOMが整備されていれば、影響範囲を数分で特定できます。
② OSS利用の急拡大
現代のソフトウェアは、コードの70〜90%がオープンソースソフトウェア(OSS)で構成されていると言われています。自社で書いたコードだけでなく、依存するOSSの脆弱性やライセンス違反もリスクとなるため、OSSの利用状況を可視化するSBOMの重要性が急増しています。
③ 各国政府の義務化・推奨
米国では2021年の大統領令14028号で、連邦政府に納入するソフトウェアにSBOMの提供を義務化しました。日本でも経済産業省が「ソフトウェア管理に向けたSBOMの導入に関する手引」を公表し、政府統一基準群の令和7年度改定でもSBOM対応が推奨事項に追加されています。
SBOMに含まれる情報
NTIANational Telecommunications and Information Administrationが定義する「SBOMの最小要素」は以下の通りです。
| 要素 | 内容 | 例 |
|---|---|---|
| サプライヤー名 | コンポーネントの提供者 | Apache Software Foundation |
| コンポーネント名 | ライブラリ/パッケージの名称 | log4j-core |
| バージョン | 使用しているバージョン番号 | 2.17.1 |
| 一意な識別子 | CPE、PURLなどの標準識別子 | pkg:maven/org.apache.logging.log4j/log4j-core@2.17.1 |
| 依存関係 | 他のコンポーネントとの依存関係 | log4j-api 2.17.1に依存 |
| SBOMの作成者 | SBOMを生成した組織・ツール | BTN Consulting / Syft |
| タイムスタンプ | SBOMの生成日時 | 2026-02-28T10:00:00Z |
主要フォーマット:SPDX vs CycloneDX
| 項目 | SPDX | CycloneDX |
|---|---|---|
| 策定組織 | Linux Foundation | OWASP |
| 国際規格 | ISO/IEC 5962として国際規格化 | ECMA-424として標準化(2024年) |
| 主な用途 | ライセンスコンプライアンス重視 | セキュリティ・脆弱性管理重視 |
| 出力形式 | JSON / XML / RDF / Tag-Value | JSON / XML / Protocol Buffers |
| 脆弱性情報の統合 | 可能(VEX連携) | ネイティブサポート(VDR/VEX統合) |
| 採用傾向 | 米国政府、大企業のOSS管理 | セキュリティ重視の開発チーム |
セキュリティ・脆弱性管理が主目的であればCycloneDXが扱いやすく、ライセンスコンプライアンスやOSSガバナンスも含めた包括的な管理にはSPDXが適しています。多くのSBOM作成ツールは両方のフォーマットに対応しているため、まずはどちらかで始めて必要に応じて変換するアプローチが現実的です。
SBOM作成ツール
| ツール | 対応言語/パッケージ | 出力形式 | 特徴 |
|---|---|---|---|
| Syft(Anchore) | 多言語(Java, Node, Python, Go, Rust等) | SPDX / CycloneDX | コンテナイメージ対応。CI/CDパイプラインに組み込みやすい |
| Trivy(Aqua Security) | 多言語 + OS パッケージ | SPDX / CycloneDX | SBOM生成+脆弱性スキャンを一体で実行 |
| cdxgen(CycloneDX) | 多言語 | CycloneDX | CycloneDX公式ツール。evinse(エビデンスモード)で実使用コンポーネントのみ抽出 |
| Microsoft SBOM Tool | 多言語 | SPDX | Microsoft製。GitHub Actionsとの統合が容易 |
CI/CDパイプライン(GitHub Actions、Azure DevOps、Jenkins等)にSBOM生成ステップを組み込むことで、ビルドのたびに最新のSBOMが自動生成される運用が実現できます。
SBOMの活用シーン
① 脆弱性管理の高速化
新たな脆弱性(CVE)が公開された際に、SBOMと脆弱性データベースを突き合わせることで、影響を受けるシステムを即座に特定できます。Log4Shellのような緊急脆弱性への対応時間を大幅に短縮できます。
② ライセンスコンプライアンス
利用しているOSSのライセンス条件(MIT、Apache 2.0、GPL等)を把握し、ライセンス違反のリスクを管理します。特にGPLなどのコピーレフト型ライセンスは、自社のプロプライエタリコードの公開義務が発生する可能性があるため注意が必要です。
③ ソフトウェア調達時のリスク評価
取引先やベンダーから提供されるソフトウェアのSBOMを要求し、既知の脆弱性を含んでいないか、サポート切れのコンポーネントを使用していないかを事前に評価します。
④ インシデント対応
セキュリティインシデント発生時に、影響を受けたシステムの構成を正確に把握し、原因究明と影響範囲の特定を迅速に行うための基礎データとして活用します。
政府方針とSBOM
経済産業省の手引
経済産業省は2023年に「ソフトウェア管理に向けたSBOMの導入に関する手引(SBOM導入手引)」を公表しました。本手引では、SBOMの基本概念、導入の進め方、想定される課題と対策がまとめられています。
政府統一基準群での言及
令和7年度版の政府統一基準群では、SBOMの作成・管理が推奨事項として追加されました。政府情報システムを構成するソフトウェアについて、SBOMを管理し、脆弱性情報の迅速な照合に活用することが求められています。
米国の動向
米国では大統領令14028号(2021年)以降、連邦政府に納入するソフトウェアへのSBOM提供が義務化されています。NTIAの最小要素ガイドラインやCISAのSBOMガイダンスが具体的な実装指針として公開されています。
導入の課題と対策
| 課題 | 内容 | 対策 |
|---|---|---|
| 正確性の確保 | ツールによって検出されるコンポーネントに差異がある | 複数ツールの併用、手動確認の組み合わせ |
| 依存関係の深さ | 直接依存だけでなく、間接依存(推移的依存)の把握が困難 | ロックファイル(package-lock.json等)を活用したツール解析 |
| 運用の継続性 | 一度作って終わりではなく、更新が必要 | CI/CDパイプラインに組み込み、ビルド時に自動生成 |
| 社内の理解不足 | 開発チームがSBOMの価値を理解していない | 脆弱性対応事例(Log4Shell等)を用いた啓蒙活動 |
| 取引先との連携 | ベンダーからSBOMを入手できない | 調達契約にSBOM提供義務を明記 |
BTNコンサルティングの支援
SBOM導入コンサルティング
お客様の開発プロセスに合わせたSBOM導入計画の策定、ツール選定、CI/CDパイプラインへの組み込みを支援します。
脆弱性管理体制の構築
SBOMと脆弱性データベースの突き合わせによる脆弱性管理プロセスの構築を支援します。AWS Inspector、Azure Defender、Google Cloud Security Command Centerなどのクラウドネイティブツールとの連携も対応します。
ソフトウェア調達時のセキュリティ評価
取引先・ベンダーから提供されるソフトウェアのSBOMレビュー、脆弱性評価、ライセンスコンプライアンスチェックを支援します。
まとめ
SBOMはソフトウェアの「原材料表示」であり、脆弱性管理、ライセンスコンプライアンス、サプライチェーンリスク管理の基盤となります。Log4Shell事件以降、各国政府がSBOM対応を義務化・推奨する流れが加速しており、日本でも経済産業省の手引と政府統一基準群でSBOM管理が求められています。まずはCI/CDパイプラインにSyftやTrivyなどのツールを組み込み、主要システムのSBOMを自動生成するところから始めましょう。