OSSRAレポートでは、脆弱性だけでなく、OSSにおけるライセンスとメンテナンスのリスクについても報告している。
ライセンスでは、ライセンス競合が見つかったコードベースの割合が53%、ライセンスがないまたはカスタムライセンスを使用したOSSを含むコードベースの割合は31%となった。高リスク脆弱性を含むコードベースの割合を除く脆弱性と同様に、2021年から大きな変化はない状況だ。前回のOSSRAレポートでも注目された、Webサイトなどの著作物の再利用を規定するクリエイティブ・コモンズがライセンス競合原因の上位を占める状況に変わりはない。これは、米国を中心に英語圏で広く利用されている開発者向けのQ&Aサイトである「Stack Overflow」に基づくコードが、クリエイティブ・コモンズの一つであるCreative Commons Attribution ShareAlike(CCAS)が適用されるためだ。
ライセンスに関する新たな課題として挙げたのが、米国などで集団訴訟が提起されているAI(人工知能)生成コードへの対応だ。現時点では、今後の訴訟の経過次第といったところだが「基本的にはOSSを利用する際に確認するのと同じフローで対応できるだろう」(吉井氏)という。
メンテナンスでは、過去2年間に開発活動実績がなかったコンポーネントを含むコードベースの割合が49%、最新バージョンより10バージョン古いコンポーネントを含むコードベースの割合が91%となった。課題となっているのが、デプロイ済みアプリケーションへのパッチ適用の難しさだ。報告される脆弱性のうち半分以上が公開後1週間以内に悪用されていることが知られているが、シノプシスの別調査(世界のDevSecOpsの現状)によれば重大な脆弱性に対するパッチ適用まで2週間以上かかっている事例が全体の約3分の2を占めたという。
吉井氏は、今回のOSSRAレポートを通した提言として「OSSについても内製コンポーネントと同様のポリシーとプロセスを適用する」「脆弱性が特定された場合、そのコンポーネントが使用されているかを特定する」「コンポーネントのメンテナンスがなされているかを監視する」「利用しているOSSを正確に特定する」「SBOMによるソフトウェアサプライチェーンの管理」を挙げた。
また、OSSやカスタムコンポーネント、商用コンポーネントといったソフトウェアコンポーネント間での依存関係が強くなっていることが、自社で開発しているソフトウェアの現状把握をよりいっそう難しくしている。「PythonやJavaScriptとそれらのパッケージマネジャーとの関係のようにOSSがOSSに依存するようになっており、このようなソフトウェアサプライチェーンの複雑さが今回のレポートで高リスク脆弱性を含むコードベースの割合が大幅に増加した要因の一つになっている可能性がある」(吉井氏)。
そこで、シノプシスがOSSにとどまらないソフトウェアサプライチェーン全体の管理に向けて開発したのが、新製品であるBlack Duck Supply Chain Editionだ。これまで、同社のソフトウェアコンポジション解析ツールである「Black Duck Professional Edition」は、基本的にはOSSを対象に依存関係分析やコードプリント解析、スニペットマッチング、バイナリ解析を行う機能を提供してきた。SBOMについてもOSSのみを対象としており、各企業が独自に利用するカスタムコンポーネントや商用コンポーネントを含んだSBOMを生成することはできなかった。
今回のBlack Duck Supply Chain Editionでは、ユーザーやサードパーティーベンダーから提供されたカスタムコンポーネントや商用コンポーネントのSBOMをインポートした上でカタログ化し、最終的な成果物となるコードベースのSBOMをSPDXやCycloneDXなどの業界標準の形式で出力できる。また、ReversingLabsとのパートナーシップにより、パッケージに含まれるマルウェアを検出する機能も利用できる。吉井氏は「ISV(独立系ソフトウェアベンダー)に加えて、ソフトウェアサプライチェーンが広くて深い、自動車、医療機器、組み込みなどの業界での導入を想定している」と述べている。
Copyright © ITmedia, Inc. All Rights Reserved.