doc/user/application_security/vulnerability_report/_index.md
{{< details >}}
{{< /details >}}
{{< history >}}
vulnerability_report_vr_badge. Disabled by default.vulnerability_report_vr_badge removed.{{< /history >}}
The vulnerability report provides a consolidated view of security vulnerabilities found in your codebase. Sort vulnerabilities by severity, report type, scanner (for projects only), and other attributes to determine which issues need attention first. Track vulnerabilities through their lifecycle with status indicators and activity icons that show remediation progress.
Access detailed information for each vulnerability, including Common Vulnerability Scoring System (CVSS) scores and file locations when available. Filter and group similar vulnerabilities to address them systematically.
For performance reasons, if the total number of vulnerabilities exceeds 1000, the vulnerability report displays the count as 1000+ instead of the exact number. This limitation affects only the counts displayed at the top of the page. You can still find all of the vulnerabilities in the table.
An improvement to show the exact count is proposed in issue 547510. To find the exact count, use one of the workarounds in issue 480378.
[!note] On GitLab.com, vulnerabilities are archived one year after they were last updated.
<i class="fa-youtube-play" aria-hidden="true"></i> For an overview, see Vulnerability Management - Advanced Security Testing.
The report contains data from the default branch, showing cumulative results from all successful security scan jobs. Scan results appear after job completion or when a pipeline is blocked by manual jobs.
For projects and groups, the vulnerability report contains:
For some vulnerabilities, the details include a link to the relevant file and line number in the default branch. For CVE vulnerabilities, you can also view the KEV status, CVSS and EPSS scores, and reachability information in the vulnerability report.
For projects, the vulnerability report also contains:
The Activity column contains icons to indicate the activity, if any, taken on the vulnerability in that row:
To open an issue created for a vulnerability, hover over the Activity entry, then select the link. The issue icon ({{< icon name="work-item-issue" >}}) indicates the issue's status. 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 a Jira issue is not shown in the GitLab UI.
When vulnerabilities originate from a multi-project pipeline setup, this page displays the vulnerabilities that originate from the selected project.
View the vulnerability report to list all vulnerabilities in the project or group.
Prerequisites:
To view the vulnerability report:
{{< history >}}
vulnerability_filtering_by_identifier. Enabled by default.vulnerability_filtering_by_identifier removed.policy_violations_es_filter and security_policy_approval_warn_mode. Enabled on GitLab.com.security_policy_approval_warn_mode removed.{{< /history >}}
You can filter vulnerabilities in the vulnerability report to more efficiently triage them.
You can filter by:
<!-- vale gitlab_base.SubstitutionWarning = NO -->{{< history >}}
vulnerability_report_advanced_filtering. Disabled by default.vulnerability_report_advanced_filtering removed.{{< /history >}}
Filter the vulnerability report to focus on a subset of vulnerabilities.
To filter the list of vulnerabilities:
You can filter vulnerabilities based on the type of report that detected them. By default, the vulnerability report lists vulnerabilities from all report types.
Use the Manually added attribute to filter vulnerabilities that were added manually.
For projects, you can filter vulnerabilities based on the scanner that detected them. By default, the vulnerability report lists vulnerabilities from all scanners.
The content of the Project filter varies:
{{< history >}}
activity_filter_has_remediations. Disabled by default.activity_filter_has_remediations removed.vulnerability_report_vr_filter. Disabled by default.vulnerability_report_vr_filter flag removed.vulnerability_report_ai_fp_filter. Disabled by default.vulnerability_report_ai_fp_filter removed.{{< /history >}}
The activity filter behaves differently from the other filters. You can select only one value in each category. To remove a filter, from the activity filter dropdown list select the filter you want to remove.
Selection behavior when using the activity filter:
default branch.default branch.The GitLab Duo (AI) filter is available when:
{{< history >}}
{{< /history >}}
For groups and projects, you can filter vulnerabilities based on the reachability value. By default, the vulnerability report lists vulnerabilities with any reachability value.
This filter requires advanced vulnerability management.
{{< history >}}
validity_check_es_filter. Disabled by default.validity_check_es_filter removed.{{< /history >}}
For groups and projects, you can filter vulnerabilities based on the validity check value. By default, the vulnerability report lists vulnerabilities with the possibly active status.
This filter requires advanced vulnerability management.
{{< history >}}
vulnerability_report_grouping. Disabled by default.vulnerability_report_grouping removed.group_level_vulnerability_report_grouping. Disabled by default.group_level_vulnerability_report_grouping removed.vulnerability_owasp_top_10_group. Disabled by default.vulnerability_owasp_top_10_group removed.owasp_top_10_null_filtering. Disabled by default.owasp_top_10_null_filtering removed.{{< /history >}}
You can group vulnerabilities on the vulnerability report page to more efficiently triage them.
You can group by:
To group vulnerabilities:
Vulnerabilities are grouped according to the group you selected. Each group is collapsed, with the total number of vulnerabilities per group displayed beside their name. To see the vulnerabilities in each group, select the group's name.
To view more details of a vulnerability, select the vulnerability's Description. The vulnerability's details page is opened.
{{< history >}}
{{< /history >}}
As you triage vulnerabilities you can change their status, including dismissing vulnerabilities.
When a vulnerability is dismissed, the audit log includes a note of who dismissed it, when it was dismissed, and the reason it was dismissed. You cannot delete vulnerability records, so a permanent record always remains.
Prerequisites:
admin_vulnerability permission was removed from the Developer role in GitLab 17.0.To change the status of vulnerabilities:
The status of the selected vulnerabilities is updated and the content of the vulnerability report is refreshed.
{{< history >}}
vulnerability_severity_override. Disabled by default.vulnerability_severity_override removed.hide_vulnerability_severity_override. Disabled by default.{{< /history >}}
[!flag] The availability of this feature is controlled by a feature flag. For more information, see the history.
In certain cases, you may need to adjust the severity of a detected vulnerability to better reflect your organization's priorities. For instance, a scanner might report a lower severity, but you might consider it more critical based on your environment or setup. This feature allows you to override the default severity assigned by the scanner.
Prerequisites:
admin_vulnerability permission.To manually override a vulnerability's severity:
For each selected vulnerability:
{{< history >}}
hide_vulnerability_severity_override. Disabled by default.{{< /history >}}
[!flag] The availability of this feature is controlled by a feature flag. For more information, see the history.
In some environments, you might need to prevent users from overriding the severity of vulnerabilities. The hide_vulnerability_severity_override feature flag allows administrators to hide the severity override functionality in the vulnerability report. This feature helps organizations maintain standardized vulnerability severity ratings across projects.
When enabled, this feature:
To enable the hide_vulnerability_severity_override flag, see enable and disable GitLab features deployed behind feature flags.
{{< history >}}
enhanced_vulnerability_bulk_actions. Disabled by default.enhanced_vulnerability_bulk_actions removed.{{< /history >}}
You can link one or more vulnerabilities to existing issues in the vulnerability report.
Prerequisites:
admin_vulnerability permission in a custom role. The admin_vulnerability permission was removed from the Developer role in GitLab 17.0.To attach vulnerabilities to an existing issue:
Each selected vulnerability will be linked to all of the specified issues.
{{< history >}}
new_issue_attachment_from_vulnerability_bulk_action. Disabled by default.new_issue_attachment_from_vulnerability_bulk_action removed.{{< /history >}}
You can link one or more vulnerabilities to a new issue.
Prerequisites:
admin_vulnerability permission in a custom role. The admin_vulnerability permission was removed from the Developer role in GitLab 17.0.To attach vulnerabilities to a new issue:
You will be redirected to a new issue. Each selected vulnerability is already linked to it.
By default, vulnerabilities are sorted by severity level, with the highest-severity vulnerabilities listed at the top.
To sort vulnerabilities by the date each vulnerability was detected, select the "Detected" column header.
{{< history >}}
{{< /history >}}
You can export details of the vulnerabilities listed in the vulnerability report. The export format is CSV (comma separated values). All vulnerabilities are included because filters do not apply to the export.
Fields included are:
true if the vulnerability is resolved on the default branch, and false if not.[!note] Full details are available through our Job Artifacts API. Use one of the
gl-*-report.jsonreport filenames in place of*artifact_pathto obtain, for example, the path of files in which vulnerabilities were detected.
The Status field's values shown in the vulnerability report are different to those contained in the vulnerability export. Use the following reference table to match them.
| Vulnerability report | Vulnerability export |
|---|---|
| Needs triage | detected |
| Dismissed | dismissed |
| Resolved | resolved |
| Confirmed | confirmed |
To export details of all vulnerabilities listed in the vulnerability report, select Export.
When the exported details are available, you'll receive an email. To download the exported details, select the link in the email.
[!note] Some CSV readers have limitations on the number of rows or size of columns which may make them incompatible with larger exports. The vulnerability export does not account for the limitations of individual programs.
Add a vulnerability manually when it is not available in the GitLab vulnerabilities database. You can add a vulnerability only in a project's vulnerability report.
To add a vulnerability manually:
The newly-created vulnerability's detail page is opened.
{{< history >}}
advanced_vulnerability_management. Available in GitLab.com and GitLab Dedicated. Enabled by default.advanced_vulnerability_management removed.policy_violations_es_filter and security_policy_approval_warn_mode. Available in GitLab.com and GitLab Dedicated. Enabled by default.security_policy_approval_warn_mode removed. Feature flags policy_violations_es_filter and security_policy_approval_warn_mode removed.{{< /history >}}
GitLab primarily uses PostgreSQL for filtering in the vulnerability report. Due to database indexing limitations and performance challenges when applying multiple filters, GitLab uses advanced search for specific vulnerability management features.
Advanced search powers the following features:
Advanced search is used only for these specific features, including when they are combined with other filters. Other filters, when used independently, continue to use the standard PostgreSQL filtering.
[!note] On GitLab Self-Managed, advanced vulnerability management capabilities might be temporarily unavailable, typically for a few hours, after upgrading from versions earlier than GitLab 18.7 while the data migration completes. Full capabilities will be available after the migration finishes.
To use the capabilities in advanced vulnerability management:
The Operational vulnerabilities tab lists vulnerabilities found by Operational container scanning. This tab appears on the project, group, and Security Center vulnerability reports.