ブログ

読んで思い出す。忘れるために書く

Trivy でコンテナの脆弱性スキャンをする

Docker コンテナから直接実行, go get する方法, CentOS, Ubuntu へのインストール方法など、詳細は Github リポジトリ を参照のこと

今回は Mac にインストールして使ってみる

読みは「とりびぃ」らしい

Trivy (tri pronounced like trigger, vy pronounced like envy)

インストールと実行

インストールする

brew install knqyf263/trivy/trivy

# tap してから install でも可
# brew tap knqyf263/trivy
# brew install trivy

実行する

trivy [image name] 形式で実行する

trivy python:3.4-alpine

f:id:innocent-zero:20190603004623p:plain
OpenSSL 脆弱性が検出されたところ

依存関係について

イメージ名を指定すれば勝手にレジストリから取得するので手元にイメージがある必要はなく、それもDockerコマンドに依存せず実装してあるので実はDockerのインストールも不要です

docker なくても使えるらしい

出力フォーマット

JSON でも結果を出力できる

# 確認時点では必ず 脆弱性データベースの更新処理メッセージが混入する
# 最初の数行を `tail` で無視して `jq` に渡す
trivy -f json --skip-update python:3.4-alpine \
| tail -n +3 \
| jq .[0].Vulnerabilities[0].Title
# => "openssl: ChaCha20-Poly1305 with long nonces"

Links