Cómo analizar paquetes de Go de forma manual
En esta guía de inicio rápido, se muestra cómo extraer una imagen de contenedor, analizarla manualmente con el análisis a pedido y recuperar las vulnerabilidades identificadas para los paquetes del sistema y Go. Para seguir esta guía de inicio rápido, usarás Cloud Shell y una imagen de Alpine de ejemplo.
Antes de comenzar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the On-Demand Scanning API.
Descarga y escanea una imagen
Abre Cloud Shell en tu proyecto.
Se abrirá una terminal con todas las herramientas necesarias para seguir esta guía.
Usa docker para extraer la imagen del contenedor:
docker pull golang:1.17.6-alpine
Ejecuta el análisis:
gcloud artifacts docker images scan golang:1.17.6-alpine --additional-package-types=GO
Esto activa ese proceso de análisis y muestra el nombre del análisis cuando finaliza:
✓ Scanning container image ✓ Locally extracting packages and versions from local container image ✓ Remotely initiating analysis of packages and versions ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/849db1f8-2fb2-4559-9fe0-8720d8cd347c] Done. done: true metadata: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata createTime: '2022-01-11T16:58:11.711487Z' resourceUri: golang:1.16.13-alpine name: projects/my-project/locations/us/operations/f4adb1f8-20b2-4579-9fe0-8720d8cd347c response: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse scan: projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
Usa el nombre del análisis, el valor de
scan
del resultado, para recuperar los resultados del análisis:gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/a54f12b0-ca2d-4d93-8da5-5cf48e9e20ef
El resultado contiene una lista de vulnerabilidades de Go, la biblioteca estándar de Go y los paquetes de Linux. Las siguientes etiquetas indican el tipo de vulnerabilidades de Go:
packageType:GO_STDLIB
. Vulnerabilidades de la biblioteca estándar de Go. Esto indica que la vulnerabilidad se encontró en la cadena de herramientas de Go que se usó para compilar el objeto binario o en la biblioteca estándar incluida en la cadena de herramientas. Una posible solución es actualizar la cadena de herramientas de compilación.packageType:GO
. Vulnerabilidades de paquetes de Go Esto indica que la vulnerabilidad se encontró en un paquete de terceros. Una posible solución es actualizar los módulos dependientes.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.