Software Composition Analysis (SCA)

プレビューに参加してください!

Software Composition Analysis はプレビュー版です。

Code Analysis は、 サイトでは利用できません。

概要

Software Composition Analysis (SCA) は、npm などのパッケージマネージャーを通じてリポジトリにインポートされたオープンソースライブラリをスキャンし、既知の脆弱性を検出します。また、リポジトリ全体で使用されているライブラリのカタログを作成し、リスクのあるライセンスやサポート終了のライブラリ、脆弱性を特定することで、高品質で安全なコードベースを確保します。

SCA スキャンは、Datadog から直接実行するか、Code Analysis を使用して CI パイプラインで実行でき、本番環境に到達する前にライブラリの脆弱性を検出します。Datadog はまた、Datadog Application Security を介してランタイムでの検出も提供しています。

Software Composition Analysis のセットアップ

SCA は、以下の言語および技術におけるライブラリのスキャンをサポートしています。

Python
JavaScript
Java

CSharp
Go
Rust

Ruby
PHP
Other

まず、Code Analysis ページで Software Composition Analysis をセットアップするか、セットアップドキュメントをご覧ください。

ロックファイル

SCA はロックファイルに含まれるライブラリをスキャンします。以下のロックファイルがサポートされています。

パッケージマネージャーロックファイル
C# (.NET)packages.lock.json
Go (mod)go.mod
JVM (Gradle)gradle.lockfile
JVM (Maven)pom.xml
Node.js (npm)package-lock.json
Node.js (pnpm)pnpm-lock.yaml
Node.js (yarn)yarn.lock
PHP (composer)composer.lock
Python (pip)requirements.txt, Pipfile.lock
Python (poetry)poetry.lock
Ruby (bundler)Gemfile.lock

Software Composition Analysis をソフトウェア開発ライフサイクルに統合

CI プロバイダー

SCAは、お好みのどのCIプラットフォームプロバイダー上でも実行できます。CIパイプラインでSCAをセットアップする方法については、プロバイダー固有のドキュメントを参照してください。


検索結果のフィルタリング

Datadog Software Composition Analysis は、ソフトウェア開発ライフサイクル (SDLC) 全体にわたり、脆弱なライブラリを検出できます。Code Analysis は、リポジトリを直接スキャンして検出された結果を要約します。リポジトリおよびランタイムで検出されたすべての脆弱性を統合して表示するには、詳細について Application Security をご覧ください。

Datadog SCA を実行するように CI パイプラインを構成すると、Code Analysis Repositories ページでリポジトリごとに違反内容が要約されます。リポジトリをクリックすると、Software Composition Analysis による Library VulnerabilitiesLibrary Catalog の結果を分析できます。

  • Library Vulnerabilities タブには、Datadog SCA によって検出された脆弱なライブラリのバージョンが表示されます。
  • Library Catalog タブには、Datadog SCA によって検出されたすべてのライブラリ (脆弱性の有無に関わらず) が表示されます。

結果を絞り込むには、リストの左側にあるファセットまたは上部の検索バーを使用します。結果はサービスやチームのファセットでフィルタリングできます。結果が Datadog のサービスやチームにどのように関連付けられるかの詳細は、Code Analysis の概要を参照してください。

各行は、一意のライブラリとバージョンの組み合わせを表します。各組み合わせは、ページ上部のフィルターで選択された特定のコミットとブランチに関連付けられています (デフォルトでは、選択したリポジトリのデフォルトブランチの最新コミットが表示されます)。

脆弱性があるライブラリをクリックすると、違反の範囲と発生場所に関する情報を含むサイドパネルが開きます。

SCA 違反のサイドパネル

違反の内容は以下のタブで表示されます。

  • Full Description: この特定のライブラリバージョンに含まれる脆弱性の説明。
  • Event: SCA 違反イベントに関する JSON メタデータ。

その他の参考資料