オープンソースのSBOMツールには、汎用型と言語特化型の両方があり、利用している技術スタックに合わせて選べます。

SBOMツールを選ぶ際は、以下のポイントを確認することが重要です。

SBOMツール選定のポイント

  • SPDXやCycloneDXなどの標準フォーマットに対応しているか

  • ビルドプロセスやCI/CDパイプラインへ統合できるか

  • 使用している言語や開発環境に適しているか

  • SBOM生成をどこまで自動化できるか

WizはSecurity Graphを活用し、実際の運用環境に基づいて脆弱性の優先順位を判断しながら、クラウド環境全体に対してエージェントレスでSBOMを生成します。

オープンソースの依存関係は開発スピードを大きく向上させる一方で、新たなセキュリティリスクも生み出します。

例えば、JavaScriptとPythonでは合計100万件を超えるパッケージが公開されています。これにより、開発者はゼロから実装することなく、迅速にプロダクトを構築できます。

その一方で、外部依存関係を追加するたびに潜在的なリスクも増加します。サードパーティ製コンポーネントには脆弱性が含まれている可能性があり、依存関係が増えるほど、バージョンや利用状況の管理は複雑になります。

こうした課題への対応策として活用されているのが、Software Bill of Materials(SBOM)です。SBOMは、パッケージ名やバージョン情報を含む、ソフトウェア構成要素の一覧です。依存関係を一元的に可視化できるようになることで、利用者側・提供者側の双方が、脆弱性やライセンス上の問題を迅速かつ効率的に確認できるようになります。

本記事では、SBOMの基本を整理したうえで、主要なオープンソースSBOMツールを紹介します。

SBOMとは

SBOM(Software Bill of Materials)は、ソフトウェアを構成するコンポーネントや依存関係を、人間と機械の両方が読み取れる形式で一覧化したものです。

アプリケーションのビルド時に利用されるサードパーティ製の依存関係を追跡できるほか、各コンポーネントについて以下のような情報を確認できます。

  • コンポーネント名

  • バージョン

  • リリース日

  • チェックサム

  • ライセンス情報

  • 関連メタデータ

なぜSBOMが必要なのか

SBOMを利用することで、エンジニアリングチームは、サードパーティ製コンポーネントの名称・バージョン・ライセンス情報を含む、完全かつ最新のインベントリを把握できます。

これにより、コード変更やライセンス変更の影響を評価しやすくなるほか、Common Weakness Enumerations(CWE)やCommon Vulnerabilities and Exposures(CVE)といったセキュリティ上の問題も迅速に特定できます。

運用面では、SBOMはソフトウェア資産管理にも役立ちます。利用中のソフトウェアやライセンスを一覧化できるため、GPLライセンスの回避など、社内ポリシーの適用にも有効です。

さらに、依存関係によって持ち込まれるサプライチェーンリスクも迅速に把握できます。

SBOMは、コンプライアンス要件としても重要性が高まっています。例えば、米国の「Executive Order on Improving the Nation's Cybersecurity」では、対象ソフトウェアについて、米国政府向けベンダーにSBOMの提供を求めています。

そのため、連邦政府向けにソフトウェアを提供する企業にとって、SBOM対応は事実上必須となっているのです。

SBOMツールの仕組み

SBOMツールは、アプリケーション内のソフトウェアコンポーネントを自動的に検出し、一覧化します。多くのSoftware Composition Analysis(SCA)ツールにはSBOM生成機能が含まれており、コードベースをスキャンして包括的なインベントリを作成します。

主なスキャン方式は以下のとおりです。

  • Manifest scanning

package.jsonやCargo.tomlなどのマニフェストファイルを解析し、記載された依存関係を抽出します。

  • Binary scanning

コンパイル済みバイナリを解析し、特定のライブラリに由来するサードパーティコードを検出します。

  • Hybrid scanning

Manifest scanningとBinary scanningを組み合わせることで、依存関係の検出漏れを減らします。

前述のとおり、SBOMには、人間と機械の両方が読み取れるさまざまなフォーマットがあります。

