GitHub Adds SBOM Export to Make it Easier to Comply with Security Requirements
2023/04/06 InfoQ — GitHub が発表した SBOM エクスポートは、セキュリティ・コンプライアンスのワークフローやツールの一部として、使用されることを意図したものである。この新機能により、NTIA に準拠した SBOM を、容易にエクスポートできるようになったと GitHub は述べている。手動または自動化されたプロセスなどの各種の方法により、ユーザーは SBOM をエクスポートできる。手動で SBOM を生成するには、リポジトリ内の依存関係グラフにアクセスし、新たに提供された Export SBOM ボタンをクリックする。それにより、SPDX 形式の、マシン・リーダブルの SBOM が作成される。

SPDX は Software Package Data Exchange の略であり、ソフトウェアの部品表 (依存関係/ライセンス/著作権/セキュリティ参照など) を記述するために、特別に定義されたオープン・フォーマットである。SPDX ファイルを検証/分析し、他のフォーマットへ変換するために使用するツールとしては、数多くのプロプライエタリ/オープンソース製品が存在する。
GitHub Web UI を使用する以外に、GitHub CLI のエクステンション、または、GitHub Action を使用して、SBOM をエクスポートできる。
GitHub CLI のエクステンションは、”gh ext install advanced-security/gh-sbom” を実行することでインストールされるす。その後に、”gh sbom -l” を実行すると SBOM が SPDX 形式で出力され、”gh sbom -l -c” を実行すると CycloneDX 形式で出力される。
GitHub CLI の代わりに、GitHub Action を用いても、ビルド時に SBOM をエクスポートできる。GitHubは、依存関係グラフから SBOM をエクスポートするための、独自のGitHub Action を提供している。それを選択する際には、Microsoft の sbom-tool や、Syft ベースの Anchore SBOM Action を使用できる。
将来的には、特定の REST API を通じて、SBOM をエクスポートすることも可能になるという。
GitHub が追加する可能性があるのは、既存の SBOM をリポジトリにアップロードして、依存性グラフを生成することだ。それは、ソフトウェアで使用している、すべての依存関係を公開したくないという組織にとって、便利なものとなる。依存関係グラフが生成されると、リポジトリや依存関係で発見された脆弱性に対して、Dependabot のアラートを受け取ることができるようになる。
SBOM は、数多くの業界や米国政府などで要求されているが、ソフトウェアのサプライチェーンを保護するために使用できる、数多くのツールの1つに過ぎないことを理解することが重要となる。SBOM 自体では、潜在的に危険な依存関係の問題を解決できないが、実装時の選択により関連するセキュリティ・リスクを適切に測定できるようになる。対象となるシステムに、特定の依存関係を取り込むことで、誰を信頼しているのかを理解できるようになる。
このところ、あまり元気が感じられなかった SBOM 界隈ですが、2023/04/04 の「Docker の BuildKit で SBOM をサポート:どのように機能するのか?どんな制限があるのか?」に続いて、GitHub が SBOM エクスポートを発表したようです。よろしければ、以下の関連記事も、ご参照ください。
2023/01/19:SBOM の品質:政府基準満たすものは1%に過ぎない
2022/12/02:SBOM 要件の延期を米議会に提出
2022/11/30:米国の国防産業:87% がセキュリティ要件に不適合

You must be logged in to post a comment.