Descripción general del análisis de paquetes

El análisis de paquetes identifica vulnerabilidades existentes y nuevas en las dependencias de código abierto de los paquetes basados en lenguajes en tus repositorios de Artifact Registry.

Consulta los precios para obtener más información sobre los costos asociados con el escaneo de paquetes.

En esta descripción general, se supone que ya sabes cómo usar repositorios de Docker en Artifact Registry.

Descripción general

Artifact Analysis analiza los archivos de un paquete cuando este se envía a Artifact Registry. Después del análisis inicial, Artifact Registry sigue supervisando los metadatos de los paquetes analizados para detectar vulnerabilidades nuevas.

Para evaluar las posibles áreas de riesgo, Artifact Registry compara las dependencias de un archivo de configuración de paquetes con las vulnerabilidades conocidas. Puedes revisar las posibles vulnerabilidades de tu paquete en Artifact Analysis.

Analiza paquetes en busca de vulnerabilidades

Artifact Analysis analiza los paquetes en tus repositorios de Artifact Registry para identificar vulnerabilidades, así como dependencias y licencias, de modo que puedas comprender la composición de tus paquetes.

Artifact Analysis analiza los paquetes nuevos cuando se envían a Artifact Registry. Este proceso se denomina análisis automático. El análisis extrae información sobre los archivos del paquete. Después de analizar un paquete, Artifact Analysis genera un informe de vulnerabilidades, que muestra los casos de vulnerabilidades para ese paquete. Las vulnerabilidades solo se detectan en los paquetes que se supervisan públicamente para detectar vulnerabilidades de seguridad.

Análisis continuo

Después de analizar un paquete, Artifact Analysis supervisa continuamente los metadatos del paquete analizado en Artifact Registry para detectar vulnerabilidades nuevas.

Artifact Analysis recibe información nueva y actualizada sobre vulnerabilidades de las fuentes de vulnerabilidades varias veces al día. Cuando llegan datos nuevos sobre vulnerabilidades, Artifact Analysis actualiza los casos de vulnerabilidades existentes, crea casos de vulnerabilidades nuevos para las notas nuevas y borra los casos de vulnerabilidades que ya no son válidos.

Artifact Analysis sigue analizando imágenes y paquetes siempre que se hayan extraído en los últimos 30 días. Después de 30 días, ya no se actualizarán los metadatos de las imágenes y los paquetes analizados, y los resultados estarán inactivos.

Artifact Analysis archiva los metadatos que han estado inactivos durante más de 90 días. Estos metadatos archivados solo se pueden evaluar con la API. Para volver a analizar una imagen con metadatos inactivos o archivados, extráela. La actualización de los metadatos puede tardar hasta 24 horas. No se pueden volver a analizar los paquetes con metadatos obsoletos o archivados.

Tipos de paquetes admitidos

Cuando envías paquetes a Artifact Registry, Artifact Analysis puede analizarlos en busca de vulnerabilidades.

En la siguiente tabla, se muestran los tipos de paquetes que puede analizar Artifact Analysis:

Análisis automático con Artifact Registry On-Demand Scanning
Paquetes Java
Paquetes de Python
Paquetes de Node.js

Interfaces de Artifact Analysis

En la consola de Google Cloud , puedes ver las vulnerabilidades y los metadatos de los paquetes en Artifact Registry.

Puedes usar gcloud CLI para ver las vulnerabilidades y los metadatos.

También puedes usar la API de REST de Artifact Analysis para realizar cualquiera de estas acciones. Al igual que con otras APIs de Cloud Platform, debes autenticar el acceso con OAuth2.

La API de Artifact Analysis admite gRPC y REST/JSON. Puedes realizar llamadas a la API a través de las bibliotecas cliente o mediante el uso de curl para REST/JSON.

Fuentes de vulnerabilidades

En la siguiente sección, se enumeran las fuentes de vulnerabilidades que usa Artifact Analysis para obtener datos de CVE.

Análisis de paquetes de idiomas

Artifact Analysis admite el análisis de vulnerabilidades para archivos dentro de un paquete. Los datos de vulnerabilidad se obtienen de la base de datos de asesoría de GitHub.

En la mayoría de los casos, a cada vulnerabilidad se le asigna un ID de CVE, que se convierte en el identificador principal de esa vulnerabilidad. En los casos en los que no se asigna un ID de CVE a una vulnerabilidad, se asigna un ID de GHSA como identificador. Si, más adelante, esa vulnerabilidad obtiene un ID de CVE, el ID de vulnerabilidad se actualiza para que coincida con el CVE. Consulta Cómo verificar si hay una vulnerabilidad específica en un proyecto para obtener más información.

Administradores de paquetes y control de versiones semántico

  • Java: Artifact Analysis admite paquetes de Maven que siguen las convenciones de nombres de Maven. Si la versión del paquete incluye espacios, no se analizará.
  • Node.js: La coincidencia de versiones de paquetes sigue la especificación de control de versiones semántico.
  • Python: La coincidencia de versiones de Python sigue la semántica de PEP 440.

Limitaciones

  • Artifact Analysis solo analiza paquetes con 100 archivos o menos.

  • Si envías el mismo paquete a varios repositorios, se te cobrará por cada envío. Para obtener más información, consulta los precios de Artifact Analysis.

¿Qué sigue?

  • Para obtener información sobre cómo ver las vulnerabilidades de los paquetes y filtrar las ocurrencias de vulnerabilidades, consulta Analiza paquetes automáticamente.