Analisar vulnerabilidades com a ajuda do Gemini

Este documento descreve como usar o Gemini Cloud Assist para saber sobre o estado dos seus artefatos, receber informações sobre repositórios e metadados de artefatos e usar informações do Artifact Analysis para responder a perguntas sobre vulnerabilidades de artefatos e sua lista de materiais de software (SBOMs).

Antes de começar

  1. Verifique se você configurou o Gemini Cloud Assist no projeto Google Cloud .
  2. 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.
  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  5. Enable the Artifact Registry and Container Scanning APIs.

    Enable the APIs

  6. Install the Google Cloud CLI.

  7. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  8. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  11. Enable the Artifact Registry and Container Scanning APIs.

    Enable the APIs

  12. Install the Google Cloud CLI.

  13. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  14. To initialize the gcloud CLI, run the following command:

    gcloud init
  15. Funções exigidas

    Para receber as permissões necessárias para pedir informações sobre seus artefatos à Gemini Cloud Assist, peça ao administrador para conceder a você os seguintes papéis do IAM:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

    Abrir o Gemini Cloud Assist

    É possível abrir o chat do Gemini Cloud Assist em qualquer lugar no console Google Cloud .

    1. No console Google Cloud , selecione um projeto em que você tenha imagens de contêiner armazenadas no Artifact Registry.

      Acessar o seletor de projetos

    2. Para abrir o painel do Cloud Assist, clique em spark Abrir ou fechar o chat da Gemini AI.
    3. Para inserir um comando, digite o texto e clique em send Enviar.

    Considerações sobre comandos

    Confira abaixo uma lista de considerações específicas do Artifact Analysis que você precisa conhecer ao gerar comandos do Gemini Cloud Assist. Para mais detalhes sobre como escrever comandos, acesse Escrever melhores comandos do Gemini para Google Cloud.

    • Todos os comandos usam o projeto selecionado por padrão, mas você pode direcionar seu comando para filtrar por local, repositório ou imagem.
    • Qualquer consulta baseada em um nome de imagem de contêiner trata o nome como um prefixo. Isso permite filtrar em um projeto, repositório ou imagem específica (em diferentes SHAs), mas não por tag.
    • Para receber resultados mais específicos, inclua um escopo. Por exemplo, para receber resultados de uma imagem específica, inclua o nome dela no escopo. É possível filtrar adicionando detalhes de projeto, repositório, imagem ou imagem@digest ao nome da imagem do contêiner.
    • Os qualificadores de região não são necessários para solicitações do Artifact Analysis, já que ela fornece resultados combinados de todas as regiões. É possível especificar um qualificador de região para filtrar os resultados.

    Liste minhas principais vulnerabilidades conhecidas

    Você pode pedir ao Gemini Cloud Assist para listar as principais vulnerabilidades conhecidas no seu projeto atual. As vulnerabilidades são classificadas pela pontuação do Common Vulnerability Scoring System (CVSS) em ordem decrescente e agrupadas por ID de vulnerabilidade. Apenas as 10 principais vulnerabilidades são mostradas. Os resultados incluem vulnerabilidades de todas as imagens verificadas nos últimos 30 dias.

    É possível filtrar a resposta pelo nome da imagem do contêiner.

    Para listar as principais vulnerabilidades conhecidas, no chat do Gemini Cloud Assist, insira o seguinte comando:

    List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.
    

    Substitua CONTAINER_IMAGE_NAME pelo nome da imagem de contêiner que inclui seu repositório, por exemplo, us-central1-docker.pkg.dev/my-project/my-repository.

    Incluir mais detalhes no nome da imagem do contêiner retorna uma resposta mais precisa. Por exemplo, LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE fornece detalhes de vulnerabilidade em uma imagem específica.

    O comando a seguir pede para o Gemini Cloud Assist listar as principais vulnerabilidades conhecidas do repositório us-central1-docker.pkg.dev/my-project/my-repository:

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

    A resposta inclui uma lista de até 10 vulnerabilidades classificadas por pontuação CVSS em ordem decrescente para o repositório especificado.

    Para conferir todas as suas vulnerabilidades, use o comando artifacts vulnerabilities list da CLI gcloud. Você pode incluir o nome da imagem não qualificada ou fornecer um algoritmo de hash seguro (SHA) para ver as vulnerabilidades.

    Listar imagens por vulnerabilidade

    Você pode pedir para o Gemini Cloud Assist mostrar todas as suas imagens que incluem uma vulnerabilidade específica. A resposta é classificada em ordem decrescente da data de criação mais recente e inclui imagens verificadas nos últimos 30 dias. Esse comando mostra no máximo 10 imagens e inclui apenas as que foram verificadas pelo Artifact Analysis.

    É possível filtrar a resposta com base no seguinte:

    • ID da vulnerabilidade
    • Nome da imagem do contêiner

    Para listar as imagens que incluem uma vulnerabilidade específica, na conversa do Cloud Assist, insira o seguinte comando:

    List docker container images that contain vulnerability
    `VULNERABILITY_ID`.
    

    Substitua VULNERABILITY_ID pelo ID da vulnerabilidade que você quer localizar, por exemplo, CVE-2024-01234.

    O comando a seguir pede ao Gemini Cloud Assist para listar imagens que contêm a vulnerabilidade CVE-2024-01234:

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

    A resposta inclui uma lista de até 10 imagens que contêm a vulnerabilidade especificada, classificadas pela pontuação CVSS em ordem decrescente para o repositório especificado.

    Listar imagens por pacote

    Você pode pedir para o Gemini Cloud Assist retornar uma lista de imagens que incluem um pacote especificado. As imagens são classificadas em ordem decrescente de acordo com a data de criação e incluem as imagens verificadas nos últimos 30 dias. Esse comando mostra no máximo 10 imagens e inclui apenas as que foram verificadas pelo Artifact Analysis.

    É possível filtrar a resposta pelo nome da imagem do contêiner.

    Para listar as imagens que incluem um pacote específico, no chat do Cloud Assist, insira o seguinte comando:

    List docker container images that contain package
    `PACKAGE_ID`.
    

    Substitua PACKAGE_ID pelo ID do pacote que você quer localizar.

    Por exemplo, o comando a seguir pede ao Gemini Cloud Assist para listar imagens que contêm o pacote my-package-name:

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

    A resposta inclui uma lista de até 10 imagens que contêm o pacote especificado.

    Listar a origem do build

    Você pode pedir ao Gemini Cloud Assist para retornar os 10 detalhes de procedência de build mais recentes de um projeto e escopo especificados. Os resultados são classificados por data de criação em ordem decrescente, com os itens criados mais recentemente na parte de cima da lista. Até 10 builds são mostrados. Para serem listadas, as versões precisam ter sido criadas nos últimos 30 dias. Esse comando só aceita builds com proveniência SLSA 1.0.

    É possível filtrar a resposta pelo nome da imagem do contêiner.

    Para listar a origem do build, no chat do Cloud Assist, insira o seguinte comando:

    List build provenance for CONTAINER_IMAGE_NAME.
    

    Substitua CONTAINER_IMAGE_NAME pelo ID da imagem de que você quer saber a origem.

    Por exemplo, o comando a seguir pede ao Gemini Cloud Assist para listar a origem da build de us-central1-docker.pkg.dev/my-project/my-image:

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

    É possível remover o local, o projeto ou os detalhes da imagem do nome da imagem do contêiner para retornar um conjunto mais amplo de resultados. A resposta inclui detalhes de procedência do build para os 10 builds mais recentes.

    Para ver seus builds no Google Cloud console, acesse a página Histórico de builds.

    Listar SBOMs

    Você pode pedir ao Gemini Cloud Assist para retornar as SBOMs mais recentes no seu repositório. Os resultados são classificados por data de criação em ordem decrescente, com os itens criados mais recentemente na parte de cima da lista. Até 10 builds criados nos últimos 30 dias podem ser mostrados.

    É possível filtrar a resposta pelo nome da imagem do contêiner, incluindo detalhes de image@digest.

    Para listar suas SBOMS, no chat do Cloud Assist, insira o seguinte comando:

    List SBOMs for `CONTAINER_IMAGE_NAME`.
    

    Substitua CONTAINER_IMAGE_NAME pelo nome da imagem de contêiner que você quer pesquisar, por exemplo, us-central1-docker.pkg.dev/my-project/my-repo.

    O comando a seguir pede ao Gemini Cloud Assist para listar as SBOMs do repositório us-central1-docker.pkg.dev/my-project/my-repo:

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

    A resposta inclui detalhes da lista de materiais de software (SBOM, na sigla em inglês) dos 10 repositórios mais recentes. É possível remover o local, o projeto ou os detalhes da imagem do nome da imagem do contêiner para retornar um conjunto mais amplo de resultados.

    É possível conferir todas as listas de materiais de software (SBOMs) usando o comando artifacts SBOM list da CLI gcloud.

    Outros comandos

    Os comandos a seguir demonstram os recursos de usar variáveis para filtrar com o Gemini Cloud Assist.

    Para listar vulnerabilidades por uma variável específica, insira o seguinte no chat do Cloud Assist:

    List vulnerabilities for `SCOPE`.
    

    Nesse comando, SCOPE pode ser definido como um projeto, repositório, imagem ou imagem e resumo.

    Para listar imagens que contêm um pacote específico, digite o seguinte no chat do Assistente do Cloud:

    List images that contain the log4j package.
    

    Para listar imagens que contêm uma vulnerabilidade específica, insira o seguinte no chat do Cloud Assist:

    List images that contain `VULNERABILITY_ID`.
    

    Nesse comando, substitua VULNERABILITY_ID por um número de CVE.

    A seguir