A análise de pacotes identifica vulnerabilidades existentes e novas nas dependências de código aberto para pacotes baseados em linguagem nos seus repositórios do Artifact Registry.
Consulte os preços para saber mais acerca dos custos associados à leitura de pacotes.
Esta vista geral pressupõe que já está familiarizado com a utilização de repositórios do Docker no Artifact Registry.
Vista geral
A Artifact Analysis analisa os ficheiros num pacote quando o pacote é enviado para o Artifact Registry. Após a análise inicial, o Artifact Registry continua a monitorizar os metadados dos pacotes analisados para novas vulnerabilidades.
Para avaliar potenciais áreas de risco, o Artifact Registry faz a correspondência das dependências num ficheiro de configuração de pacote com vulnerabilidades conhecidas. Pode rever potenciais vulnerabilidades no seu pacote na análise de artefactos.
Analise pacotes quanto a vulnerabilidades
A análise de artefactos analisa pacotes nos seus repositórios do Artifact Registry para identificar vulnerabilidades e também para identificar dependências e licenças para que possa compreender a composição do seu pacote.
A análise de artefactos analisa novos pacotes quando são enviados para o Artifact Registry. Este processo é denominado análise automática. A análise extrai informações sobre os ficheiros no pacote. Após analisar um pacote, a análise de artefactos produz um relatório de vulnerabilidades, que mostra as ocorrências de vulnerabilidades para esse pacote. As vulnerabilidades são detetadas apenas em pacotes que são monitorizados publicamente quanto a vulnerabilidades de segurança.
Análise contínua
Depois de um pacote ser analisado, a análise de artefactos monitoriza continuamente os metadados do pacote analisado no Artifact Registry para novas vulnerabilidades.
A análise de artefactos recebe informações de vulnerabilidade novas e atualizadas de fontes de vulnerabilidade várias vezes por dia. Quando chegam novos dados de vulnerabilidade, a análise de artefactos atualiza as ocorrências de vulnerabilidade existentes, cria novas ocorrências de vulnerabilidade para novas notas e elimina ocorrências de vulnerabilidade que já não são válidas.
A análise de artefactos continua a analisar imagens e pacotes desde que tenham sido extraídos nos últimos 30 dias. Após 30 dias, os metadados das imagens e dos pacotes digitalizados deixam de ser atualizados, e os resultados ficam desatualizados.
A análise de artefactos arquiva metadados desatualizados há mais de 90 dias. Estes metadados arquivados só podem ser avaliados através da API. Pode voltar a analisar uma imagem com metadados desatualizados ou arquivados ao extrair essa imagem. A atualização dos metadados pode demorar até 24 horas. Não é possível voltar a analisar pacotes com metadados desatualizados ou arquivados.
Tipos de pacotes suportados
Quando envia pacotes para o Artifact Registry, a análise de artefactos pode procurar vulnerabilidades.
A tabela seguinte mostra os tipos de pacotes que a análise de artefactos pode analisar:
| Análise automática com o Artifact Registry | Análise a pedido | |
|---|---|---|
| Pacotes Java | ||
| Pacotes Python | ||
| Pacotes Node.js |
Interfaces da Artifact Analysis
Na Google Cloud consola, pode ver vulnerabilidades e metadados de pacotes no Artifact Registry.
Pode usar a CLI gcloud para ver vulnerabilidades e metadados.
Também pode usar a API REST Artifact Analysis para realizar qualquer uma destas ações. Tal como acontece com outras APIs da Cloud Platform, tem de autenticar o acesso através do OAuth2.
A API Artifact Analysis suporta gRPC e REST/JSON. Pode fazer chamadas para a API através das bibliotecas cliente ou do curl para REST/JSON.
Origens de vulnerabilidades
A secção seguinte indica as origens de vulnerabilidades que a análise de artefactos usa para obter dados CVE.
Análises de pacotes de idiomas
A Artifact Analysis suporta a análise de vulnerabilidades para ficheiros num pacote. Os dados de vulnerabilidade são obtidos a partir da base de dados de avisos do GitHub.
Na maioria dos casos, é atribuído um CVE ID a cada vulnerabilidade, e este ID torna-se o identificador principal dessa vulnerabilidade. Nos casos em que não existe um ID CVE atribuído a uma vulnerabilidade, é atribuído um ID GHSA como identificador. Se, posteriormente, essa vulnerabilidade receber um ID CVE, o ID da vulnerabilidade é atualizado para corresponder ao CVE. Consulte o artigo Procure uma vulnerabilidade específica num projeto para mais informações.
Gestores de pacotes e versões semânticas
- Java: a análise de artefactos suporta pacotes Maven que seguem as convenções de nomenclatura do Maven. Se a versão do pacote incluir espaços, não é analisada.
- Node.js: a correspondência da versão do pacote segue a especificação de controlo de versões semântico.
- Python: a correspondência da versão do Python segue a semântica da PEP 440.
Limitações
A análise de artefactos apenas analisa pacotes com 100 ou menos ficheiros.
Se enviar o mesmo pacote para vários repositórios, é-lhe cobrado um valor por cada envio. Para mais informações, consulte os preços da análise de artefactos.
O que se segue?
- Para ver informações sobre como ver vulnerabilidades de pacotes e filtrar ocorrências de vulnerabilidades, consulte o artigo Analise pacotes automaticamente.