🛰
Docker版OWASP ZAPをM1 Macで動かす。
背景
Webアプリ開発時、手軽に脆弱性診断を行なうツールとしてOWASP ZAPなるものが存在する。
これを実行する方法としてCI等に組み込みやすいDocker Imageがあるが22年4月現在、M1 Macに対応していない。
これを動かすために苦しみを味わったのでメモ。
実装
OWASP ZAPのリポジトリをclone
git clone https://github.com/zaproxy/zaproxy
ローカル環境でbuild
cd docker
docker build -f Dockerfile-stable -t yasuaki640/zap2docker-stable-m1 .
ついでに実行
$ docker run -t yasuaki640/zap2docker-stable-m1 zap-baseline.py -t https://example.com
2022-04-07 09:30:50,109 Could not find custom hooks file at /home/zap/.zap_hooks.py
Using the Automation Framework
Total of 3 URLs
PASS: Vulnerable JS Library [10003]
PASS: Cookie No HttpOnly Flag [10010]
...
~Fin~
One more thing
dockerhubにpushしときました!
Appendix
自前でビルドするとなぜ動くか?
M1 Macに対応したCPUアーキテクチャでビルドしたから。
Containerを動かすにはImageがホストマシンのCPUアーキテクチャに対応したものが好ましい。
しかしOWASP ZAPのImageはM1 Macに対応していないアーキテクチャでビルドされており、containerを立ち上げることはできるがOWASP ZAP自体を実行することはできない。
そこでOWASP ZAPのDockerfileから直接ビルドするとDockerがM1に対応したベースイメージを自動で選択するためM1 Macで動くImageがビルドされる。
結言
間違いあったら指摘お願いします。
参考
Discussion