こんにちは。KIYONOエンジニアです。
本日は、GCPのサービスであるArtifact Registryを使ってコンテナイメージの脆弱性を検出する方法をご紹介していきます。
Artifact Registryとは
Artifact Registryは、Google Cloudが提供する コンテナイメージやパッケージの保存・管理サービスです。似たようなサービスでContainer Registryというサービスがありますが、現在非推奨となっていますのでArtifact Registryを使いましょう。
できることサマリ
項目 | 内容 |
対象 | コンテナイメージ |
タイミング | イメージがArtifact Registryにpushされたときに自動で実行 |
スキャン対象の範囲 | OSパッケージ(Debian, Ubuntu, Alpine など)、アプリケーションライブラリ(Java, Python など) |
検出内容 | CVE(Common Vulnerabilities and Exposures)に基づく既知の脆弱性 |
重大度分類 | Critical / High / Medium / Low / Unknown で分類 |
スキャンエンジン | Container Analysis API(Google Cloud独自の脆弱性スキャンエンジン)を使用 |
CVEとは簡単に言うと、ソフトウェアやOSに発見された「脆弱性」を世界共通のIDで管理している仕組みのことです。
Artifact Registryの脆弱性スキャン設定
脆弱性スキャン機能を使うには、添付の通りArtifact Registryの設定にて「スキャン:オン」になっている必要があります。
Artifact Registryの脆弱性スキャン 画面の見方
リポジトリ内の特定のイメージをクリックすると上記のようなページに遷移します。
上記のように脆弱性というタブをクリックすると脆弱性情報を確認できます。(詳細以下)
名前の列のリンクをクリックすると添付の通り、原因とどのように修正すべきと内容が記載されています。Next.jsのMiddlewareの処理部分に脆弱な部分があるとのことで、特定のNext.jsのバージョンにすることで解消されるといった内容が記載されています。
このような形で脆弱性の内容を確認し、CVEに記載されている内容のもと修正すれば解消されます。
最後に
本日はArtifact Registryを使ってコンテナの脆弱性スキャンする方法について解説しました。
企業によっては、コンテナ管理として「コンテナ環境で継続的インテグレーション(CI/CD)を使用する場合、脆弱性のあるソフトウェアパッケージやライブラリ、認証情報を検出し報告するための脆弱性スキャンを実施しなければならない。」といった要件があったりするので、その際に本日ご紹介したサービスを使ってみていただければと思います。
本日は以上です。
コメント