개요

Zap을 통한 스캔을 CI/CD 파이프라인에 통합하는 방법을 정리해준다.

커맨드, 옵션

통합을 위해서는 스캔을 커맨드하나로 수행할 수 있어야 한다. 이를 위해 대부분의 경우, Docker 이미지를 사용한다.

옵션

  • -g gen_file: 기본 설정파일을 생성한다.
  • -r report_html: HTML형식의 레포트를 생성한다.
docker pull ghcr.io/zaproxy/zaproxy:stable
docker run -v $(pwd):/zap/wrk/:rw -t ghcr.io/zaproxy/zaproxy:stable zap-full-scan.py \
    -t https://www.example.com -g gen.conf -r testreport.html

스캔할 수 있는 취약점 목록

https://www.zaproxy.org/docs/alerts/ 를 참고한다.

Dockerfile

Dockerfile은 https://github.com/zaproxy/zaproxy/blob/main/docker/Dockerfile-stable 를 참고하자. 자신만의 Zap 이미지로 커스터마이즈하고 싶다거나 할 때 참고가 될 것이다.

참고

  • ZAP Docker 유저 가이드: https://www.zaproxy.org/docs/docker/about/
  • ZAP - Full Scan 사용법: https://www.zaproxy.org/docs/docker/full-scan/
  • Github Actions와 통합하는 방법(일본어): https://tech-lab.sios.jp/archives/38664