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つの管理が回り始めます。

  1. ライセンス管理:各OSSの義務(表示義務・コピーレフトの伝搬など)を確認し、配布可否を判断する
  2. 脆弱性管理:各OSSの版に既知のCVEが無いかを継続的にチェックする

CRAはこの両方を求めます。つまりSBOM=OSS棚卸しが、ライセンスと脆弱性の両対応の土台になります。

中小がまず着手する手順

  1. 対象を1製品に絞る
  2. 依存マニフェスト/ロックファイル(package.json・requirements.txt・go.mod 等)を集める
  3. そこからSBOM(SPDX/CycloneDX)を生成する
  4. 含まれるOSSのライセンスと既知脆弱性を点検する
  5. 取引先要求に**即応できる形(誰が・どう出すか)**にしておく

完璧でなくて構いません。まず「1製品の棚卸し」を1枚作ることが、CRA対応のもっとも確実な第一歩です。

→ 適用スケジュールは EU CRA はいつから?やることカレンダー を、全体像は EU CRA対応ページ をご覧ください。自社製品でのSBOM棚卸しの入口は、無料サンプルでお見せできます。