Explora vulnerabilidades con la asistencia de Gemini

En este documento, se describe cómo puedes usar Gemini Cloud Assist para obtener información sobre el estado de tus artefactos, obtener información sobre los repositorios y los metadatos de los artefactos, y usar la información de Artifact Analysis para responder preguntas sobre las vulnerabilidades de los artefactos y tu lista de materiales de software (SBOM).

Antes de comenzar

  1. Asegúrate de haber configurado Gemini Cloud Assist en tu Google Cloud proyecto.
  2. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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. Instala Google Cloud CLI.

  7. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  8. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    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. Instala Google Cloud CLI.

  13. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  14. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init

Roles obligatorios

Para obtener los permisos que necesitas para escribir instrucciones a Gemini Cloud Assist para obtener información sobre tus artefactos, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Abrir Gemini Cloud Assist

Puedes abrir el chat de Gemini Cloud Assist desde cualquier lugar de la Google Cloud consola.

  1. En la Google Cloud consola, selecciona un proyecto en el que tengas imágenes de contenedor almacenadas en Artifact Registry.

    Ir al selector de proyectos

  2. Para abrir el panel de Cloud Assist, haz clic en spark Abrir o cerrar chat de IA de Gemini.
  3. Para ingresar una instrucción, escribe la instrucción y haz clic en enviar Enviar.

Consideraciones sobre las instrucciones

La siguiente es una lista de consideraciones específicas de Artifact Analysis que debes tener en cuenta cuando generes instrucciones de Gemini Cloud Assist. Para obtener más detalles sobre las sugerencias generales para escribir instrucciones, visita Escribe mejores instrucciones para Gemini para Google Cloud.

  • De forma predeterminada, todas las instrucciones se dirigen al proyecto seleccionado. Sin embargo, puedes dirigir tu instrucción para filtrar por ubicación, repositorio o imagen.
  • Cualquier consulta basada en un nombre de imagen de contenedor trata el nombre de la imagen de contenedor como un prefijo. Esto te permite filtrar dentro de un proyecto, un repositorio o una imagen específica (en diferentes SHA), pero no te permite filtrar por etiqueta.
  • Para obtener resultados más específicos, incluye un alcance. Por ejemplo, para obtener resultados de una imagen específica, incluye el nombre de la imagen en el alcance. Puedes filtrar si agregas detalles del proyecto, el repositorio, la imagen o la imagen@resumen al nombre de la imagen de contenedor.
  • Los calificadores de región no son necesarios para las instrucciones de Artifact Analysis, ya que Artifact Analysis proporciona resultados combinados de todas las regiones. Puedes especificar un calificador de región para filtrar los resultados.

Enumera mis principales vulnerabilidades conocidas

Puedes escribir instrucciones a Gemini Cloud Assist para que enumere las principales vulnerabilidades conocidas en tu proyecto actual. Las vulnerabilidades se ordenan según su puntuación del Common Vulnerability Scoring System (CVSS) en orden descendente y se agrupan por su ID de vulnerabilidad. Solo se muestran las 10 vulnerabilidades principales. Los resultados incluyen vulnerabilidades de todas las imágenes analizadas en los últimos 30 días.

Puedes filtrar la respuesta por el nombre de la imagen de contenedor.

Para enumerar las principales vulnerabilidades conocidas, en el chat de Gemini Cloud Assist, ingresa la siguiente instrucción:

List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.

Reemplaza CONTAINER_IMAGE_NAME por el nombre de la imagen de contenedor que incluye tu repositorio, por ejemplo, us-central1-docker.pkg.dev/my-project/my-repository.

Si incluyes más detalles en el nombre de la imagen de contenedor, obtendrás una respuesta más precisa. Por ejemplo, LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE proporcionaría detalles de vulnerabilidad en una imagen específica.

En la siguiente instrucción, se le pide a Gemini Cloud Assist que enumere las principales vulnerabilidades conocidas para el repositorio us-central1-docker.pkg.dev/my-project/my-repository:

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

La respuesta incluye una lista de hasta 10 vulnerabilidades ordenadas según su puntuación CVSS en orden descendente para el repositorio especificado.

Para ver todas tus vulnerabilidades, usa el comando artifacts vulnerabilities list de gcloud CLI. Puedes incluir el nombre de la imagen no calificado o proporcionar un algoritmo de hash seguro (SHA) para ver las vulnerabilidades.

Enumera las imágenes por vulnerabilidad

Puedes solicitarle a Gemini Cloud Assist que muestre todas tus imágenes que incluyen una vulnerabilidad especificada. La respuesta se ordena en orden descendente desde la fecha de creación más reciente y, además, incluye imágenes analizadas en los últimos 30 días. Esta instrucción muestra un máximo de 10 imágenes y solo incluye imágenes que fueron analizadas por Artifact Analysis.

Puedes filtrar la respuesta de las siguientes maneras:

  • ID de vulnerabilidad
  • Nombre de la imagen de contenedor

Para enumerar las imágenes que incluyen una vulnerabilidad específica, en el chat de Cloud Assist, ingresa la siguiente instrucción:

List docker container images that contain vulnerability
`VULNERABILITY_ID`.

Reemplaza VULNERABILITY_ID por el ID de la vulnerabilidad que deseas ubicar, por ejemplo, CVE-2024-01234.

En la siguiente instrucción, se le pide a Gemini Cloud Assist que enumere las imágenes que contienen la vulnerabilidad CVE-2024-01234:

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

La respuesta incluye una lista de hasta 10 imágenes que contienen la vulnerabilidad especificada, ordenadas según su puntuación CVSS en orden descendente para el repositorio especificado.

Enumera las imágenes por paquete

Puedes solicitarle a Gemini Cloud Assist que muestre una lista de imágenes que incluyen un paquete especificado. Las imágenes se ordenan en orden descendente desde su fecha de creación y, además, incluyen imágenes analizadas en los últimos 30 días. Esta instrucción muestra un máximo de 10 imágenes y solo incluye imágenes que fueron analizadas por Artifact Analysis.

Puedes filtrar la respuesta por el nombre de la imagen de contenedor.

Para enumerar las imágenes que incluyen un paquete específico, en el chat de Cloud Assist, ingresa la siguiente instrucción:

List docker container images that contain package
`PACKAGE_ID`.

Reemplaza PACKAGE_ID por el ID del paquete que deseas ubicar.

Por ejemplo, en la siguiente instrucción, se le pide a Gemini Cloud Assist que enumere las imágenes que contienen el paquete my-package-name:

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

La respuesta incluye una lista de hasta 10 imágenes que contienen el paquete especificado.

Enumera la procedencia de la compilación

Puedes solicitarle a Gemini Cloud Assist que muestre los 10 detalles de procedencia de la compilación más recientes para un proyecto y un alcance especificados. Los resultados se ordenan por fecha de creación en orden descendente, con los elementos creados más recientemente en la parte superior de la lista. Se muestran hasta 10 compilaciones. Para que se incluyan en la lista, las compilaciones deben haberse creado en los últimos 30 días. Esta instrucción solo admite compilaciones con procedencia SLSA 1.0.

Puedes filtrar la respuesta por el nombre de la imagen de contenedor.

Para enumerar la procedencia de la compilación, en el chat de Cloud Assist , ingresa la siguiente instrucción:

List build provenance for CONTAINER_IMAGE_NAME.

Reemplaza CONTAINER_IMAGE_NAME por el ID de la imagen de la que deseas conocer la procedencia.

Por ejemplo, en la siguiente instrucción, se le pide a Gemini Cloud Assist que enumere la procedencia de la compilación para us-central1-docker.pkg.dev/my-project/my-image:

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

Puedes quitar los detalles de la ubicación, el proyecto o la imagen del nombre de la imagen de contenedor para mostrar un conjunto de resultados más amplio. La respuesta incluye detalles de procedencia de la compilación para las 10 compilaciones más recientes.

Para ver tus compilaciones en la Google Cloud consola, visita la página Historial de compilación.

Enumera las SBOM

Puedes solicitarle a Gemini Cloud Assist que muestre las SBOM más recientes en tu repositorio. Los resultados se ordenan por fecha de creación en orden descendente, con los elementos creados más recientemente en la parte superior de la lista. Se pueden mostrar hasta 10 compilaciones que se crearon en los últimos 30 días.

Puedes filtrar la respuesta por el nombre de la imagen de contenedor, incluidos los detalles de la imagen@resumen.

Para enumerar tus SBOM, en el chat de Cloud Assist, ingresa la siguiente instrucción:

List SBOMs for `CONTAINER_IMAGE_NAME`.

Reemplaza CONTAINER_IMAGE_NAME por el nombre de la imagen de contenedor que deseas buscar, por ejemplo, us-central1-docker.pkg.dev/my-project/my-repo.

En la siguiente instrucción, se le pide a Gemini Cloud Assist que enumere las SBOM para el repositorio us-central1-docker.pkg.dev/my-project/my-repo:

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

La respuesta incluye detalles de SBOM para los 10 repositorios más recientes. Puedes quitar los detalles de la ubicación, el proyecto o la imagen del nombre de la imagen de contenedor para mostrar un conjunto de resultados más amplio.

Puedes ver todas las SBOM con el comando artifacts SBOM list de gcloud CLI.

Instrucciones adicionales

En las siguientes instrucciones, se demuestran las capacidades de usar variables para filtrar con Gemini Cloud Assist.

Para enumerar las vulnerabilidades por una variable específica, ingresa lo siguiente en el chat de Cloud Assist:

List vulnerabilities for `SCOPE`.

En esta instrucción, SCOPE se puede establecer en un proyecto, un repositorio, una imagen o una imagen y un resumen.

Para enumerar las imágenes que contienen un paquete específico, ingresa lo siguiente en el chat de Cloud Assist:

List images that contain the log4j package.

Para enumerar las imágenes que contienen una vulnerabilidad específica, ingresa lo siguiente en el chat de Cloud Assist:

List images that contain `VULNERABILITY_ID`.

En esta instrucción, reemplaza VULNERABILITY_ID por un número de CVE.

¿Qué sigue?