インポートされたSBOMファイルとソフトウェア情報、脆弱性✕タスクの関係性について説明します。
下記の例では、画像のSBOMサーバを例として説明します。
Source: SBOMのアプリケーションの詳細を見ると、SBOMファイルの情報が表示されます。
上のアプリケーションwebapp/ruby/Gemfile.lock
はisucon6
というSBOMファイルから登録されたものとわかります。
アプリケーション名の後ろに追記されたUUIDは、FutureVuls内部でのSBOMファイルを特定するための識別子です。 同じUUIDを持つアプリケーションは同じSBOMファイルから登録されたものです。
上の例の、isucon6
というSBOMファイルから登録されたアプリケーションはすべてc30a4802-5139-703f-79ee-ff24578633d3
というUUIDを持ちます。
サーバ詳細画面に戻りSBOMファイルをダウンロードするとファイル名からUUIDが確認できます。
(例: c30a4802-5139-703f-79ee-ff24578633d3.cyclonedx.json
)
SBOMにより登録されたソフトウェアは以下の方法でSBOMファイルを特定できます。
ソフトウェア種別:pkgはOSパッケージを意味します。OS情報とOSパッケージはサーバSBOMからしか登録されません。 該当サーバがSBOMサーバの場合、OSパッケージはすべてサーバSBOMファイルから登録されたソフトウェアです。
上のOSパッケージ一覧は全てサーバSBOMであるinspector
から登録されたものです。
ソフトウェア種別:libraryは依存ライブラリを意味します。依存ライブラリはそれを含むアプリケーションからSBOMファイルを特定することができます。
上のライブラリorg.apache.tomcat:tomcat-jdbc
は一覧のlocation列にあるJava application | e5dc48cc-09f7-c1df-f7dd-259f39eaa360
というアプリケーションに含まれています。
ソフトウェア一覧のlocation列では、ライブラリを含むアプリケーション・Lockfile・Githubリポジトリ・AWS Lambda関数などの情報を表示しています。
アプリケーションJava application | e5dc48cc-09f7-c1df-f7dd-259f39eaa360
はkeycloak
というSBOMファイルから登録されたものとわかります。
タスク詳細の関連するソフトウェア一覧を見ると、ライブラリの場合location列にアプリケーション情報が表示されます。 関連するソフトウェアにlocationがない場合は、OSパッケージとなり、サーバSBOMファイルから登録されたソフトウェアです。
上のタスクの関連するソフトウェアcryptography
のlocationvol-0c61f6f97b2a2727d:/p1:home/ubuntu/integration/data/lockfile/poetry.lock
をアプリケーションから特定します。
アプリケーションvol-0c61f6f97b2a2727d:/p1:home/ubuntu/integration/data/lockfile/poetry.lock
はinspector
というSBOMファイルから登録されたものとわかります。