SBOM
CycloneDX vs SPDX
CycloneDXとSPDXは、ほぼすべてのツールが対応している2つのSBOMフォーマットです。どちらもソフトウェアに含まれるコンポーネントとその関係を記述します。違いは、生まれた背景、それ以外に扱える情報、そして背後にある標準化団体です。
更新日
結論
顧客、規制当局、ツールが求めるフォーマットを使ってください。特に求められていない場合、セキュリティ業務ではVEXをネイティブに扱えるCycloneDXが、ライセンスコンプライアンスが主目的の場合はSPDXが、より一般的な選択です。CRACIを含め、ほとんどのジェネレーターは両方を生成できます。
一覧比較
| 機能 | CycloneDX | SPDX |
|---|---|---|
| 管理団体 | OWASP FoundationとEcma International | Linux Foundation |
| 標準規格 | ECMA-424 | ISO/IEC 5962:2021 |
| 最新バージョン | 1.7(2025年10月) | 3.0(2024年4月) |
| 出発点 | セキュリティとサプライチェーンリスク | ライセンスコンプライアンス |
| BOMの種類 | SBOM、SaaSBOM、HBOMなど | セキュリティ、ビルド、データセット、AI向けのプロファイル |
| 脆弱性データ | VEXを標準で内蔵 | 3.0のセキュリティプロファイル |
| エンコーディング | JSON、XML、Protocol Buffers | JSONを含む複数 |
CycloneDX
CycloneDXはOWASP Foundationが開発し、Ecma InternationalがECMA-424として標準化しています。バージョン1.7は2025年10月にリリースされました。セキュリティとサプライチェーンリスクを出発点とし、ソフトウェアにとどまらず、SBOM、サービス向けのSaaSBOM、ハードウェア向けのHBOMをカバーします。VEXに対応しているため、同じフォーマットで脆弱性が製品に影響するかどうかを示せます。JSON、XML、Protocol Buffersでシリアライズされます。
SPDX
SPDXはLinux Foundationがホストするオープンソースプロジェクトで、国際標準ISO/IEC 5962:2021として認められています。ライセンスコンプライアンスを出発点としており、そのライセンス識別子はSBOMをはるかに超えて広く使われています。2024年4月にリリースされたSPDX 3.0では、セキュリティ、ビルド、データセット、AI向けのプロファイルが追加されました。
動画:SBOMの基本
KCD Helsinkiでの当社の講演から。SBOMが記録するもの、SPDXとCycloneDXの実際の違い、OpenVEXが加えるものを紹介します。
SBOM basics: SPDX, CycloneDX and OpenVEX
Kubernetes Community Days Helsinki 2026でのPetteri Pulkkinen、Erika Marttinen、SBOMbastic: Getting Ready for Upcoming EU Cybersecurity Regulation in Software Supply Chainsの16:50~22:05。
規制当局が認めるもの
EUのCyber Resilience Actは、SBOMを「一般的に使用されている機械可読な形式」で求めており、特定のフォーマットは指定していません。ドイツのBSI TR-03183-2(バージョン2.1.0)はより具体的で、JSONまたはXMLのCycloneDX 1.6以上、またはSPDX 3.0.1以上を求めています。CRAのSBOM要件をご覧ください。
フォーマットよりも中身が重要
どちらのフォーマットにも、不完全なSBOMを格納できてしまいます。SBOMが役に立つかどうかを決めるのは、推移的依存関係を含め、製品に入ったものがすべて記載されているかどうかです。CRACIはGitHub Actionsのビルドの実行中にSBOMを記録し、ジョブごと・キャッシュごとにその完全性を示し、CycloneDXまたはSPDXでエクスポートします。ビルド時SBOM生成をご覧ください。どちらのフォーマットでも、ファイルの中身はSBOM品質チェックリストで確認できます。
CycloneDXとSPDXに関するよくあるご質問
CycloneDXとSPDXはどちらが優れていますか?
一般的にどちらかが優れているということはありません。CycloneDXはセキュリティ用途から生まれ、VEXをネイティブに扱えます。SPDXはライセンスコンプライアンスから生まれ、ISO規格になっています。ほとんどのツールは両方を生成できます。顧客、規制当局、ツールが求めるほうを選んでください。
EUのCyber Resilience Actが求めるSBOMフォーマットはどれですか?
CRAは、一般的に使われている機械可読な形式を求めており、特定のフォーマットは指定していません。ドイツのBSI TR-03183-2は、JSONまたはXMLのCycloneDX 1.6以上とSPDX 3.0.1以上を認めています。
CycloneDXとSPDXは相互に変換できますか?
双方向に変換するツールはありますが、2つのフォーマットは1対1で対応していないため、変換で情報が失われることがあります。可能であれば、必要なフォーマットを直接生成してください。
CRACIはCycloneDXとSPDXのどちらをエクスポートしますか?
両方です。CRACIはGitHub Actionsのビルドの実行中にSBOMを記録し、推移的依存関係と各コンポーネントの宣言ライセンスを含めて、CycloneDXまたはSPDXでエクスポートします。