Mempelajari kerentanan dengan bantuan Gemini

Dokumen ini menjelaskan cara menggunakan Gemini Cloud Assist untuk mempelajari status artefak Anda, mendapatkan informasi tentang metadata repositori dan artefak, serta menggunakan informasi Analisis Artefak untuk menjawab pertanyaan tentang kerentanan artefak dan software bill of materials (SBOM) Anda.

Sebelum memulai

  1. Pastikan Anda telah menyiapkan Gemini Cloud Assist di project Google Cloud Anda.
  2. Login keakun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. Instal Google Cloud CLI.

  7. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  8. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  9. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  10. Verify that billing is enabled for your Google Cloud project.

  11. Enable the Artifact Registry and Container Scanning APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  12. Instal Google Cloud CLI.

  13. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  14. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk meminta informasi tentang artefak Anda, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuka Gemini Cloud Assist

Anda dapat membuka chat Gemini Cloud Assist dari mana saja di Google Cloud konsol.

  1. Di Google Cloud konsol, pilih project tempat Anda menyimpan image container di Artifact Registry.

    Buka pemilih project

  2. Untuk membuka panel Cloud Assist, klik spark Open or close Gemini AI chat.
  3. Untuk memasukkan perintah, ketik perintah, lalu klik kirim Kirim.

Pertimbangan Perintah

Berikut adalah daftar pertimbangan khusus Analisis Artefak yang harus Anda ketahui saat membuat perintah Gemini Cloud Assist. Untuk mengetahui detail selengkapnya tentang saran penulisan perintah umum, buka Menulis perintah yang lebih baik untuk Gemini untuk Google Cloud.

  • Semua perintah secara default ditetapkan ke project yang dipilih, tetapi Anda dapat mengarahkan perintah untuk memfilter berdasarkan lokasi, repositori, atau image.
  • Setiap kueri berdasarkan nama image container memperlakukan nama image container sebagai awalan. Hal ini memungkinkan Anda memfilter dalam project, repositori, atau image tertentu (di berbagai SHA), tetapi tidak memungkinkan Anda memfilter berdasarkan tag.
  • Untuk mendapatkan hasil yang lebih spesifik, sertakan cakupan. Misalnya, untuk mendapatkan hasil untuk image tertentu, sertakan nama image dalam cakupan. Anda dapat memfilter dengan menambahkan detail project, repositori, image, atau image@digest ke nama image container.
  • Kualifikasi region tidak diperlukan untuk perintah Analisis Artefak karena Analisis Artefak memberikan hasil gabungan dari semua region. Anda dapat menentukan kualifikasi region untuk memfilter hasil.

Mencantumkan kerentanan teratas yang diketahui

Anda dapat meminta Gemini Cloud Assist untuk mencantumkan kerentanan teratas yang diketahui di project Anda saat ini. Kerentanan diurutkan berdasarkan skor Sistem Penskoran Kerentanan Umum (CVSS) dalam urutan menurun, dan dikelompokkan berdasarkan ID kerentanan. Hanya 10 kerentanan teratas yang ditampilkan. Hasilnya mencakup kerentanan dari semua image yang dipindai dalam 30 hari terakhir.

Anda dapat memfilter respons berdasarkan nama image container.

Untuk mencantumkan kerentanan teratas yang diketahui, di Chat Gemini Cloud Assist, masukkan perintah berikut:

List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.

Ganti CONTAINER_IMAGE_NAME dengan nama image container yang menyertakan repositori Anda—misalnya, us-central1-docker.pkg.dev/my-project/my-repository.

Menyertakan lebih banyak detail dalam nama image container akan menampilkan respons yang lebih akurat. Misalnya— LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE akan memberikan detail kerentanan pada image tertentu.

Perintah berikut meminta Gemini Cloud Assist untuk mencantumkan kerentanan teratas yang diketahui untuk repositori us-central1-docker.pkg.dev/my-project/my-repository:

List artifact vulnerabilities for
`us-central1-docker.pkg.dev/my-project/my-repository`.

Responsnya mencakup daftar hingga 10 kerentanan yang diurutkan berdasarkan skor CVSS dalam urutan menurun untuk repositori yang ditentukan.

Untuk melihat semua kerentanan Anda, gunakan perintah gcloud CLI daftar kerentanan artefak. Anda dapat menyertakan nama image yang tidak memenuhi syarat, atau memberikan Secure Hash Algorithm (SHA) untuk melihat kerentanan.

Mencantumkan image berdasarkan kerentanan

Anda dapat meminta Gemini Cloud Assist untuk menampilkan semua image yang menyertakan kerentanan tertentu. Respons diurutkan dalam urutan menurun dari tanggal pembuatan terbaru dan menyertakan image yang dipindai dalam 30 hari terakhir. Perintah ini menampilkan maksimum 10 image dan hanya menyertakan image yang telah dipindai oleh Analisis Artefak.

Anda dapat memfilter respons berdasarkan hal berikut:

  • ID Kerentanan
  • Nama image container

Untuk mencantumkan image yang menyertakan kerentanan tertentu, di chat Cloud Assist, masukkan perintah berikut:

List docker container images that contain vulnerability
`VULNERABILITY_ID`.

Ganti VULNERABILITY_ID dengan ID kerentanan yang ingin Anda temukan—misalnya, CVE-2024-01234.

Perintah berikut meminta Gemini Cloud Assist untuk mencantumkan image yang berisi kerentanan CVE-2024-01234:

List artifact vulnerabilities for `CVE-2024-01234`.

Responsnya mencakup daftar hingga 10 image yang berisi kerentanan yang ditentukan, diurutkan berdasarkan skor CVSS dalam urutan menurun untuk repositori yang ditentukan.

Mencantumkan image berdasarkan paket

Anda dapat meminta Gemini Cloud Assist untuk menampilkan daftar image yang menyertakan paket tertentu. Image diurutkan dalam urutan menurun dari tanggal pembuatannya dan menyertakan image yang dipindai dalam 30 hari terakhir. Perintah ini menampilkan maksimum 10 image dan hanya menyertakan image yang telah dipindai oleh Analisis Artefak.

Anda dapat memfilter respons berdasarkan nama image container.

Untuk mencantumkan image yang menyertakan paket tertentu, di chat Cloud Assist, masukkan perintah berikut:

List docker container images that contain package
`PACKAGE_ID`.

Ganti PACKAGE_ID dengan ID paket yang ingin Anda temukan.

Misalnya, perintah berikut meminta Gemini Cloud Assist untuk mencantumkan image yang berisi paket my-package-name:

List images that contain package `my-package-name`.

Responsnya mencakup daftar hingga 10 image yang berisi paket yang ditentukan.

Mencantumkan provenance build

Anda dapat meminta Gemini Cloud Assist untuk menampilkan 10 detail provenance build terbaru untuk project dan cakupan tertentu. Hasil diurutkan berdasarkan tanggal pembuatan dalam urutan menurun dengan item yang baru dibuat di bagian atas daftar. Maksimum 10 build ditampilkan. Agar dapat dicantumkan, build harus dibuat dalam 30 hari terakhir. Perintah ini hanya mendukung build dengan provenance SLSA 1.0.

Anda dapat memfilter respons berdasarkan nama image container.

Untuk mencantumkan provenance build, di chat Cloud Assist , masukkan perintah berikut:

List build provenance for CONTAINER_IMAGE_NAME.

Ganti CONTAINER_IMAGE_NAME dengan ID image yang provenance-nya ingin Anda pelajari.

Misalnya, perintah berikut meminta Gemini Cloud Assist untuk mencantumkan provenance build untuk us-central1-docker.pkg.dev/my-project/my-image:

List build provenance for `us-central1-docker.pkg.dev/my-project/my-image`.

Anda dapat menghapus detail lokasi, project, atau image dari nama image container untuk menampilkan kumpulan hasil yang lebih luas. Responsnya mencakup detail provenance build untuk 10 build terbaru.

Untuk melihat build Anda di Google Cloud konsol, buka halaman Histori Build.

Mencantumkan SBOM

Anda dapat meminta Gemini Cloud Assist untuk menampilkan SBOM terbaru di repositori Anda. Hasil diurutkan berdasarkan tanggal pembuatan dalam urutan menurun dengan item yang baru dibuat di bagian atas daftar. Hingga 10 build dapat ditampilkan yang dibuat dalam 30 hari terakhir.

Anda dapat memfilter respons berdasarkan nama image container, termasuk detail image@digest.

Untuk mencantumkan SBOM, di chat Cloud Assist, masukkan perintah berikut:

List SBOMs for `CONTAINER_IMAGE_NAME`.

Ganti CONTAINER_IMAGE_NAME dengan nama image container yang ingin Anda telusuri—misalnya, us-central1-docker.pkg.dev/my-project/my-repo.

Perintah berikut meminta Gemini Cloud Assist untuk mencantumkan SBOM untuk repositori us-central1-docker.pkg.dev/my-project/my-repo:

List SBOMs for `us-central1-docker.pkg.dev/my-project/my-repo`.

Responsnya mencakup detail SBOM untuk 10 repositori terbaru. Anda dapat menghapus detail lokasi, project, atau image dari nama image container untuk menampilkan kumpulan hasil yang lebih luas.

Anda dapat melihat semua SBOM menggunakan perintah daftar SBOM artefak gcloud CLI.

Perintah tambahan

Perintah berikut menunjukkan kemampuan menggunakan variabel untuk memfilter dengan Gemini Cloud Assist.

Untuk mencantumkan kerentanan berdasarkan variabel tertentu, masukkan hal berikut di chat Cloud Assist:

List vulnerabilities for `SCOPE`.

Dalam perintah ini, SCOPE dapat ditetapkan ke project, repositori, image, atau image dan ringkasan.

Untuk mencantumkan image yang berisi paket tertentu, masukkan hal berikut di chat Cloud Assist:

List images that contain the log4j package.

Untuk mencantumkan image yang berisi kerentanan tertentu, masukkan hal berikut di chat Cloud Assist:

List images that contain `VULNERABILITY_ID`.

Dalam perintah ini, ganti VULNERABILITY_ID dengan nomor CVE.

Langkah berikutnya