Go パッケージを手動でスキャンする
このクイックスタートでは、コンテナ イメージを pull し、オンデマンド スキャンで手動でスキャンし、システム パッケージと Go パッケージの検出された脆弱性を取得する方法について説明します。このクイックスタートでは、Cloud Shell と Alpine イメージのサンプルを使用します。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
画像をダウンロードしてスキャンする
プロジェクトで Cloud Shell を開きます。
これにより、このガイドに沿って行うために必要なすべてのツールがインストールされたターミナルが開きます。
Docker を使用してコンテナ イメージを pull します。
docker pull golang:1.17.6-alpine
スキャンを実行します。
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GO
これにより、スキャン プロセスがトリガーされ、完了するとスキャン名が返されます。
✓ Scanning container image ✓ Locally extracting packages and versions from local container image ✓ Remotely initiating analysis of packages and versions ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/849db1f8-2fb2-4559-9fe0-8720d8cd347c] Done. done: true metadata: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata createTime: '2022-01-11T16:58:11.711487Z' resourceUri: golang:1.16.13-alpine name: projects/my-project/locations/us/operations/f4adb1f8-20b2-4579-9fe0-8720d8cd347c response: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse scan: projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
スキャン名(出力の
scan
の値)を使用して、スキャン結果を取得します。gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
出力には、Go、Go 標準ライブラリ、Linux パッケージの脆弱性のリストが含まれます。次のラベルは、Go の脆弱性のタイプを示します。
packageType:GO_STDLIB
. Go 標準ライブラリの脆弱性。これは、バイナリのビルドに使用された Go ツールチェーンまたはツールチェーンにバンドルされている標準ライブラリで脆弱性が見つかったことを示します。ビルド ツールチェーンをアップグレードすると問題を解決できます。packageType:GO
. Go パッケージの脆弱性。これは、サードパーティ パッケージで脆弱性が見つかったことを示します。依存するモジュールをアップグレードすると問題を解決できます。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.