SBOMを拡充するツール「parlay」のご紹介
2023年6月7日
0 分で読めますより充実したSBOMが必要
ソフトウェア部品表(SBOM)標準の採用が広がり、セキュリティツール間の相互運用性が向上し始めています。NTIAによるSBOMの最低限の要素セットの定義は、その大きな要因の一つでした。特に、CycloneDXやSPDXなど複数のフォーマットが広く使われる中で重要な取り組みです。しかし、SPDX 3.0やCycloneDX 1.5の開発が進むにつれ、最低限の要素にとどまらず、SBOMフォーマットを活用できることが増えています。
パッケージのライセンス情報に基づいてポリシーを適用したい場合もあるでしょう。利用しているパッケージのウェブサイトへのリンクをすぐに確認したい、あるいは作成者を知りたい場合もあるでしょう。また、こうした情報とあわせて、パッケージに含まれる脆弱性を把握したいこともあるでしょう。
Parlayのご紹介
parlayは、Snykが提供する新しいオープンソースツールで、SBOMを拡充します。例を使って説明するのが最も分かりやすいため、シンプルなJavaScriptアプリケーションのSBOMを見てみましょう。
parlayを使って、ecosyste.msのデータで情報を拡充します。
各パッケージのライセンス情報、外部リンク、メンテナー情報などが追加されます。
parlayは、Snykのお客様向けにSnykの脆弱性データを使った拡充にも対応しています。
これにより、たとえばSBOMに新しいvulnerabilities属性が追加されます。
parlayはstdinとstdoutを活用します。他のツールからSBOMをparlayにパイプで渡したり、個別のenrichコマンド間でパイプをつないだりできます。
ecosyste.msとSnyk、両方のデータでSBOMを拡充することもできます。
Syftの出力を使って、脆弱性データを追加することもできます。
SnykでSBOMを生成し、追加情報で拡充してから、bomberでテストすることもできます。
ecosyste.msによる拡充でライセンス情報が追加されます。BomberでSBOMの脆弱性をスキャンすると、その情報を確認できます。
今後の展開
SBOMを拡充するという考え方について、皆さんのご意見をぜひお聞かせください。CycloneDXとSPDXの両方でSBOMを生成する既存ツールや新しいツールは数多くありますが、そのSBOMはかなり最小限の内容にとどまっていることが少なくありません。より充実したSBOMがあれば、その上にさらに便利なツールを構築できます。また、SBOM生成への投資を活かすには、SBOMを利用してユーザーの課題を解決するツールがもっと必要です。
GitHubリポジトリのリリースセクションからparlayをダウンロードできます。パイプライン処理やポリシーチェックなどの高度なシナリオを学び、サンプルプロジェクトを使って試すには、parlayと、拡充したSBOMでできることを解説したガイドをご覧ください。
現在、Ecosyste.ms、Snykによる情報拡充、CycloneDXに対応しています。他のデータソースについてアイデアがある方や、SPDXのサポートに協力したい方は、公式GitHubリポジトリでissueを作成してください。
