Software Composition Analysis

Code Analysis is not available for the site.

Try the Beta!

Code Analysis is in public beta.

Overview

Software Composition Analysis (SCA) scans open source libraries imported into repositories through package managers such as npm for known vulnerabilities. SCA enables engineering teams to identify vulnerable libraries early on in the development life cycle so they can update them to non-vulnerable versions or remove them entirely to ensure their production codebase is secure.

SCA can run in CI pipelines by using Code Analysis and provide runtime monitoring capabilities by using Datadog Application Security.

Languages

SCA currently supports scanning the following languages and technologies for vulnerable libraries:

  • Go
  • Java
  • Node.js
  • Python
  • Ruby

Integrations

CI providers

With Software Composition Analysis, you can identify vulnerable open source libraries that have been imported into your codebase. See the documentation for information about the following integrations:


Search and filter results

After you configure your CI pipelines to run Datadog SCA, violations are summarized per repository on the Code Analysis page. Drill down to a specific repository and observe SCA results divided into Library Vulnerabilities and Library List lenses.

  • The Library Vulnerabilities lens contains the vulnerable library versions found by Datadog SCA.
  • The Library List lens contains all the libraries (vulnerable or not) found by Datadog SCA.

To filter your results, use the facets to the left of the list, or search.

Every row represents a unique library and version combination. Each combination is associated with the specific commit and branch that is selected in the filters at the top of the page (by default the latest commit on the default branch of the repository you are viewing).

Click on a library with a vulnerability to open a side panel that contains information about the scope of the violation and where it originated.

Side panel for a SCA violation

The content of the violation is shown in tabs:

  • Full Description: A description of the vulnerability contained within this specific version of the library.
  • Event: JSON metadata regarding the SCA violation event.

Further Reading