A verificação de pacotes identifica vulnerabilidades, softwares maliciosos e segredos existentes e novos nas dependências de código aberto para pacotes baseados em linguagem nos repositórios do Artifact Registry.
Consulte os preços para saber mais sobre os custos associados à verificação de pacotes.
Esta visão geral pressupõe que você já esteja familiarizado com o uso de repositórios do Docker no Artifact Registry.
Visão geral
O Artifact Analysis verifica os arquivos em um pacote quando ele é enviado ao Artifact Registry. Após a verificação inicial, o Artifact Registry continua monitorando os metadados dos pacotes verificados em busca de novas vulnerabilidades, pacotes maliciosos e segredos.
Para avaliar possíveis áreas de risco, o Artifact Registry compara as dependências em um arquivo de configuração de pacote com vulnerabilidades conhecidas. Você pode analisar possíveis vulnerabilidades no pacote no Artifact Analysis.
Verificar vulnerabilidades em pacotes
O Artifact Analysis verifica pacotes nos repositórios do Artifact Registry para identificar vulnerabilidades, softwares maliciosos, segredos e também para identificar dependências e licenças para que você possa entender a composição do pacote.
O Artifact Analysis verifica novos pacotes quando eles são enviados ao Artifact Registry. Esse processo é chamado de verificação automática. A verificação extrai informações sobre os arquivos no pacote. Depois de verificar um pacote, o Artifact Analysis produz um relatório de vulnerabilidade, que mostra as ocorrências de vulnerabilidade e pacotes maliciosos para esse pacote. As vulnerabilidades e os softwares maliciosos são detectados apenas em pacotes monitorados publicamente.
Análise contínua
Depois que um pacote é verificado, o Artifact Analysis monitora continuamente os metadados do pacote verificado no Artifact Registry em busca de novas vulnerabilidades e pacotes maliciosos.
O Artifact Analysis recebe informações de vulnerabilidade novas e atualizadas de origens de vulnerabilidade várias vezes por dia. Quando novos dados de vulnerabilidade chegam, o Artifact Analysis atualiza as ocorrências de vulnerabilidade atuais, cria novas ocorrências de vulnerabilidade para novas notas e exclui ocorrências de vulnerabilidade que não são mais válidas.
O Artifact Analysis continua verificando imagens e pacotes desde que eles tenham sido extraídos nos últimos 30 dias. Após 30 dias, os metadados de imagens e pacotes verificados não serão mais atualizados, e os resultados ficarão desatualizados.
O Artifact Analysis arquiva metadados que estão desatualizados há mais de 90 dias. Esses metadados arquivados só podem ser avaliados usando a API. Você pode verificar novamente uma imagem com metadados desatualizados ou arquivados extraindo essa imagem. A atualização dos metadados pode levar até 24 horas. Não é possível verificar novamente pacotes com metadados desatualizados ou arquivados.
Tipos de pacotes com suporte
Ao enviar pacotes para o Artifact Registry, o Artifact Analysis pode verificar vulnerabilidades.
A tabela a seguir mostra os tipos de pacotes que o Artifact Analysis pode verificar:
| Verificação automática com o Artifact Registry | Verificação sob demanda | |
|---|---|---|
| Pacotes Java | ||
| Pacotes do Python | ||
| Pacotes Node.js |
Interfaces do Artifact Analysis
Noconsolenão é possível visualizar vulnerabilidades e metadados de pacotes no Artifact Registry. Google Cloud
Use a CLI gcloud para visualizar vulnerabilidades e metadados.
A API REST Artifact Analysis também pode ser usada para executar qualquer uma dessas ações. Assim como em outras APIs do Cloud Platform, você precisa autenticar o acesso usando OAuth2.
A API Artifact Analysis é compatível com gRPC e REST/JSON. Você pode fazer chamadas à API usando as bibliotecas de cliente ou usando curl para REST/JSON.
Origens de vulnerabilidade
A seção a seguir lista as origens de vulnerabilidade que o Artifact Analysis usa para receber CVE.
Verificações de pacotes de linguagem
O Artifact Analysis oferece suporte à verificação de vulnerabilidades e pacotes maliciosos para arquivos em um pacote. Os dados de vulnerabilidade são extraídos do GitHub Advisory Database, e os dados de pacotes maliciosos são extraídos do OpenSSF Malicious Packages Repository.
Na maioria dos casos, cada vulnerabilidade recebe um ID de CVE, e este ID
torna-se o identificador principal dessa vulnerabilidade. Nos casos em que não há um
ID de CVE atribuído a uma vulnerabilidade, um ID de GHSA é atribuído como
identificador. Se mais tarde essa vulnerabilidade receber um ID de CVE, o ID da vulnerabilidade será atualizado para corresponder ao CVE. Os avisos de pacotes maliciosos têm IDs com um prefixo MAL-. Consulte
Verificar uma vulnerabilidade específica em um projeto para mais
informações.
Gerenciadores de pacotes e controle de versões semântico
- Java: o Artifact Analysis oferece suporte a pacotes Maven que seguem as convenções de nomenclatura do Maven. Se a versão do pacote incluir espaços, ela não será verificada.
- Node.js: a correspondência de versão do pacote segue a especificação de controle de versões semântico.
- Python: a correspondência de versão do Python segue a semântica PEP 440.
Limitações
O Artifact Analysis verifica apenas pacotes com 100 arquivos ou menos.
Se você enviar o mesmo pacote para vários repositórios, será cobrado por cada envio. Para mais informações, consulte Preços do Artifact Analysis.
A seguir
- Para informações sobre como visualizar vulnerabilidades de pacotes e filtrar ocorrências de vulnerabilidade, consulte Verificar pacotes automaticamente.