2025年2月時点では、以下のSBOM仕様のスキャンをサポートします。
また、2024年12月時点では以下のツールから生成されたSBOMのスキャンをサポートします。
他ツールから出力されたSBOMの対応の依頼はお問い合わせください。
SBOMに含まれる各ソフトウェア情報は PURL (PackageURL) を含めてください。
PURLは、ソフトウェアの名前、バージョン、種類、およびその他の情報を一意に識別するための標準的な方法の一つです。PURLはFutureVulsが脆弱性を検知するためのキーとして使用されるため、PURLが含まれていないソフトウェア情報は、FutureVulsにインポートできません。
サーバSBOMの場合、OS情報が含まれているとFutureVulsにインポートできます。
(例:amazon linux 2, ubuntu 20.04, centos 7 など)
サーバSBOMの場合、OSパッケージ情報が含まれているとFutureVulsにインポートできます。 (例:RPMパッケージ、debパッケージ、apkパッケージなど)
ソフトウェア種別:pkg
として一覧表示されます。Java、Python、Node.js、Goなどの依存ライブラリ情報が含まれている場合、FutureVulsにインポートされます。
ソフトウェア種別:library
として一覧表示されます。type
は purl-spec に準拠していることが推奨されます。location
に表示されます。SBOMの中に、複数の依存ライブラリをまとめた(依存する)アプリケーション(もしくはpom.xmlなどマニフェストファイルやLockfile)が明示的に存在している場合、FutureVulsにインポートできます。
しかし、多くのSBOMは依存ライブラリのみで構成されることが多いため、アプリケーション情報が含まれていない場合は、(pip・npmなどのエコシステム)に応じてFutureVulsで任意のアプリケーションとしてまとめられます。
opt/vuls-saas/vuls | 12345678-1234-1234-1234-123456789012
)SBOMの中にアプリケーション情報が含まれていない場合、FutureVulsでは複数の依存ライブラリを任意のアプリケーションとしてまとめてインポートします。
type
によってエコシステム毎にアプリケーションとしてまとめます。type
が maven
の場合、Java application
としてまとめられる)path/to/composer.lock
が存在する場合、path/to/composer.lock
をアプリケーションとして認識)各フォーマットの詳細な取り込み条件については下記をご参照ください。
インポートされたSBOMファイルと、それにより登録されたソフトウェア、脆弱性✕タスクの関係性については、SBOMとソフトウェアの関連付けをご参照ください。
SBOMファイル内に記載されてある脆弱性情報はFutureVulsに取り込まれず、FutureVulsの脆弱性データベースを用いたスキャンによって改めて脆弱性を検知します。
なぜSBOM内の脆弱性情報を使わないのか
SBOMに記載された脆弱性情報は、SBOMが生成された時点(過去)の情報であり、既に古くなっている可能性があります。一方、FutureVulsの脆弱性データベースは常に最新の情報が反映されるため、SBOMの情報に依存せず独自のスキャンを実行することで、より正確かつ最新の脆弱性を把握できます。
CPE のみが定義されたソフトウェア情報はFutureVulsに取り込まれず、PURL 付きのソフトウェア情報を優先的に取り込む仕組みになっています。
なぜSBOM内のCPEで定義されたソフトウェア情報をインポートしないのか
CPE(Common Platform Enumeration)は脆弱性識別の1つの方法として主にNVDで利用されていますが、「OSパッケージ情報」や「OSS依存ライブラリ」を示すには情報が不足しがちで、誤検知の可能性が高いという課題があります。また、CVE(脆弱性)が発番されていないソフトウェアにはCPEが定義されないことが多く、OSSの大部分をカバーできないケースもあります。
一方、PURL (PackageURL) は言語・パッケージ管理システムとの連携を前提としており、パッケージ名やバージョン、エコシステム情報など具体的なメタデータが含まれるため、OSパッケージやOSS依存ライブラリの脆弱性検知に最適です。FutureVuls ではこの PURL を主要キーとすることで、より正確かつ広範な脆弱性スキャンを実現しています。
そのため、CPE のみが定義されたソフトウェア情報はインポートせず、PURL 付きのソフトウェア情報を優先的にインポートする仕組みになっています。
SBOMファイルのスキャンがうまく行かない場合は、以下の点を参考にしてください。
FutureVuls では正確な脆弱性検知のため、SBOM 生成ツール特有の仕様に個別対応しています。
登録しようとした SBOM ファイルが現時点でサポート対象であるかをご確認ください。
SBOM ファイルを サーバ SBOM として登録する場合、SBOM ファイル内に OS 情報が含まれていないと登録に失敗する場合があります。
登録に失敗するのは「SBOM ファイル内に OS パッケージ情報がある」一方で「SBOM ファイル内に OS 情報が存在しない」ケースです。
OS情報なし | OS情報あり | |
---|---|---|
OSパッケージ情報なし | Pseudo OSとしてインポート可 | インポート可 |
OSパッケージ情報あり | インポートエラー | インポート可 |
また、以下のようなケースもファイル登録時にエラーが発生します。