Sobre os limites de code scanning nos resultados do SARIF
# SARIF results exceed soft limits
Locations for an alert exceeded limits
Analysis SARIF file exceeded alert limits
Rule tags in SARIF file exceed limits
Alert in SARIF upload exceeded thread flow location limits
# SARIF results exceed hard limit
Alert(s) in SARIF file exceeded thread flow location limits
Analysis SARIF file rejected due to extension limits
Analysis SARIF file rejected due to location limit
Analysis SARIF file rejected due to rule tag limits
Analysis SARIF file rejected due to result limits
Analysis SARIF file rejected due to rule limits
Analysis SARIF file rejected due to run limits
Code scanning define dois tipos de limites em campos em arquivos de resultados do SARIF.
- Limites flexíveis que determinam quantos dados são armazenados e exibidos aos usuários.
- Limites rígidos que determinam a quantidade máxima de dados aceitos para processamento.
Você pode ver esses erros para arquivos SARIF gerados por CodeQL ou por ferramentas de análise de terceiros.
Dados SARIF | Valores máximos | Limites de exibição |
---|---|---|
Execuções por arquivo | 20 | Nenhum |
Resultados por execução | 25,000 | Somente os 5 mil resultados principais serão incluídos, priorizados por severidade. |
Regras por execução | 25,000 | Nenhum |
Extensões de ferramenta por execução | 100 | Nenhum |
Locais de fluxo de threads por resultado | 10.000 | Somente os mil principais locais de fluxo de threads serão incluídos, usando a priorização. |
Local por resultado | 1,000 | Somente 100 locais serão incluídos. |
Marcas por regra | 20 | Somente dez marcas serão incluídas. |
Para obter informações sobre como validar o arquivo SARIF, confira "Suporte SARIF para a varredura de código".
Corrigir erros de limite flexível
Quando os limites flexíveis são excedidos, o code scanning mostra as informações de prioridade mais alta. Muitas vezes, você não precisa fazer nenhuma alteração na configuração do code scanning. À medida que sua equipe corrige alertas, o número de resultados relatados em cada execução será reduzido até que eles estejam dentro dos limites flexíveis e todos os resultados sejam exibidos. Como alternativa, você pode usar as abordagens descritas para erros de limite rígido.
Correção de "Arquivo SARIF de análise rejeitado devido a limites de resultados"
Há muitas considerações e possíveis soluções para reduzir o número de resultados incluídos em um arquivo de resultados do SARIF. Para obter diretrizes, confira "O arquivo de resultados SARIF é muito grande".
Correção de "Alertas no arquivo SARIF excederam os limites de localização do fluxo de threads"
Você pode configurar a análise para limitar o número de caminhos de fluxo de dados incluídos nos resultados. Por padrão, quatro caminhos de fluxo de dados são incluídos para cada resultado.
-
Configuração avançada do CodeQL para code scanning: atualize a etapa
analyze
para limitar o número de caminhos a um máximo de um ou zero.- name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 env: CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths", 1]}}'
-
CodeQL CLI
database analyze
: atualize o comando de análise de banco de dados para incluir o sinalizador--max-paths=1
. Para obter mais informações, confira "database analyze".
Observação: a configuração max-paths
afeta os resultados de todas as consultas de fluxo de dados.
Correção de "Arquivo SARIF de análise rejeitado devido a limites de execução"
A abordagem mais simples é gerar um novo arquivo SARIF para cada execução e carregar cada arquivo separadamente. Você adiciona uma "categoria" a cada resultado e isso permite que o code scanning armazene e exiba os resultados adequadamente. Para obter mais informações, confira "Suporte SARIF para a varredura de código".
Correção de "Arquivo SARIF de análise rejeitado devido a limites de regra"
Há duas abordagens possíveis aqui.
- Reduza o número de regras usadas para analisar o código. Para obter mais informações, confira "Definir o conjunto de consultas a ser executado" e "Excluir uma consulta da análise" em "Arquivo de resultados do SARIF muito grande".
- Execute a análise duas vezes, cada vez com um conjunto diferente de regras, e carregue os dois arquivos de resultados no code scanning. Para obter mais informações, confira "Suporte SARIF para a varredura de código".
Correção de "Arquivo SARIF de análise rejeitado devido a limites de extensão"
A abordagem mais simples é criar um arquivo SARIF separado sempre que você executar a ferramenta e carregar cada arquivo separadamente. Talvez você também precise entrar em contato com o mantenedor da ferramenta. Para obter mais informações, confira "Suporte SARIF para a varredura de código".
A análise do CodeQL não deve gerar esse erro. Se você vir esse erro ao usar a ação CodeQL ou CodeQL CLI, entre em contato com Suporte do GitHub para nos informar. Para obter mais informações, confira "Entrando em contato com o suporte do GitHub".
Correção de "Arquivo SARIF de análise rejeitado devido a limites de localização"
A melhor maneira de resolver esse problema geralmente é identificar a consulta que relata muitos locais e excluí-la da análise. Para obter informações sobre como fazer isso, confira "O arquivo de resultados SARIF é muito grande".
Correção de "Arquivo SARIF de análise rejeitado devido a limites de tag de regra"
Você precisa atualizar o arquivo SARIF ou o gerador para que a matriz de tags relatadas para cada objetoreportingDescriptor
seja menor que 10. Para obter mais informações, confira properties.tags[]
em "Suporte SARIF para a varredura de código".