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. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  4. Aktifkan API On-Demand Scanning.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

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

  7. Aktifkan API On-Demand Scanning.

    Mengaktifkan 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. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya