コンピューターセキュリティの問題など別世界の出来事で、日々の生活とは無縁のものだと考えていた人は、Colonial Pipelineに対する最近のランサムウェア攻撃によって米国南東部におけるガスや石油の流通が停止したという事件で目を覚まさせられたはずだ。サイバー攻撃に対する備えの不備は、SolarWindsソフトウェアのサプライチェーンに対する攻撃で既に大きな問題になっていたこともあり、米連邦捜査局(FBI)は脆弱性を抱えた「Microsoft Exchange」サーバーの修正に介入しなければならなくなった。そして米国時間5月12日、Joe Biden米大統領は連邦政府のサイバー防御能力をさらに強化するとともに、テクノロジーのセキュリティが今や第1級優先順位にあることを全米に警告するための大統領令に署名した。これを受け、The Linux Foundationと関連組織は、Linuxとオープンソースのより優れたセキュリティに向けた活動を増大させている。
この大統領令はオープンソースソフトウェアの極めて高い重要性を認識している。その中には「予備的指針の発行後90日以内に(中略)ソフトウェアのサプライチェーンにおけるセキュリティを強化するプラクティスを洗い出すためのガイダンスを発行する」と記されている。
政府は「製品内のあらゆる部分で使用されているオープンソースソフトウェアの完全性と来歴が実用的な範囲」で保証されるよう確実にする必要がある。このため具体的には、ソフトウェア部品表(SBOM)を提供するよう求める必要がある。「これは、ソフトウェアの構築に用いられたさまざまなコンポーネントの詳細とサプライチェーンとの関係を保持した公式の記録」だ。そしてそれは以下に記す理由で、オープンソースソフトウェアにとって特に重要な懸案事項となっている。
ソフトウェアの開発者やベンダーはしばしば既存のオープンソースコンポーネントや商用コンポーネントを組み合わせて製品を製造する。SBOMは製品中のこれらコンポーネントを列挙したものだ。これは食品包装に記されている原材料表のようなものであり、ソフトウェアを開発したり製造する人たちにとって、そしてソフトウェアを選択したり購入する人たちにとって、さらにはソフトウェアを運用する人たちにとって有用なものだ。開発者らは製品を開発するためにしばしば、利用可能なオープンソースやサードパーティーのソフトウェアコンポーネントを使用する。SBOMによって開発者はこれらコンポーネントが最新であることを確認できるとともに、新たに発見された脆弱性に迅速に対処できるようになる。購入者はSBOMを使って脆弱性分析やライセンス分析を実行することで、製品のリスクを評価できるようになる。ソフトウェアの運用担当者はSBOMを用いることで、新たに発見された脆弱性によって潜在的なリスクがもたらされるかどうかを迅速かつ容易に判断できるようになる。広く用いられている機械判読可能なSBOMフォーマットによって、自動化やツールの統合で大きなメリットがもたらされる。また、SBOMが他のアプリケーションやシステムから容易に照会できるようなリポジトリー内に集約されている場合、より大きな価値がもたらされる。
では、このようなコードはどのくらいあるのだろうか。マネージドオープンソースを手がけるTideliftによると、アプリケーションのうち92%はオープンソースコンポーネントを含んでいるという。実際のところ、一般的なモダンソフトウェアアプリケーションでは、オープンソースソフトウェアの割合が70%に及んでいる場合もある。なお、TideliftはオープンソースのSBOMを提供するサービスも手がけている。