こうしたフォーマットにより、自動分析と手動確認の両方に対応できるほか、特定ライブラリの利用有無も迅速に確認できます。

代表的なSBOMフォーマットは以下のとおりです。

ソフトウェアライセンス情報に重点を置いたフォーマット

セキュリティ脆弱性の管理に重点を置いたフォーマット

特定分野に特化せず、ソフトウェア識別を目的としたフォーマット

プロのヒント

WizのエージェントレスSBOMでは、エージェントをデプロイすることなく、パッケージ、オープンソースライブラリ、ネストされた依存関係を含むアプリケーションコンポーネントを可視化できます。

SBOMツールを選ぶポイント

SBOMツールを選定する際は、以下のポイントを確認してください。

  • 対応フォーマット

SPDXやCycloneDXなどの形式でSBOMを生成できるかを確認します。他ツールとの連携やコンプライアンス対応において重要です。

  • 対応言語・対応環境

汎用型のツールもあれば、特定の言語やエコシステム向けに設計されたツールもあります。利用している技術スタックに適したものを選ぶ必要があります。

  • 統合性

SBOMを常に最新の状態に保つには、CI/CDパイプラインやビルドプロセスへ組み込めるツールが適しています。

  • 解析の深さ

マニフェストファイルだけでなくバイナリもスキャンできるツールであれば、パッケージファイルに記載されない依存関係も検出できます。

  • 自動化対応

SBOM生成を自動化できれば、手動実行の漏れを防げます。

  • コミュニティとメンテナンス状況

活発なコミュニティを持つオープンソースツールは、継続的に更新され、新しい言語やフォーマットへの対応も進みやすい傾向があります。

チームのワークフローを踏まえ、SBOM管理を最も効率化できる要件を整理することが重要です。

複数言語を横断して利用したい場合や、エージェントのインストールを避けたい場合は、柔軟性が高く導入しやすいツールが適しています。

オープンソースのSBOMツール

ここまでで、SBOMの概要・用途・仕組みを確認しました。ここからは、SBOMを生成できるオープンソースツールを紹介します。

汎用SBOMツール言語特化型SBOMツール
  1. Syft
  2. The SBOM Tool
  3. Tern
  4. CycloneDX Generator
  5. SPDX SBOM Generator
  6. DISTRO2SBOM
  1. Retire.js
  2. BOM
  3. Jake
  4. rebar3_sbom
  5. sbom-rs

汎用SBOMツール

まずは、特定のプログラミング言語に依存しない汎用SBOMツールを紹介します。

1. Syft

SyftはコンテナイメージやファイルシステムからSBOMを生成できるオープンソースのCLIツールです。

主な特徴

  • OCI、Docker、Singularityなどのコンテナフォーマットに対応

  • 利用中のLinuxディストリビューションを検出可能

  • SPDX、CycloneDX、独自フォーマットをサポート

2. The SBOM tool

The SBOM toolは、Microsoftが提供するオープンソースのSBOM生成ツールです。

主な特徴

  • 大規模プロジェクト向けに設計

  • 高いスケーラビリティを提供

  • NuGet、Go、npm、pip、Cargoなどのパッケージマネージャーに対応

  • ビルド時にSPDX形式のSBOMを生成

3. Tern

Ternは、コンテナイメージやDockerfileからSBOMを生成できるSCAツールです。

主な特徴

  • ライセンス情報の収集に重点を置いた設計

  • 各依存関係が追加されたイメージレイヤーを可視化

  • SPDX、CycloneDX、HTML、YAMLなど複数形式で出力可能

4. CycloneDX Generator

CycloneDX Generator(cdxgen)は、OWASP公式のSBOMツールです。

主な特徴

  • C/C++、JavaScript、Java、Python、Haskellなど多数の言語をサポート

  • CLIによるローカルスキャンに対応

  • CI/CDパイプラインへの組み込みが可能

  • /bom エンドポイントを提供するAPIサーバー機能を搭載

  • CycloneDX形式でSBOMを出力

5. SPDX SBOM Generator

SPDX SBOM Generatorは、多言語対応のSBOMツールです。

主な特徴

  • pip、Cargo、npm、Go、Composer、RubyGemsなど多数のパッケージマネージャーをサポート

  • SPDX形式のSBOM生成に対応

  • CLIベースで利用可能

6. DISTRO2SBOM

DISTRO2SBOMは、Linux環境内のインストール済みパッケージを解析してSBOMを生成するツールです。

主な特徴

  • 利用中のLinuxディストリビューションを自動検出

  • インストール済みパッケージを一覧化

  • SPDXおよびCycloneDX形式でエクスポート可能

言語特化型SBOMツール

続いて、特定のプログラミング言語に特化した代表的なSBOMツールを紹介します。

7. Retire.js

Retire.jsは、JavaScript向けの脆弱性スキャナーで、SBOM生成にも対応しています。

主な特徴

  • JavaScript依存関係の脆弱性を検出

  • CLIとしてローカル環境で利用可能

  • CI/CDパイプラインへの組み込みに対応

  • WebサイトをスキャンできるChrome拡張機能を提供

  • CycloneDX形式でSBOMを生成

8. bom

bomは、Kubernetes(k8s)プロジェクトの一部として提供されているSBOMツールです。

主な特徴

  • Kubernetesクラスター定義内のGo依存関係を解析

  • SPDX形式のSBOMを生成

  • 400種類以上のライセンスを識別可能

9. Jake

Jakeは、Python環境の脆弱性検査とSBOM生成を行うCLIツールです。

主な特徴

  • Python依存関係の脆弱性を検出

  • CycloneDX形式でSBOMを生成

  • Sonatypeサーバー(商用版・オープンソース版)を利用

10. rebar3_sbom

rebar3_sbomは、Erlang向けのSBOM生成ツールです。

主な特徴

  • Erlangビルドツール「Rebar」と連携

  • CycloneDX形式でSBOMを生成

  • Erlangプロジェクト向けに最適化

11. sbom-rs

sbom-rsは、Rust向けに提供されているSBOMツール群です。

主な特徴

  • SPDXおよびCycloneDX形式をサポート

  • Rustプロジェクト向けに設計

  • OSV(Open Source Vulnerabilities)データベースベースの脆弱性スキャン機能を搭載

WizによるSBOM管理と可視化

Wizでは、SBOMを継続的に活用できるセキュリティアセットとして管理できます。

クラウド、コンテナ、Kubernetes、VM、イメージ環境全体にわたってソフトウェアコンポーネントを自動検出し、セキュリティ、コンプライアンス、顧客向け保証に活用できる包括的なSBOMを生成可能です。

Wizで実現できること

  • エージェントレス設計

エージェントをデプロイすることなく継続的なインベントリ管理を実現し、環境変化に合わせてSBOMを常に最新の状態に維持できます。

  • 標準フォーマット対応と高い可搬性

パッケージ、OS、推移的依存関係の詳細を含め、CycloneDXまたはSPDX形式でエクスポート可能です。

  • 大規模運用への対応

環境全体を対象にSBOMレポートをスケジュール実行できるほか、Amazon S3などのクラウドストレージへのエクスポートやAPI経由での取得にも対応しています。

  • 開発から運用までを横断的に可視化

SBOMを脆弱性、ライセンス、公開されたシークレット情報と関連付けることで、ビジネスへの影響が大きいリスクを優先的に把握できます。

  • 開発・デリバリープロセスへの統合

ビルド時のSBOM生成、レジストリ内イメージのスキャン、リリース間のSBOM比較による構成ドリフト追跡を実現します。

  • コンプライアンス対応

EO 14028やソフトウェアサプライチェーン監査向けの監査可能なアーティファクトを生成できます。

WizのエージェントレスSBOM機能について詳しく知りたい方は、デモをご予約くださいエンドツーエンドのSBOM生成をどのように効率化できるか確認できます。

Catch code risks before you deploy

Learn how Wiz Code scans IaC, containers, and pipelines to stop misconfigurations and vulnerabilities before they hit your cloud.

Wiz がお客様の個人データをどのように取り扱うかについては、当社のプライバシーポリシーをご確認下さい: プライバシーポリシー.


関連記事