CycloneDX / SPDX SBOM ビューアー

CycloneDX または SPDX の JSON を調べて、コンポーネント名、バージョン、タイプ、ライセンスを一覧表示します。ライセンスの概要とライセンス情報がないエントリを確認します。

ブラウザ内でローカルに実行
このツールの処理はすべてブラウザ内で行われます。KivTools が入力内容をアップロード・保存したり、外部 API に送信したりすることはありません。
CycloneDX または SPDX JSONPaste an SBOM document.
コンポーネント

CycloneDX / SPDX の SBOM をこのビューアーで確認する手順

ビューアーは CycloneDX または SPDX の JSON ドキュメントを読み、宣言されているコンポーネント(名前・バージョン・タイプ・ライセンス)を一覧表示します。レポートには、検出したライセンス値とライセンスが無いコンポーネントの件数が入ります。

処理はすべてページ内で完結します。ドキュメントは送信されず、ネットワークを切っても動作するため、外部に出せない SBOM でもそのまま確認できます。

  1. CycloneDX または SPDX の JSON を入力欄に貼り付けます。2 コンポーネントの CycloneDX 例を見るには「サンプルを読み込む」を押します。
  2. 「ローカルで解析」を押すと、検出した形式・コンポーネント数・ライセンスの集計・ライセンスが無い件数がレポートに表示されます。
  3. コンポーネント表(名前・バージョン・ライセンス・タイプ)を確認します。components または packages の 1 件につき 1 行です。
  4. レポートをチケットやレビューに添付するときは「コピー」、入力と結果を空にするときは「クリア」を使います。
  5. 公開する内容は必ず元のドキュメントと照合してください。ビューアーはファイルに宣言された内容だけを表示します。

レポートに載る内容と、確認しない内容

CycloneDX ドキュメントから読み取る内容

CycloneDX のコンポーネントは components 配列から読み取ります。各要素の名前・バージョン・タイプ・宣言されたライセンスを取り出し、ライセンスは SPDX ID(MIT)、名称(Custom License)、または式(MIT OR Apache-2.0)のまま表示します。specVersion はレポートの見出しに使われ、CycloneDX 1.6 のファイルは CycloneDX 1.6 と表示されます。

バージョンが無いコンポーネントはダッシュ、名前が無いコンポーネントは(名称なし)と表示されます。どちらも解析は止まりませんが、SBOM を公開する前にドキュメント側で修正しておくほうが安全です。

SPDX ドキュメントから読み取る内容

SPDX のパッケージは packages 配列から読み取ります。ライセンス列は licenseConcluded を優先し、結論が記録されていなければ licenseDeclared を使います。ライセンスが未確定の場合に SPDX が書き込む NOASSERTION と NONE は「ライセンスが無い」として数え、NOASSERTION という名前のライセンスとしては扱いません。

versionInfo がバージョン列、primaryPackagePurpose(APPLICATION、LIBRARY など)がタイプ列になり、spdxVersion がレポートの見出しになります。宣言された値をそのまま表示し、ライセンス式を義務の内容に展開することはありません。

表の件数とレポートの限界

表に表示するのは先頭 500 行までです。集計・ライセンスの概要・レポート JSON は常にドキュメント全体を対象とし、表示が打ち切られたときは所見欄にその旨が出ます。巨大なドキュメントはアップロードの上限ではなく、ブラウザータブのメモリの制約を受けます。

これは閲覧用であり、監査用ではありません。dependencies 配列の表示、ハッシュや署名の検証、CycloneDX / SPDX スキーマに対する検証、ライセンス義務の解決、脆弱性データベースとの照合は行いません。

最近使ったツール: