比較
SBOM管理
SBOM管理とは、製品やリリースごとにSBOMを保管し、新しい脆弱性がないか監視し、求める人に届けるという継続的な作業です。SBOMの生成はパイプラインの1ステップで済みます。何百ものSBOMを役立つ状態に保ち続けることこそが本当の仕事です。
更新日
各比較では、他製品の強み、CRACIとの違い、両方を併用すべきケースを説明しています。すべてのカテゴリーはすべての比較をご覧ください。
SBOM管理に含まれる作業
- 収集。自社のビルドやサプライヤーから、届いた形式のままSBOMを集めます。
- 正規化。CycloneDXとSPDXのファイルや、ツールごとに異なるコンポーネントの名前付けを、1つの一貫したビューにまとめます。
- 品質チェック。ライセンス、識別子、依存関係のつながりなど、欠けているものを見つけます。品質の低いSBOMの例をご覧ください。
- 監視。保管したSBOMを新しい脆弱性データと照合し続け、アドバイザリーを影響を受けるリリースの一覧に変えます。
- トリアージ。重要なものを判断し、担当チームに送り、結果を記録します。たとえばVEXステートメントとして記録します。
- 共有。顧客、監査人、規制当局に、問い合わせのあったバージョンのSBOMを提供します。
その背景にある習慣については、SBOMのベストプラクティスをご覧ください。初めての方は、SBOMとはからお読みください。
スプレッドシートとフォルダーでは立ち行かなくなる理由
1つの製品に1つのSBOMなら、リポジトリに収まります。それぞれサポート対象のバージョンとサプライヤーを持つ複数の製品となると、そうはいきません。重要な問いはそのすべてにまたがります。このパッケージを含むリリースはどれか、そのリリースを使っている顧客は誰か、そしていつからか。JSONファイルが並ぶフォルダーからこれに答えるには数日かかりますが、与えられた時間は数時間しかありません。
管理ツール、生成ツール、ビルド時の記録
- Anchore、FOSSA、Cybeats、Manifest、Lineaje、Dependency-TrackなどのSBOM管理ツールは、SBOMを保管、分析、監視します。管理するのは渡されたSBOMなので、記録の完全性はその背後にある生成ツール次第です。
- Syft、Trivy、cdxgenなどのSBOM生成ツールは、事後にディレクトリ、イメージ、ロックファイルをスキャンします。報告される内容は、目の前にあるファイルによって決まります。両者の比較はおすすめのSBOMツールをご覧ください。
- ビルド時の記録は、ビルドの実行中に依存関係を捕捉します。これがCRACIのアプローチです。
すべてのチームとパイプラインに1つの生成ポリシーを適用する方法は、エンジニアリングチーム横断のSBOM生成をご覧ください。
SBOM管理ツールの選定ポイント
- CycloneDXとSPDXの両方を取り込め、必要に応じてサプライヤーのSBOMも取り込める
- リポジトリ単位だけでなく、リリース単位でSBOMを追跡できる
- 新しい脆弱性が公開されるたびに、保管したSBOMを再チェックできる
- 依存関係のつながりを表示し、検出結果からアップグレードすべきパッケージにたどり着ける
- トリアージとVEXに対応し、判断を残せる
- 顧客から求められた場合に、SBOMを共有する手段がある
CRACIの位置づけ
CRACIは、GitHub Actionsのビルドの実行中にSBOMを記録します。ランナー上のパッケージを認識するプロキシが、CIキャッシュから復元されたパッケージを含め、ジョブが取得したすべてのパッケージを記録するため、SBOMはどこか近くで実行されたスキャンではなく、成果物を生み出したビルドそのものを記述します。各ジョブのSBOMには完全性の状態が付き、CycloneDXとSPDXのエクスポートには推移的依存関係と各コンポーネントの宣言ライセンスが含まれます。CRACIは新しい脆弱性が現れるたびに監視対象のSBOMを再評価し続け、インベントリビューでは、どのソフトウェアバージョンがどの製品にデプロイされているかを、グローバルに正確に示します。
Cyber Resilience ActがSBOMに求める内容については、CRAコンプライアンス:SBOMの要件とツールをご覧ください。ビルド時のSBOM生成の詳細もあわせてご覧ください。サプライヤーから届いたSBOMを管理する前に確認するには、SBOM品質チェックリストをご覧ください。
CRACIと各ツールの比較
- CRACI vs Anchore イメージのスキャンか、ビルドの記録と監視か。
- CRACI vs FOSSA SBOM管理か、ビルド・SBOM・監視を1つにまとめたものか。
- CRACI vs Cybeats SBOMの記録システムか、記録・監視されるSBOMか。
- CRACI vs Manifest SBOM管理か、SBOMの記録と監視か。
- CRACI vs Lineaje ポートフォリオ分析と修正済みパッケージか、監視付きのビルドSBOMか。
- CRACI vs Dependency-Track SBOMの分析か、SBOMの記録と監視か。
- CRACI vs SOC 2のSBOMチェック エビデンスか、チェックボックスか。
並べて比較
1つの製品ではなくカテゴリーを選ぶときのために、複数のツールを1ページにまとめています。
SBOM管理に関するよくあるご質問
SBOM管理とは何ですか?
製品やサプライヤーをまたいでSBOMを収集し、一貫性を保ち、新しい脆弱性がないか監視し、必要とする人と共有するという継続的な作業です。
SBOM生成ツールとSBOM管理ツールの違いは何ですか?
生成ツールはSBOMファイルを作成します。管理ツールは多くのソースからのSBOMを保管し、チェックし続けます。管理ツールの完全性は、受け取るSBOMの完全性を超えることはありません。
SBOM管理ツールは必要ですか?
製品が1つでリリースが少なければ、生成ツールと丁寧な保管で十分な場合があります。複数の製品、サポート対象のバージョン、サプライヤーのSBOMがある場合、問いが多くのファイルにまたがりすぎて手作業では答えられません。
Dependency-TrackはSBOM管理ツールですか?
はい。OWASPのオープンソースプラットフォームで、SBOMを取り込み、既知の脆弱性がないか監視します。自社で運用し、SBOMも自社で用意する必要があります。