A análise estática tinha o clássico problema de muitas ferramentas: scanners de segurança, qualidade e conformidade encontravam problemas úteis, mas cada um falava seu próprio formato de saída. Agregá-los em um único fluxo de trabalho significava adaptadores personalizados e perda de contexto.

O movimento engenhoso do SARIF foi definir o resultado como um objeto portátil. O padrão da OASIS diz que um log SARIF é JSON e pode conter resultados de uma ou mais execuções de análise, com regras, artefatos, localizações, mensagens, impressões digitais e dados de fluxo.

O GitHub tornou o formato operacional. Sua documentação de varredura de código permite que equipes enviem SARIF produzido fora do GitHub, incluindo ferramentas de terceiros e sistemas de CI, e depois visualizem os resultados como alertas do repositório. Isso transformou o SARIF de um esquema em um trilho de distribuição para scanners.

Padronizar o achado, não o scanner

O JSON tornou o formato fácil para ferramentas e plataformas gerarem, validarem e armazenarem.

Execuções e metadados de ferramentas permitem que um único arquivo preserve qual scanner produziu qual achado.

Impressões digitais e categorias ajudam as plataformas a desduplicar e rastrear alertas ao longo dos commits.

A ingestão pelo GitHub deu aos fornecedores de ferramentas um motivo imediato para emitir SARIF.

Um formato pode unificar um mercado fragmentado de ferramentas se capturar o ciclo de vida do resultado, não apenas a primeira mensagem de erro.

O SARIF 2.1.0 tornou-se um Padrão OASIS em 27 de março de 2020. A varredura de código do GitHub continua a aceitar arquivos SARIF enviados por ferramentas externas, tornando o formato uma ponte prática entre scanners locais, sistemas de CI e fluxos de trabalho hospedados de segurança de código.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. Static Analysis Results Interchange Format (SARIF) Version 2.1.0 OASIS Open · docs.oasis-open.org ·
  2. Uploading a SARIF file to GitHub GitHub Docs · docs.github.com