Configurando as varreduras do Syft e do Grype

Visão geral

Com o Code Risk Analyzer (CRA) sendo descontinuado, as análises do Syft e do Grype são alternativas que oferecem a maioria dos recursos do CRA.

Essa verificação faz parte da etapa de verificações de conformidade disponível nos pipelines PR (app-preview), CI e CC.

Syft

O Syft é uma ferramenta de linha de comando (CLI) para gerar uma SBOM a partir de imagens de contêineres e sistemas de arquivos.

Uma Lista de Componentes de Software (SBOM) é uma lista detalhada de todas as bibliotecas e componentes que compõem um software.

Para saber mais sobre SBOMs, consulte a seção “Lista de Componentes de Software ”.

Grype

O Grype é uma ferramenta de linha de comando (CLI) para verificar se imagens de contêineres, sistemas de arquivos e SBOMs apresentam vulnerabilidades conhecidas.

A verificação de vulnerabilidades é o processo de identificação de vulnerabilidades de segurança conhecidas em pacotes de software e suas dependências.

Ativação e configuração das varreduras do Syft e do Grype

Para habilitar a geração do SBOM pelo Syft e a validação do SBOM pelo Grype, adicione opt-in-syft-grype como uma propriedade de texto às propriedades do seu pipeline ou do seu gatilho, com um valor definido como uma string não vazia (exceto 0``).

Ao ativar esse recurso, são executados os scripts do Syft e do Grype acionados a partir do script de verificações de conformidade, conforme descrito na documentação da Biblioteca de Scripts Comuns. Os scripts instalam automaticamente o Syft e o Grype, caso ainda não estejam instalados.

Parâmetros do Syft

As propriedades do ambiente do pipeline listadas na tabela a seguir são utilizadas para personalizar a geração do SBOM pelo Syft.

Parâmetros do Syft
Nome do parâmetro Descrição
app-name Nome do alvo que está sendo analisado pelo Syft. Esse valor é usado como nome da fonte na SBOM gerada.
syft-exclude Lista separada por vírgulas de caminhos a serem excluídos da geração do SBOM. Exemplo: node_modules,test,*.log.
syft-print-summary-as-table Defina como qualquer string não vazia para exibir o resumo da varredura do Syft na forma de tabela na saída do log.
syft-<XXX> Qualquer propriedade de texto de pipeline ou gatilho com o prefixo syft- (exceto as propriedades reservadas mencionadas acima) é exportada como uma variável do ambiente de configuração do Syft SYFT_XXX. Por exemplo, syft-file-metadata-cataloger-enabled passa a ser SYFT_FILE_METADATA_CATALOGER_ENABLED. Consulte a seção “Configuração do Syft” para conhecer as opções disponíveis.

Provas e anexos do Syft

O pipeline “ DevSecOps ” envia as evidências para o locker e as inclui no resumo de evidências das Solicitações de Alteração.

Campos e valores de evidência do Syft
Campo Valor
tool type syft
evidence type com.ibm.code_bom_check
asset type repo
attachments syft_sbom.json ( CycloneDX, formato JSON)

Parâmetros do Grype

As propriedades do ambiente do pipeline listadas na tabela a seguir são utilizadas para personalizar a verificação de vulnerabilidades do Grype.

Parâmetros do Grype
Nome do parâmetro Descrição
grype-<XXX> Qualquer propriedade de texto de pipeline ou gatilho com o prefixo grype- (exceto as propriedades reservadas mencionadas acima) é exportada como uma variável do ambiente de configuração do Grype GRYPE_XXX. Por exemplo, grype-db-auto-update passa a ser GRYPE_DB_AUTO_UPDATE. Consulte a Configuração do Grype para ver as opções disponíveis.

Provas e anexos do Grype

O pipeline “ DevSecOps ” envia as evidências para o locker e as inclui no resumo de evidências das Solicitações de Alteração. São criados incidentes de conformidade para as vulnerabilidades detectadas durante a varredura.

Campos e valores de evidência do Grype
Campo Valor
tool type grype
evidence type com.ibm.code_vulnerability_scan
asset type repo
attachments <repo-key>_grype_report_extended.json (Relatório de vulnerabilidade do Grype com dependências do SBOM)

Como acessar os resultados do seu exame

Você pode acessar os resultados da sua varredura da seguinte maneira: