Vulnerability Findings API (ULTIMATE)
Introduced in GitLab Ultimate 12.5.
NOTE: Note:
This API resource is renamed from Vulnerabilities to Vulnerability Findings because the Vulnerabilities are reserved
for serving the upcoming Standalone Vulnerability objects.
To fix any broken integrations with the former Vulnerabilities API, change the vulnerabilities
URL part to be
vulnerability_findings
.
Every API call to vulnerability findings must be authenticated.
Vulnerability findings are project-bound entities. If a user is not
a member of a project and the project is private, a request on
that project will result in a 404
status code.
If a user is able to access the project but does not have permission to
use the Project Security Dashboard,
any request for vulnerability findings of this project will result in a 403
status code.
CAUTION: Caution: This API is in an alpha stage and considered unstable. The response payload may be subject to change or breakage across GitLab releases.
Vulnerability findings pagination
By default, GET
requests return 20 results at a time because the API results
are paginated.
Read more on pagination.
List project vulnerability findings
List all of a project's vulnerability findings.
GET /projects/:id/vulnerability_findings
GET /projects/:id/vulnerability_findings?report_type=sast
GET /projects/:id/vulnerability_findings?report_type=container_scanning
GET /projects/:id/vulnerability_findings?report_type=sast,dast
GET /projects/:id/vulnerability_findings?scope=all
GET /projects/:id/vulnerability_findings?scope=dismissed
GET /projects/:id/vulnerability_findings?severity=high
GET /projects/:id/vulnerability_findings?confidence=unknown,experimental
GET /projects/:id/vulnerability_findings?pipeline_id=42
CAUTION: Deprecation:
Beginning with GitLab 12.9, the undefined
severity level is deprecated and the undefined
confidence level isn't reported for new vulnerabilities.
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | The ID or URL-encoded path of the project which the authenticated user is a member of. |
report_type |
string array | no | Returns vulnerability findings belonging to specified report type. Valid values: sast , dast , dependency_scanning , or container_scanning . Defaults to all. |
scope |
string | no | Returns vulnerability findings for the given scope: all or dismissed . Defaults to dismissed . |
severity |
string array | no | Returns vulnerability findings belonging to specified severity level: undefined , info , unknown , low , medium , high , or critical . Defaults to all. |
confidence |
string array | no | Returns vulnerability findings belonging to specified confidence level: undefined , ignore , unknown , experimental , low , medium , high , or confirmed . Defaults to all. |
pipeline_id |
integer/string | no | Returns vulnerability findings belonging to specified pipeline. |
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/4/vulnerability_findings
Example response:
[
{
"id": null,
"report_type": "dependency_scanning",
"name": "Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js",
"severity": "unknown",
"confidence": "undefined",
"scanner": {
"external_id": "gemnasium",
"name": "Gemnasium"
},
"identifiers": [
{
"external_type": "gemnasium",
"external_id": "9952e574-7b5b-46fa-a270-aeb694198a98",
"name": "Gemnasium-9952e574-7b5b-46fa-a270-aeb694198a98",
"url": "https://deps.sec.gitlab.com/packages/npm/saml2-js/versions/1.5.0/advisories"
},
{
"external_type": "cve",
"external_id": "CVE-2017-11429",
"name": "CVE-2017-11429",
"url": "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11429"
}
],
"project_fingerprint": "fa6f5b6c5d240b834ac5e901dc69f9484cef89ec",
"create_vulnerability_feedback_issue_path": "/tests/yarn-remediation-test/vulnerability_feedback",
"create_vulnerability_feedback_merge_request_path": "/tests/yarn-remediation-test/vulnerability_feedback",
"create_vulnerability_feedback_dismissal_path": "/tests/yarn-remediation-test/vulnerability_feedback",
"project": {
"id": 31,
"name": "yarn-remediation-test",
"full_path": "/tests/yarn-remediation-test",
"full_name": "tests / yarn-remediation-test"
},
"dismissal_feedback": null,
"issue_feedback": null,
"merge_request_feedback": null,
"description": "Some XML DOM traversal and canonicalization APIs may be inconsistent in handling of comments within XML nodes. Incorrect use of these APIs by some SAML libraries results in incorrect parsing of the inner text of XML nodes such that any inner text after the comment is lost prior to cryptographically signing the SAML message. Text after the comment therefore has no impact on the signature on the SAML message.\r\n\r\nA remote attacker can modify SAML content for a SAML service provider without invalidating the cryptographic signature, which may allow attackers to bypass primary authentication for the affected SAML service provider.",
"links": [
{
"url": "https://github.com/Clever/saml2/commit/3546cb61fd541f219abda364c5b919633609ef3d#diff-af730f9f738de1c9ad87596df3f6de84R279"
},
{
"url": "https://www.kb.cert.org/vuls/id/475445"
},
{
"url": "https://github.com/Clever/saml2/issues/127"
}
],
"location": {
"file": "yarn.lock",
"dependency": {
"package": {
"name": "saml2-js"
},
"version": "1.5.0"
}
},
"solution": "Upgrade to fixed version.\r\n",
"blob_path": "/tests/yarn-remediation-test/blob/cc6c4a0778460455ae5d16ca7025ca9ca1ca75ac/yarn.lock"
}
]