Dynamic Application Security Testing (DAST)

Introduced in GitLab Ultimate 10.4.

Overview

Running static checks on your code is the first step to detect vulnerabilities that can put the security of your code at risk. Yet, once deployed, your application is exposed to a new category of possible attacks, such as cross-site scripting or broken authentication flaws. This is where Dynamic Application Security Testing (DAST) comes into place.

If you are using GitLab CI/CD, you can analyze your running web application(s) for known vulnerabilities using Dynamic Application Security Testing (DAST).

You can take advantage of DAST by either including the CI job in your existing .gitlab-ci.yml file or by implicitly using Auto DAST that is provided by Auto DevOps.

Going a step further, GitLab can show the vulnerability list right in the merge request widget area.

Use cases

It helps you automatically find security vulnerabilities in your running web applications while you are developing and testing your applications.

How it works

First of all, you need to define a job in your .gitlab-ci.yml file that generates the DAST report artifact. For more information on how the DAST job should look like, check the example on Dynamic Application Security Testing with GitLab CI/CD.

GitLab then checks this report, compares the found vulnerabilities between the source and target branches, and shows the information right on the merge request.

DAST Widget

By clicking on one of the detected linked vulnerabilities, you will be able to see the details and the URL(s) affected.

DAST Widget Clicked