LoginSignup
1
2

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-05-22

はじめに

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 上で実行する方法でした。

参照サイト

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2