Help us understand the problem. What is going on with this article?

Dockerfile リポジトリの CI 上で microscanner を実行しよう

More than 1 year has passed since last update.

はじめに

microscanner に関する記事を読んで、自分の Docker image リポジトリの CI に入れてみたので手順を紹介します。

導入時間は10分ほどになります。

作業手順

トークンの発行

まず始めに以下のコマンドを入力して、microscanner のトークンを発行します。

docker container run --rm -it aquasec/microscanner --register <your-email-address>

[Y/n] で Y を選択すると入力したメールアドレスにトークンが届きます。

TravisCI の設定

https://travis-ci.org/profile から特定のリポジトリのチェックを入れて、 Settings をクリックします。

スクリーンショット 2018-05-22 12.58.16.png

メールで取得したトークンを Environment Variables に追加します。
画像のように入力し Add をクリックして完了です。

ファイルの設置

次に、以下の microscanner.txt, .travis.yml をリポジトリ直下に配置します。

microscanner.txt
ADD https://get.aquasec.com/microscanner /
RUN chmod +x /microscanner
RUN /microscanner ${token}

RUN echo "No vulnerabilities!"

.travis.yml は以下の設定にします。

.travis.yml
sudo: required
services: docker
before_install: cat microscanner.txt >> Dockerfile
script: docker container build --build-arg=token=$TOKEN --no-cache .

microscanner.txt は microscanner を動かすために必要なファイルになります。
.travis.yml の before_install を見ていただくとわかるのですが、CI上でのみ Dockerfile にスクリプトが追加されるようになります。

これらをリポジトリに push すると、CI 上で脆弱性チェックが行えるようになります。
失敗時の様子を試したい方は参照サイトでも紹介されている piesecurity/apache-struts2-cve-2017-5638 を使って試すとわかりやすいと思います。

以上、 microscanner を TravisCI 上で実行する方法でした。

参照サイト

Asuforce
こんにちは、本業は SRE ですが色々やってます
https://asuforce.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away