成功するOSSスニペット検出の鍵は柔軟な構成と自動化

この生成AI時代において、ソフトウェアリスク管理に対する企業のアプローチには目覚ましい転換が見られます。ソフトウェアエンジニアリングチームはAIコーディングアシスタントの導入を急速に進めています。その一方で、法務およびリスク管理チームは自社開発コードにオープンソースライブラリの断片が埋め込まれるのを懸念しています。企業はどのように法的コンプライアンスとデベロッパーエクスペリエンス(開発者体験:DevEX)のバランスを取ることができるでしょうか?

オープンソースソフトウェア(OSS)のスニペット検出機能を備えたソフトウェア構成解析ソリューションがその答えとなります。しかし、検出方法やワークフローはソリューションによって大きく異なり、最適なソリューションを探し出して選択するのを困難にしています。

はじめに

前回の記事では、デベロッパーエクスペリエンス(開発者体験:DevEX)を妨げることなくオープンソーススニペット検出を開発ワークフローに組み込む方法について説明しました。また、誰の作業もスローダウンさせることなくコンプライアンスをシフトレフトするためにFossIDがどのように役立つかも説明しました。続きとなる今回の記事では、大きなスケールでのコンプライアンスとスニペット検出を成功させる次の2つの要因についてより深く掘り下げます。
1) 柔軟な構成
2) 自動化
あなたが開発チームを管理する立場なら、複数のサービスまたはプラットフォームを担当しているなら、そしてオープンソースソフトウェアの利用が伸びているなら、この記事は必見です。

「ワンサイズですべてに合う」は不可能

現実を直視しましょう。他とまったく同じというCI/CD構成はありません。FossIDは多数の企業と協力していますが、あらゆる構成を見尽くしたと思っても、また新しい構成に出会います。密接に関連するランナーおよびカスタム承認ステージを持つGitLabを中心にしたチームがあります。また、GitHub ActionsまたはJenkinsでコンテナーとクラウドネイティブパイプラインの両方を利用しているチームもあります。あらゆるものを自動化している場合もあれば、依然として特定のコンプライアンス手順を手動で実施している場合もあります。これが現実であり、チームがツールに合わせるのではなく、チームやチームのツール構成、ニーズに合わせられるのがデプロイする価値のあるSCAツールです。柔軟性が鍵であり、譲れない要件であるべきです。

FossIDならこれを実現できます。

FossIDは、オープンソースセキュリティおよびライセンスコンプライアンスのスキャンおよびスニペット検出は何もないところで運用されるのではなく、より大きなDevOpsカルチャーの一部であることを認識したうえで設計されています。つまり、パイプラインのどこにどのようにスキャンを組み込むか、特定の結果でビルドをブロックするか、単に通知を発行するか、レビュー用のレポートを生成するかどうかをカスタマイズできます。

自信をもってコンプライアンスをスケールする

スニペット検出を含むオープンソースコンプライアンスを大規模なコードベースやグローバルに分散されたチームを対象としてスケール化できるかどうかでツールの採用が決まることも多くあります。プロジェクトの規模が大きくなるにつれて大幅に遅くなるツールや、速度を維持するために検出精度が犠牲になるツール、CI/CDパイプラインに組み込むとパイプラインの稼働時間に影響を及ぼすツールもあります。これは、法的義務やコンプライアンス上の義務がかかっている場合は特に危険なトレードオフです。

FossIDは精度とパフォーマンスを保ちながら大規模なリポジトリや複雑なマルチリポジトリ環境を処理できるよう設計されています。モノリシックなC/C++システムをスキャンする場合も、Androidスタック、あるいは複数の言語にわたって広がるマイクロサービスをスキャンする場合も、FossIDはスピードと粒度のバランスを保つことを可能にします。

条件に合わせた精度の設定

すべての組織のリスク観が同じとはかぎりません。徹底的なレビューを好むコンプライアンスチームもあれば、リスクに対してより寛容なスタンスを取るチームもあります。FossIDでは、ユーザーが主導権を握ります。管理をサポートする3つの重要な製品機能について、もう少し詳しく説明します。

スニペット検出精度におけるしきい値の設定

6行という小さなスニペットも検出したいとお考えでしょうか? 大丈夫です。FossIDでは、法務またはコンプライアンスチームが定義した基準に合わせて検出しきい値を設定できます。意味のある結果とみなす基準を定義したら、後はFossIDにまかせてください。

自動識別のオン/オフ

FossIDの自動識別は、検出されたスニペットを既知のオープンソースコンポーネントに自動で割り当てることができ、大幅な時間の節約になります。しかし、すべての結果を目視で検証することを選ぶチームもあります。FossIDでは、どのレベルで監視するかに応じて、自動識別のオン/オフを切り替えることができます。このオプションによって、「ゼロトラスト」から「信頼するが検証もする」まで、何が適切と考えられるかに応じて、スムーズに移行できます。

よりスマートなレビューを可能にするID Assist

ID Assistには特にFossIDの知見が活かされています。ID Assistは結果に優先順位を付け、ノイズを減らし、開発チームまたは監査チームによる目視での調査の負担を軽減します。ID Assistのスコアリングを有効にすると、関連性とリスクに基づいてマッチに順位を付けたり、フィルタリングによって汎用的なビルドスクリプトやテストに見られるスニペットなどのライセンス義務を発生させる可能性が少ないノイズを非表示にしたりできます…

AI生成コードシリーズ Tips集のご案内

続きは こちらから 資料のダウンロードをお願いします。
このシリーズ記事では、AI生成コードの活用とその課題からトピックスを読み解いて、開発チームの邪魔をすることなく法務およびコンプライアンスチームを満足させるソリューションを選択するためのガイドを提供します。