Dependency Scanning compared to Container Scanning

GitLab offers both Dependency Scanning and Container Scanning to ensure coverage for all of these dependency types. To cover as much of your risk area as possible, we encourage you to use all of our security scanning tools:

  • Dependency Scanning analyzes your project and tells you which software dependencies, including upstream dependencies, have been included in your project, and what known risks the dependencies contain.
  • Container Scanning analyzes your containers and tells you about known risks in the operating system’s (OS) packages.

The following table summarizes which types of dependencies each scanning tool can detect:

Feature Dependency Scanning Container Scanning
Identify the manifest, lock file, or static file that introduced the dependency {{< icon name=”check-circle” >}} {{< icon name=”dotted-circle” >}}
Development dependencies {{< icon name=”check-circle” >}} {{< icon name=”dotted-circle” >}}
Dependencies in a lock file committed to your repository {{< icon name=”check-circle” >}} {{< icon name=”check-circle” >}} 1
Binaries built by Go {{< icon name=”dotted-circle” >}} {{< icon name=”check-circle” >}} 2
Dynamically-linked language-specific dependencies installed by the Operating System {{< icon name=”dotted-circle” >}} {{< icon name=”check-circle” >}}
Operating system dependencies {{< icon name=”dotted-circle” >}} {{< icon name=”check-circle” >}}
Language-specific dependencies installed on the operating system (not built by your project) {{< icon name=”dotted-circle” >}} {{< icon name=”check-circle” >}}
  1. Lock file must be present in the image to be detected.
  2. Report language-specific findings must be enabled, and binaries must be present in the image to be detected.