Configuración de los análisis de Syft y Grype

Visión general

Dado que Code Risk Analyzer (CRA) va a dejar de estar disponible, los análisis de Syft y Grype son alternativas que ofrecen la mayoría de las funciones de CRA.

Este análisis forma parte de la fase de comprobaciones de cumplimiento disponible en los flujos de trabajo PR (vista previa de la aplicación), CI y CC.

Propósito

Syft es una herramienta de línea de comandos que permite generar una SBOM a partir de imágenes de contenedores y sistemas de archivos.

Una lista de materiales de software (SBOM) es un listado detallado de todas las bibliotecas y componentes que conforman un software.

Para obtener más información sobre las SBOM, consulta « Lista de materiales de software ».

Grype

Grype es una herramienta de línea de comandos que analiza imágenes de contenedores, sistemas de archivos y SBOM en busca de vulnerabilidades conocidas.

El análisis de vulnerabilidades es el proceso de identificar vulnerabilidades de seguridad conocidas en paquetes de software y sus dependencias.

Activación y configuración de los análisis de Syft y Grype

Para habilitar la generación de SBOM con Syft y la validación de SBOM con Grype, añade « opt-in-syft-grype » como propiedad de texto a las propiedades de tu pipeline o de tu disparador, con un valor establecido en una cadena no vacía (excepto « 0 »).

Al activar esta función, se ejecutan tanto los scripts de Syft como los de Grype, que se activan desde el script de comprobaciones de cumplimiento, tal y como se indica en la documentación de la biblioteca de scripts comunes. Los scripts instalan automáticamente Syft y Grype si aún no están instalados.

Parámetros de Syft

Las propiedades del entorno del pipeline que se enumeran en la siguiente tabla se utilizan para personalizar la generación de la SBOM de Syft.

Parámetros de Syft
Nombre del parámetro Descripción
app-name Nombre del objetivo que está analizando Syft. Este valor se utiliza como nombre de la fuente en la SBOM generada.
syft-exclude Lista, separada por comas, de rutas que deben excluirse de la generación del SBOM. Ejemplo: node_modules,test,*.log.
syft-print-summary-as-table Establece cualquier cadena no vacía para mostrar el resumen del análisis de Syft en forma de tabla en la salida del registro.
syft-<XXX> Cualquier propiedad de texto de un pipeline o de un disparador que comience por « syft- » (excepto las propiedades reservadas mencionadas anteriormente) se exporta como una variable del entorno de configuración de Syft: SYFT_XXX. Por ejemplo, syft-file-metadata-cataloger-enabled se convierte en SYFT_FILE_METADATA_CATALOGER_ENABLED. Consulta la configuración de Syft para ver las opciones disponibles.

Pruebas y anexos de Syft

El proceso « DevSecOps » sube las pruebas al repositorio e incluye dichas pruebas en el resumen de pruebas de las solicitudes de cambio.

Campos y valores de Syft Evidence
Campo Valor
tool type syft
evidence type com.ibm.code_bom_check
asset type repo
attachments syft_sbom.json (Formato JSON « CycloneDX »)

Parámetros de Grype

Las propiedades del entorno de Pipeline que se enumeran en la siguiente tabla se utilizan para personalizar el análisis de vulnerabilidades de Grype.

Parámetros de Grype
Nombre del parámetro Descripción
grype-<XXX> Cualquier propiedad de texto de un pipeline o un trigger que empiece por ( grype- excepto las propiedades reservadas mencionadas anteriormente) se exporta como una variable del entorno de configuración de Grype GRYPE_XXX. Por ejemplo, se convierte grype-db-auto-update en GRYPE_DB_AUTO_UPDATE. Consulte la configuración de Grype para ver las opciones disponibles.

Pruebas y documentos adjuntos de Grype

El proceso « DevSecOps » sube las pruebas al repositorio e incluye dichas pruebas en el resumen de pruebas de las solicitudes de cambio. Se crean incidencias de cumplimiento normativo para las vulnerabilidades detectadas durante el análisis.

Campos y valores de las pruebas de Grype
Campo Valor
tool type grype
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments <repo-key>_grype_report_extended.json (Informe de vulnerabilidad de Grype con dependencias de la SBOM)

Cómo consultar los resultados de tu exploración

Puedes consultar los resultados de tu escáner siguiendo estos pasos: