EU CRA(サイバーレジリエンス法)対応の出発点が SBOM(Software Bill of Materials=ソフトウェア部品表) です。「何を・どの形式で・どこまで用意すればよいのか」を整理します。
SBOMとは(おさらい)
SBOMは、製品に含まれるソフトウェア部品の一覧です。その**多くはOSS(オープンソース)**で、どの部品が・どのバージョンで・どのライセンスで入っているかを示します。基本のSBOMとは何かは SBOMとは?なぜ今求められるのか もご覧ください。
CRAが求めること(OSS観点で3つ)
CRAは「デジタル要素を持つ製品」に対し、おおむね次を求めます。いずれも**「製品に何が入っているか」を把握していないと実行できません**。
- SBOMの作成・保持:構成部品(その多くはOSS)を把握・管理する
- 脆弱性ハンドリング:既知脆弱性への対処と、報告義務への対応
- セキュア・バイ・デザイン:設計段階からの配慮
SBOMに含める基本項目
国際的に参照される「最小要素」では、各コンポーネントについて次のような情報が求められます。
- サプライヤ名 / コンポーネント名 / バージョン
- 一意の識別子
- 依存関係(何が何に依存しているか)
- SBOMの作成者・作成日時
形式:SPDX と CycloneDX
SBOMは機械可読なフォーマットで交換します。代表的なのは2つです。
- SPDX(ISO/IEC 5962):ライセンス情報の表現に強い
- CycloneDX(OWASP):脆弱性連携に強く、実装現場で広く使われる
どちらでも構いませんが、取引先が形式を指定してくることがあります。まずは自社の開発で出しやすい方から始め、求められた形式に変換できるようにしておくと安全です。
ライセンスと脆弱性は「同じ棚卸し」から
SBOMが整うと、同じデータから2つの管理が回り始めます。
- ライセンス管理:各OSSの義務(表示義務・コピーレフトの伝搬など)を確認し、配布可否を判断する
- 脆弱性管理:各OSSの版に既知のCVEが無いかを継続的にチェックする
CRAはこの両方を求めます。つまりSBOM=OSS棚卸しが、ライセンスと脆弱性の両対応の土台になります。
中小がまず着手する手順
- 対象を1製品に絞る
- 依存マニフェスト/ロックファイル(package.json・requirements.txt・go.mod 等)を集める
- そこからSBOM(SPDX/CycloneDX)を生成する
- 含まれるOSSのライセンスと既知脆弱性を点検する
- 取引先要求に**即応できる形(誰が・どう出すか)**にしておく
完璧でなくて構いません。まず「1製品の棚卸し」を1枚作ることが、CRA対応のもっとも確実な第一歩です。
→ 適用スケジュールは EU CRA はいつから?やることカレンダー を、全体像は EU CRA対応ページ をご覧ください。自社製品でのSBOM棚卸しの入口は、無料サンプルでお見せできます。