Dependency list

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
History

Use the dependency list to review your project or group’s dependencies and key details about those dependencies, including their known vulnerabilities. This list is a collection of dependencies in your project, including existing and new findings. This information is sometimes referred to as a Software Bill of Materials, SBOM, or BOM.

For an overview, see Project Dependency.

Prerequisites

To list your project’s dependencies the SBOM document must:

note
Although this is not mandatory for populating the dependency list, the SBOM document must include and comply with the GitLab CycloneDX property taxonomy to provide some properties and to enable some security features.

GitLab already generates this document when the following requirements are met:

View project dependencies

History
  • In GitLab 17.2, the location field no longer links to the commit where the dependency was last detected when the feature flag skip_sbom_occurrences_update_on_pipeline_id_change is enabled. The flag is disabled by default.
  • In GitLab 17.3 the location field always links to the commit where the dependency was first detected. Feature flag skip_sbom_occurrences_update_on_pipeline_id_change removed.

To view the dependencies of a project or all projects in a group:

  1. On the left sidebar, select Search or go to and find your project or group.
  2. Select Secure > Dependency list.

Details of each dependency are listed, sorted by decreasing severity of vulnerabilities (if any). You can sort the list instead by component name, packager, or license.

Field Description
Component The dependency’s name and version.
Packager The packager used to install the dependency.
Location For system dependencies, this lists the image that was scanned. For application dependencies, this shows a link to the packager-specific lock file in your project that declared the dependency. It also shows the dependency path to a top-level dependency, if any, and if supported.
License (for projects only) Links to dependency’s software licenses. A warning badge that includes the number of vulnerabilities detected in the dependency.
Projects (for groups only) Links to the project with the dependency. If multiple projects have the same dependency, the total number of these projects is shown. To go to a project with this dependency, select the Projects number, then search for and select its name. The project search feature is supported only on groups that have up to 600 occurrences in their group hierarchy.

Dependency list

Filter dependency list

History

In the group-level dependency list you can filter by:

  • Project
  • License

To filter the dependency list:

  1. On the left sidebar, at the top, select Search GitLab () to find your project or group.
  2. Select Secure > Dependency list.
  3. Select the filter bar.
  4. Select a filter, then from the dropdown list select one or more criteria. To close the dropdown list, select outside of it. To add more filters, repeat this step.
  5. To apply the selected filters, press Enter.

The dependency list shows only dependencies that match your filters.

Vulnerabilities

If a dependency has known vulnerabilities, view them by selecting the arrow next to the dependency’s name or the badge that indicates how many known vulnerabilities exist. For each vulnerability, its severity and description appears below it. To view more details of a vulnerability, select the vulnerability’s description. The vulnerability’s details page is opened.

Dependency paths

History

The dependency list shows the path between a dependency and a top-level dependency it’s connected to, if any. Multiple paths may connect a transient dependency to top-level dependencies, but the user interface shows only one of the shortest paths.

note
The dependency path is only displayed for dependencies that have vulnerabilities.

Dependency path

Dependency paths are supported for the following package managers:

Licenses

If the Dependency Scanning CI job is configured, discovered licenses are displayed on this page.

Download the dependency list

You can download the full list of dependencies and their details in JSON format. The dependency list shows only the results of the last successful pipeline that ran on the default branch.

To download the dependency list:

  1. On the left sidebar, select Search or go to and find your project or group.
  2. Select Secure > Dependency list.
  3. Select Export.

Troubleshooting

License appears as ‘unknown’

The license for a specific dependency might show up as unknown for a few possible reasons. This section describes how to determine whether a specific dependency’s license shows up as unknown for a known reason.

License is ‘unknown’ upstream

Check the license specified for the dependency upstream:

If the license appears as unknown upstream, it is expected that GitLab will show the License for that dependency to be unknown as well.

License includes SPDX license expression

SPDX license expressions are not supported. Dependencies with SPDX license expressions appear with a License that is unknown. An example of an SPDX license expression is (MIT OR CC0-1.0). Read more in issue 336878.

Package version not in Package Metadata DB

The specific version of the dependency package must exist in the Package Metadata Database. If it doesn’t, the License for that dependency appears as unknown. Read more in issue 440218 about Go modules.

Package name contains special characters

If the name of the dependency package contains a hyphen (-) the License may appear as unknown. This can happen when packages are added manually to requirements.txt or when pip-compile is used. This happens because GitLab does not normalize Python package names in accordance with the guidance on normalized names in PEP 503 when ingesting information about dependencies. Read more in issue 440391.