コンテンツにスキップ

SBOMのエクスポート#

サーバの構成と脆弱性情報を含む SBOM ファイルをエクスポートできます。

SBOM ファイルは、CycloneDX v1.6 形式でエクスポートされます。

含まれる情報は以下の通りです。

  • OS、および OS パッケージ情報
  • アプリケーション、および言語ライブラリ情報
  • 脆弱性情報

複数 SBOM がインポートされたサーバでも、一枚の SBOM ファイルとしてエクスポートされます。 SBOM サーバだけではなく、スキャナ・疑似サーバ・Paste サーバ・インスタンスもエクスポート可能です。

sbom_export

複数のサーバを選択してSBOMエクスポート#

サーバ一覧のチェックリストから複数のサーバを選択して SBOM をエクスポートできます。 これにより、各サーバの SBOM がマージされた1つの SBOM ファイルとしてエクスポートできます。

multi_server_sbom

SBOMマージの仕様#

各サーバの SBOM は、以下のような構造に並列の依存関係としてマージされます。

sbom_merge

以下、各項目の詳しい仕様については、CycloneDX v1.6 もご参照ください。

metadata.component#

マージされた SBOM の metadata.component には、下記のような component が新しく作成されます。

{
  "bom-ref": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "application",
  "name": "Merged-SBOM",
  "version": "YYYY-mm-dd"
}

components#

各サーバの components 配列は、それぞれの bom-ref をキーとして重複が排除された上で統合されます。

bom-ref の重複が発生するケース

FutureVuls で登録されたソフトウェアは、 PackageURL を bom-ref として使用しています。 そのため、同じソフトウェアが異なるサーバにインストールされている場合、bom-ref が重複することがあります。 この場合、統合後の components 配列では bom-ref の重複は排除されますが、dependencies 配列内に含まれる各依存関係エントリの dependsOn 配列には、重複している各 bom-ref がそのまま追加されます。

各サーバにおける OS 情報(単一サーバとして SBOM 出力する際は metadata.component に記載される情報)は、マージされた SBOM の components 配列に追加されます。

dependencies#

各サーバの dependencies 配列は、内部の ref をキーとして統合されます。

各サーバにおける OS 情報は、上記新しく作成される metadata.component の依存関係として、マージされた SBOM の dependencies 配列に追加されます。

{
  "ref": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // Merged-SBOM
  "dependsOn": [
    "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", // OS component for server A
    "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", // OS component for server B
    ...
  ]
}

compositions#

各サーバの OS 情報を持つ component の bom-ref が、下記のような composition の assemblies 配列に追加されます。

{
  "aggregate": "complete",
  "assemblies": [
    "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", // OS component for server A
    "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", // OS component for server B
    ...
  ]
}

vulnerabilities#

脆弱性情報は id をキーとして統合されます。 ratings, advisories, affects の各フィールドはそれぞれ以下をキーとして統合されます。

  • ratingssource.name
  • advisoriesurl
  • affectsref

cwes の配列は、重複が排除された上でそのまま統合されます。

description は、ベースとなるサーバでの情報が優先されます。