Go 패키지 수동 스캔
이 빠른 시작에서는 컨테이너 이미지를 가져오고, On-Demand Scanning으로 수동으로 스캔하고, 시스템 및 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를 사용하여 컨테이너 이미지를 가져옵니다.
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
. 패키지 취약점으로 이동합니다. 서드 파티 패키지에서 취약점이 발견되었음을 나타냅니다. 종속 모듈을 업그레이드하면 이 문제를 해결할 수 있습니다.
삭제
이 페이지에서 사용한 리소스 비용이 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.