- Project-level Vulnerability Report
- Vulnerability Report actions
- Vulnerability Report filters
- Tool filter
- View details of a vulnerability
- View vulnerable source location
- View issues raised for a vulnerability
- Change status of vulnerabilities
- Export vulnerability details
- Dismiss a vulnerability
- Manually add a vulnerability finding
- Operational vulnerabilities
The Vulnerability Report provides information about vulnerabilities from scans of the default branch. It contains cumulative results of all successful jobs, regardless of whether the pipeline was successful.
The scan results from a pipeline are only ingested after all the jobs in the pipeline complete. Partial results for a pipeline with jobs in progress can be seen in the pipeline security tab.
The report is available for projects, groups, and the Security Center.
At all levels, the Vulnerability Report contains:
- Totals of vulnerabilities per severity level.
- Filters for common vulnerability attributes.
- Details of each vulnerability, presented in tabular layout.
The Activity column contains icons to indicate the activity, if any, taken on the vulnerability in that row:
- Issues : Links to issues created for the vulnerability. For more details, read Create an issue for a vulnerability.
- Wrench : The vulnerability has been remediated.
- False positive : The scanner determined this vulnerability to be a false positive.
Introduced in GitLab 11.1.
The project-level Vulnerability Report also contains:
- A time stamp showing when it was updated, including a link to the latest pipeline.
- The number of failures that occurred in the most recent pipeline. Select the failure notification to view the Failed jobs tab of the pipeline’s page.
To access the report, navigate to Security & Compliance > Vulnerability Report.
From the Vulnerability Report you can:
- Filter the list of vulnerabilities.
- View more details about a vulnerability.
- View vulnerable source location (if available).
- View an issue raised for a vulnerability.
- Change the status of vulnerabilities.
- Export details of vulnerabilities.
- Manually add a vulnerability finding.
You can filter the vulnerabilities table by:
|Status||Detected, Confirmed, Dismissed, Resolved.|
|Severity||Critical, High, Medium, Low, Info, Unknown.|
|Tool||For more details, see Tool filter.|
|Project||For more details, see Project filter.|
|Activity||For more details, see Activity filter.|
To filter the list of vulnerabilities:
- Select a filter.
- Select values from the dropdown.
- Repeat the above steps for each desired filter.
After each filter is selected:
- The list of matching vulnerabilities is updated.
- The vulnerability severity totals are updated.
The filters’ criteria are combined to show only vulnerabilities matching all criteria. An exception to this behavior is the Activity filter. For more details about how it works, see Activity filter.
The tool filter allows you to focus on vulnerabilities detected by selected tools.
When using the tool filter, you can choose:
- All tools (default).
- Individual GitLab-provided tools.
- Any integrated 3rd-party tool. Introduced in GitLab 13.12.
For details of each of the available tools, see Security scanning tools.
The content of the Project filter depends on the current level:
|Level||Content of the Project filter|
|Security Center||Only projects you’ve added to your personal Security Center.|
|Group level||All projects in the group.|
|Project level||Not applicable.|
Introduced in GitLab 13.9
The Activity filter behaves differently from the other filters. The selected values form mutually exclusive sets to allow for precisely locating the desired vulnerability records. Additionally, not all options can be selected in combination.
Selection behavior when using the Activity filter:
|Activity selection||Results displayed|
|All||Vulnerabilities with any Activity status (same as ignoring this filter). Selecting this deselects any other Activity filter options.|
|No activity||Only vulnerabilities without either an associated Issue or that are no longer detected. Selecting this deselects any other Activity filter options.|
|With issues||Only vulnerabilities with one or more associated issues. Does not include vulnerabilities that also are no longer detected.|
|No longer detected||Only vulnerabilities that are no longer detected in the latest pipeline scan of the |
|With issues and No longer detected||Only vulnerabilities that have one or more associated issues and also are no longer detected in the latest pipeline scan of the |
To view more details of a vulnerability, select the vulnerability’s Description. The vulnerability’s details page is opened.
Introduced in GitLab 13.10.
Some security scanners output the filename and line number of a potential vulnerability. When that information is available, the vulnerability’s details include a link to the relevant file, in the default branch.
To view the relevant file, select the filename in the vulnerability’s details.
The Activity column indicates the number of issues that have been created for the vulnerability. Hover over an Activity entry and select a link go to that issue. The status of whether the issue is open or closed also displays in the hover menu.
If Jira issue support is enabled, the issue link found in the Activity entry links out to the issue in Jira. Unlike GitLab issues, the status of whether a Jira issue is Open or Closed does not display in the GitLab UI.
Introduced in GitLab 13.10, all statuses became selectable.
To change the status of vulnerabilities in the table:
- Select the checkbox for each vulnerability you want to update the status of.
- In the dropdown that appears select the desired status, then select Change status.
Introduced in GitLab 12.9.
You can change the status of multiple vulnerabilities at once:
- In the list of vulnerabilities, select the checkbox for each vulnerability you want to update. To select all, select the checkbox in the table header.
- Above the table, select a new status.
- Click Change status to save.
You can export details of the vulnerabilities listed in the Vulnerability Report. The export format is CSV (comma separated values). Note that all vulnerabilities are included because filters don’t apply to the export.
Fields included are:
- Group name
- Project name
- Scanner type
- Scanner name
- Additional information
- CVE (Common Vulnerabilities and Exposures)
- CWE (Common Weakness Enumeration)
- Other identifiers
To export details of all vulnerabilities listed in the Vulnerability Report, select Export.
The details are retrieved from the database, then the CSV file is downloaded to your local computer.
The option of adding a dismissal reason was introduced in GitLab 12.0.
You can dismiss a vulnerability for the entire project:
- Select the vulnerability in the Security Dashboard.
- In the top-right, from the Status selector menu, select Dismissed.
- Optional. Add a reason for the dismissal and select Save comment.
To undo this action, select a different status from the same menu.
To add a new vulnerability finding from your project level Vulnerability Report page:
- On the top bar, select Menu > Projects and find your project.
- On the left sidebar, select Security & Compliance > Vulnerability Report.
- Click on Submit Vulnerability.
- Complete the fields and submit the form.
You will be brought to the newly created vulnerability’s detail page. Manually created records appear in the Group, Project, and Security Center Vulnerability Reports. To filter them, use the Generic Tool filter.
Introduced in GitLab 14.6.
The Operational vulnerabilities tab lists vulnerabilities found by the
This tab appears on the project, group, and Security Center vulnerability reports.