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.
| 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.
| 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.
| 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.
| 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:
- Utilizar la herramienta de línea comando (CLI)de « DevSecOps/CoCoa » para descargar los resultados del análisis desde el almacén de pruebas, utilizando la información que figura en el registro de la fase. Para obtener más información, consulte los siguientes recursos: