개요
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