実践的な「Trivy」利用方法〜「VSCode」によるスキャンからCI/CDパイプライン、「Trivy Operator」による継続的なスキャン〜Cloud Nativeチートシート(18)

Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説する。

» 2022年07月25日 05時00分 公開
[西澤勇紀, 岡本隆史, 正野勇嗣株式会社NTTデータ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。前回はTrivyの単体機能を中心に紹介しました。

 Trivyを組織やプロジェクトで取り入れるには、開発のライフサイクルから運用まで幅広く検討する必要があります。本稿では、Trivyの代表的な利用シーンを取り上げながら、実践的に利用するための検討ポイントを解説します。

Trivyの利用シーン

 アプリケーション開発はソースコードを書いて、ビルドやテストを行い、デプロイするといった流れを繰り返します。このような開発のライフサイクルの中、どこでTrivyを利用するのがよいのでしょうか? どのようなことを検討しなくてはならないのでしょうか?

 本稿では下記3つの利用シーンを取り上げて解説します。

Trivy利用シーン 狙い
【1】 ローカル開発環境 開発の初期段階から脆弱性の混入を防ぐ
【2】 CI/CDパイプライン 脆弱性を含むアプリケーションのデプロイを防ぐ
【3】 実行中のアプリケーション リリース後に発見された新規脆弱(ぜいじゃく)性を継続的に検知する
開発ライフサイクルとTrivy利用シーン

【1】ローカル開発環境

 ローカル開発環境は、開発者個人の作業場所です。「Docker」「Minikube」などを利用してコンテナを動かせるようにしたり、試行錯誤しながらコードを実装してテストしたりといった作業を繰り返します(上図の「個人作業のインナーループ」に該当)。

 Trivyは、次のような開発ツールと連携することで、ローカル開発環境上でも効率的なスキャンを可能にします。

 ローカル開発環境上でスキャンを有効にすると、開発の初期段階から脆弱な設定を検知できます。つまり、シフトレフト(後工程で行っていたセキュリティ対策を、開発工程の早い段階に組み込む考え方)なセキュリティ対策を実現できるといえるでしょう。

 では、ローカル開発環境上のスキャンを試してみましょう。今回はVisual Studio Code(以後、VSCode)を利用したTrivyのスキャンを紹介します。

VSCodeでTrivyによるスキャン

 VSCodeには「Trivy Vulnerability Scanner」という拡張機能があります。この拡張機能を利用すると、VSCode上でTrivyのスキャンが可能になります。

 まずは環境構築ですが、筆者はWindowsを利用しているので、直接Trivyを動かせません。今回はWindows利用者でもTrivyのスキャンを試せるように、VSCodeの拡張機能「Remote WSL」を利用したTrivyのスキャン方法を紹介します。

 今回利用したソフトウェアのバージョンは次の通りです。

  • VSCode:1.68.1
  • VSCode拡張機能「Remote - WSL」:v0.66.3
  • VSCode拡張機能「Trivy Vulnerability Scanner」:v0.6.1
  • Trivy:v0.29.2

 セットアップからTrivyスキャンまでの大まかな流れは次の通りです。

 順に進めていきます。

・1.VSCodeをWindowsにインストール

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。