Integration DAST with OWASP ZAP on Jenkins

Introduction

DAST (Dynamic Application Security Testing) adalah metode pengujian keamanan aplikasi yang dilakukan dengan menganalisis aplikasi yang sedang berjalan untuk menemukan kerentanan yang dapat dieksploitasi dari luar, seperti serangan XSS atau SQL injection.

OWASP ZAP (Zed Attack Proxy) adalah alat open-source yang digunakan untuk melakukan DAST. ZAP memindai aplikasi web secara dinamis untuk menemukan kerentanan keamanan dan membantu pengembang mengidentifikasi dan memperbaiki masalah sebelum aplikasi di-deploy.

Baca Artikel Sebelumnya:

Tools:

1. Script Testing

  • Disini sudah ada 3 file berbentuk xml untuk melakukan pen testing melakukan check apakah ada Vulnerability atau tidak pada aplikasi kita

2. Integrate to Pipeline

  • Selanjutnya adalah Integrasi ke pipeline menggunakan Jenkins, tambahkan stage berikut ini
stage('DAST OWASP ZAP') {
            agent {
                docker {
                    image 'ghcr.io/zaproxy/zaproxy:stable'
                    args '-u root --network host -v /var/run/docker.sock:/var/run/docker.sock --entrypoint= -v .:/zap/wrk/:rw'
                }
            }
            steps {
                catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                    sh 'zap-baseline.py -t http://localhost:3001 -r zapbaseline.html -x zapbaseline.xml'
                }
                sh 'cp /zap/wrk/zapbaseline.html ./zapbaseline.html'
                sh 'cp /zap/wrk/zapbaseline.xml ./zapbaseline.xml'
                archiveArtifacts artifacts: 'zapbaseline.html'
                archiveArtifacts artifacts: 'zapbaseline.xml'
            }
        }
  • Kemudian commit & push untuk tambahan stage tersebut dan tunggu pipeline
  • Dari hasil stage DAST OWASP ZAP membuat reporting berbentuk html seperti berikut

Berikut hasi scaning reportnya, selamat mencoba.

Leave a Reply

Your email address will not be published. Required fields are marked *