Memindai paket Go secara manual

Panduan memulai ini menunjukkan cara mengambil image container, memindainya secara manual dengan Pemindaian On-Demand, dan mengambil kerentanan yang diidentifikasi untuk paket sistem dan Go. Untuk mengikuti panduan memulai ini, Anda akan menggunakan Cloud Shell dan contoh gambar Alpine.

Sebelum memulai

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the On-Demand Scanning API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the On-Demand Scanning API.

    Enable the API

Mendownload dan memindai gambar

  1. Buka Cloud Shell di project Anda.

    Buka Cloud Shell

    Tindakan ini akan membuka terminal dengan semua alat yang diperlukan untuk mengikuti panduan ini.

  2. Gunakan docker untuk mengambil image container:

    docker pull golang:1.17.6-alpine
    
  3. Jalankan pemindaian:

    gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GO
    

    Tindakan ini akan memicu proses pemindaian dan menampilkan nama pemindaian setelah selesai:

    ✓ 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
    
  4. Gunakan nama pemindaian, nilai scan dari output, untuk mengambil hasil pemindaian:

    gcloud artifacts docker images list-vulnerabilities \
    projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
    

    Output-nya berisi daftar kerentanan paket Go, library standar Go, dan Linux. Label berikut menunjukkan jenis kerentanan Go:

    • packageType:GO_STDLIB. Kerentanan library standar Go. Hal ini menunjukkan bahwa kerentanan ditemukan di toolchain Go yang digunakan untuk mem-build biner, atau di library standar yang dipaketkan dengan toolchain. Perbaikan yang mungkin dilakukan adalah mengupgrade toolchain build Anda.

    • packageType:GO. Kerentanan paket Go. Hal ini menunjukkan bahwa kerentanan ditemukan dalam paket pihak ketiga. Solusi yang mungkin adalah mengupgrade modul dependen Anda.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah selanjutnya