Dockerを用いて開発を行っている場合、コンテナのセキュリティも少々気になりますよね。そんなときはerzz/dockle-actionを使えばgithub-actions上で脆弱性診断が行なえます。
使い方
以下のyamlを.github/workflows/docker-test.yml
に貼り付けてリモートにpushするだけです。
ただし、ビルドを行う部分docker build -t ${{ env.DOCKER_IMAGE_TAG }} .
は適切に変更する必要があります。今回はリポジトリのルートにDockerfile
があるのでこのようにしています。
name: Docker Test on: push: branches: [main, dev] paths: - Dockerfile pull_request: branches: [main, dev] paths: - Dockerfile env: DOCKER_IMAGE_TAG: "sample-tag" jobs: build: runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v3 - name: docker-build run: | docker build -t ${{ env.DOCKER_IMAGE_TAG }} . - name: run-dockle uses: erzz/dockle-action@v1 with: image: ${{ env.DOCKER_IMAGE_TAG }} exit-code: 1 failure-threshold: fatal
実際にはこのように検証が行われ、WARNよりも危険な問題を含んでいた場合はビルドに失敗するようになっています。
「イメージの検証ならTrivyがあるじゃないか!」という声が飛んでくると思いますが、なんとDockleはtrivyを内包しているので安心です。
以上Dockleの紹介でした。みなさんも自動脆弱性診断を試してみてください!