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
- Static Analysis Results Interchange Format (SARIF) Version 2.1.0 OASIS Open · docs.oasis-open.org ·
- Uploading a SARIF file to GitHub GitHub Docs · docs.github.com