aquasecurity/trivy は、非常に一般的に使用されているオープンソースのセキュリティ スキャン ツールです。コンテナイメージ、Kubernetes、コードリポジトリ、クラウド構成、IaC、シークレット、SBOM、脆弱性、構成ミスをスキャンできます。
Docker、Kubernetes、または CI/CD を使用している場合、基本的に Trivy は遅かれ早かれ遭遇するツールです。
何をスキャンできますか?
Trivy は幅広い分野をカバーします。
- コンテナイメージの脆弱性。
- ファイル システムとコード リポジトリ。
- Kubernetes リソース。
- Terraform、Kubernetes YAML などの IaC。
- 秘密が漏洩した。
- ライセンスのリスク。
- SBOM の生成とスキャン。
- クラウドリソース構成の問題。
その価値は、リスクの種類ごとにスキャナをインストールするのではなく、複数の種類のセキュリティ チェックを 1 つのツールに統合することにあります。
どこに置きますか?
一般的なアクセスポイント:
- ローカル開発中にイメージをスキャンします。
- CI 内の高リスクの脆弱性をブロックします。
- ミラーウェアハウスの定期的なスキャン。
- Kubernetes をデプロイする前に YAML を確認します。
- 監査またはサプライチェーンのセキュリティ用に SBOM を生成します。
- コード リポジトリ内のシークレットを定期的にスキャンします。
セキュリティ スキャンの最悪の点は、スキャンが 1 回しか実行されないことです。より良いアプローチは、それをパイプラインに入れ、スキャンを続け、修復を続けることです。
使用する際の注意点は何ですか?
Trivy はリスクを教えてくれますが、リスクに関する決定を下すことはありません。
- 脆弱性が悪用されるかどうかは動作環境によって異なります。
- 基本イメージのバージョンは定期的にアップグレードする必要があります。
- リスクの高い脆弱性に対してブロック戦略を設定できます。
- 低リスクおよび誤報は例外的に管理する必要があります。
- シークレットは、シークレットがヒットした直後にローテーションする必要があります。
- SBOM はコンプライアンスの装飾ではないため、依存関係のソースを追跡できなければなりません。
スキャン レポートを KPI として扱わないでください。本当に価値があるのは、閉ループを修復することです。
まとめ
Trivy は、DevSecOps において非常に実用的なナイフです。複雑ではありませんが、範囲が広く、個人プロジェクトから企業の組立ラインまで段階的にアクセスするのに適しています。
コンテナーまたは Kubernetes サービスをデプロイしている場合は、少なくとも Trivy をビルドおよびリリースのプロセスに含める必要があります。