{"meta":{"title":"Suporte SARIF para a varredura de código","intro":"Verifique se os arquivos SARIF de ferramentas de terceiros estão em conformidade com os padrões de GitHub.","product":"Qualidade de segurança e código","breadcrumbs":[{"href":"/pt/code-security","title":"Qualidade de segurança e código"},{"href":"/pt/code-security/reference","title":"Referência"},{"href":"/pt/code-security/reference/code-scanning","title":"Varredura de código"},{"href":"/pt/code-security/reference/code-scanning/sarif-files","title":"Arquivos SARIF"},{"href":"/pt/code-security/reference/code-scanning/sarif-files/sarif-support-for-code-scanning","title":"Suporte para SARIF"}],"documentType":"article"},"body":"# Suporte SARIF para a varredura de código\n\nVerifique se os arquivos SARIF de ferramentas de terceiros estão em conformidade com os padrões de GitHub.\n\nO GitHub pode analisar arquivos SARIF produzidos por ferramentas de terceiros para exibir alertas do code scanning em repositórios. Para saber mais, confira [Sobre arquivos SARIF para verificação de código](/pt/code-security/concepts/code-scanning/sarif-files).\n\nEste artigo destaca as principais propriedades dos arquivos SARIF para ajudar você a fazer upload de arquivos SARIF que atendam aos requisitos de GitHub e possam ser convertidos em alertas úteis.\n\nSe você estiver usando o GitHub Actions com o Fluxo de trabalho de análise do CodeQL ou usando o CodeQL CLI, os resultados code scanning usarão automaticamente o subconjunto suportado do SARIF 2.1.0.\n\n## Dados para evitar alertas duplicados\n\nCada vez que os resultados de uma nova verificação de código são carregados, os resultados são processados e os alertas são adicionados ao repositório. Para evitar alertas duplicados para o mesmo problema, code scanning usa impressões digitais para corresponder aos resultados em várias execuções, para que apareçam apenas uma vez na última execução do ramo selecionado. Isto torna possível combinar alertas com a linha de código correta quando os arquivos são editados. O `ruleId` de um resultado deve ser o mesmo em toda a análise.\n\n### Caminhos de arquivo consistentes\n\nO caminho do arquivo precisa ser consistente entre as execuções para habilitar a computação de uma impressão digital estável. Se os caminhos de arquivo forem diferentes para o mesmo resultado, sempre que houver uma nova análise, um novo alerta será criado e o antigo será fechado. Isso causará vários alertas para o mesmo resultado.\n\n### Geração de impressão digital\n\nO GitHub usa a propriedade `partialFingerprints` no padrão OASIS para detectar quando dois resultados são logicamente idênticos. Para obter mais informações, consulte a entrada [propriedade partialFingerprints](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012611) na documentação do OASIS.\n\nOs arquivos do SARIF criados pelo Fluxo de trabalho de análise do CodeQL ou usando o CodeQL CLI incluem dados de impressão digital. Se você carregar um arquivo SARIF usando a ação `upload-sarif` e esses dados estiverem ausentes, o GitHub tentará preencher o campo `partialFingerprints` usando os arquivos de origem. Para saber mais sobre como carregar resultados, consulte [Fazer o upload de arquivo SARIF para o GitHub](/pt/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github).\n\nSe você carregar um arquivo SARIF sem dados de impressão digital usando o ponto de extremidade de API `/code-scanning/sarifs`, os alertas da code scanning serão processados e exibidos, mas os usuários poderão ver alertas duplicados. Para evitar ver alertas duplicados, calcule dados de impressão digital e preencha a propriedade `partialFingerprints` antes de carregar o arquivo SARIF. Você pode achar o script usado pela ação `upload-sarif` um ponto de partida útil: <https://github.com/github/codeql-action/blob/main/src/fingerprints.ts>. Para obter mais informações sobre a API, consulte [Pontos de extremidade da API REST para varredura de código](/pt/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data).\n\n## Regras e resultados\n\nOs arquivos SARIF dão suporte a regras e resultados. As informações armazenadas nesses elementos são semelhantes, mas têm propósitos diferentes.\n\n* As regras são uma matriz de objetos `reportingDescriptor` que estão incluídos no objeto `toolComponent`. Nele, são armazenados detalhes das regras que são executadas durante a análise. As informações nesses objetos devem ser alteradas com pouca frequência, geralmente quando você atualiza a ferramenta.\n* Os resultados são armazenados como uma série de objetos `result` sob `results` no objeto `run`. Cada objeto `result` contém detalhes de um alerta na base de código. Dentro do objeto `results`, você pode fazer referência à regra que detectou o alerta.\n\nAo comparar arquivos SARIF gerados pela análise de diferentes bases de código com a mesma ferramenta e regras, verá diferenças nos resultados das análises, mas não nas regras.\n\n## Locais do arquivo de origem\n\nA especificação dos locais do arquivo de origem e linhas de código garante que os alertas de verificação de código sejam exibidos corretamente no arquivo que contém o problema identificado, permitindo a resolução do problema direcionado.\n\nEssa precisão aumenta a eficiência dos processos de revisão e resolução de código, simplificando os fluxos de trabalho de desenvolvimento, permitindo que os desenvolvedores resolvam problemas diretamente no contexto de sua base de código.\n\nO Code scanning também exibirá resultados de verificações em pull requests quando todas as linhas de código identificadas pelo alerta existirem na comparação da pull request.\n\nPara exibição em uma verificação de pull request, um alerta deve atender a todas as seguintes condições:\n\n* Todas as linhas de código identificadas pelo alerta existem na comparação da pull request, incluindo a primeira linha do alerta.\n* O alerta deve existir nas linhas de código adicionadas ou editadas na pull request, e não nas linhas que foram excluídas.\n\nO objeto `physicalLocation` em um arquivo SARIF enviado identifica as linhas de código de um alerta. Para obter mais informações, consulte [`physicalLocation` objeto](#physicallocation-object).\n\n### Local raiz para arquivos de origem\n\nO Code scanning interpreta os resultados relatados com os caminhos relativos baseados na raiz do repositório analisado. Se um resultado contiver um URI absoluto, ele será convertido em um URI relativo. Em seguida, o URI relativo pode ser correspondido com um arquivo confirmado no repositório.\n\nVocê pode fornecer a raiz de origem para conversão de URIs absolutos em relativos de uma das maneiras a seguir.\n\n* ```\n          [\n          `checkout_path`\n          ](https://github.com/github/codeql-action/blob/c2c0a2908e95769d01b907f9930050ecb5cf050d/analyze/action.yml#L44-L47) entrada para a `github/codeql-action/analyze` ação\n  ```\n* ```\n          `checkout_uri` parâmetro para o ponto de extremidade da API de upload de SARIF. Para saber mais, confira [AUTOTITLE](/rest/code-scanning/code-scanning#upload-an-analysis-as-sarif-data).\n  ```\n* ```\n          [\n          `invocations[0].workingDirectory.uri`\n          ](https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc9244365) propriedade no objeto `run` no arquivo SARIF\n  ```\n\nSe você fornecer uma raiz de origem, qualquer local de um artefato especificado usando um URI absoluto deverá usar o mesmo esquema de URI. Se houver uma incompatibilidade entre o esquema de URI para a raiz de origem e um ou mais URIs absolutos, o upload será rejeitado.\n\nPor exemplo, um arquivo SARIF é carregado usando uma raiz de origem de `file:///github/workspace`.\n\n```shell\n# Conversion of absolute URIs to relative URIs for location artifacts\n\nfile:///github/workspace/src/main.go -> src/main.go\nfile:///tmp/go-build/tmp.go          -> file:///tmp/go-build/tmp.go\n```\n\nO arquivo é carregado com êxito, pois ambos os URIs absolutos usam o mesmo esquema de URI que a raiz de origem.\n\n### Resolução do Symlink\n\nSe o URI relativo de um resultado for comparado a um arquivo definido usando um link simbólico, a varredura de código não poderá exibir o resultado. Portanto, você precisa resolver todos os arquivos com links simbólicos e relatar quaisquer resultados nesses arquivos usando o URI resolvido.\n\n## Compatibilidade de arquivos\n\n<!--UI-LINK: When code scanning fails, the error banner shown in the Security > Code scanning alerts view links to this anchor.-->\n\nVocê pode marcar um arquivo SARIF compatível com code scanning testando-o com as regras de ingestão de GitHub. Para obter mais informações, acesse o [validador de SARIF da Microsoft](https://sarifweb.azurewebsites.net/).\n\nPara cada arquivo SARIF compactado com gzip, o upload do SARIF dá suporte a um tamanho máximo de 10 MB. Todos os uploads acima desse limite são rejeitados. Se o arquivo SARIF for muito grande porque contém muitos resultados, você deverá atualizar a configuração para se concentrar nos resultados das regras ou consultas mais importantes. Para saber mais, confira [O arquivo de resultados SARIF é muito grande](/pt/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-sarif-uploads/file-too-large).\n\nO Code scanning dá suporte ao upload de um número máximo de entradas dos objetos de dados na tabela a seguir. Se um desses objetos exceder o valor máximo, o arquivo SARIF será rejeitado. Para alguns objetos, há também um limite adicional no número de valores que serão exibidos. Sempre que possível, os valores mais importantes são mostrados. Para aproveitar a análise ao máximo quando ela inclui os dados acima dos limites com suporte, tente otimizar a configuração de análise (por exemplo, para a ferramenta CodeQL, identifique e desabilite as consultas mais confusas). Para saber mais, confira [Os resultados do SARIF excedem um ou mais limites](/pt/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-sarif-uploads/results-exceed-limit).\n\n<div class=\"ghd-tool rowheaders\">\n\n| **Dados SARIF**                          | **Valores máximos** | **Limites de truncamento de dados**                                                         |\n| ---------------------------------------- | :-----------------: | ------------------------------------------------------------------------------------------- |\n| Execuções por arquivo                    |          20         | Nenhum                                                                                      |\n| Resultados por execução                  |        25,000       | Somente os 5 mil resultados principais serão incluídos, priorizados por severidade.         |\n| Regras por execução                      |        25,000       | Nenhum                                                                                      |\n| Extensões de ferramenta por execução     |         100         | Nenhum                                                                                      |\n| 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. |\n| Local por resultado                      |        1,000        | Somente 100 locais serão incluídos.                                                         |\n| Marcas por regra                         |          20         | Somente dez marcas serão incluídas.                                                         |\n| Limite de alerta                         |      1.000.000      | Nenhum                                                                                      |\n\n</div>\n\nPara obter informações sobre outros erros, consulte [Solução de problemas de uploads SARIF](/pt/code-security/how-tos/scan-code-for-vulnerabilities/troubleshooting/troubleshooting-sarif-uploads).\n\n## Propriedades suportadas\n\nSe você usar um mecanismo de análise de código diferente de CodeQL, você poderá revisar as propriedades do SARIF compatíveis para otimizar como seus resultados de análise aparecerão em GitHub.\n\n> \\[!NOTE]\n> Você deve fornecer um valor explícito para qualquer propriedade marcada como \"obrigatória\". Não há suporte para cadeias de caracteres vazias em propriedades obrigatórias.\n\nÉ possível fazer o upload de qualquer arquivo de saída SARIF 2.1.0 válido, no entanto, code scanning usará apenas as seguintes propriedades compatíveis.\n\n### objeto `sarifLog`\n\n| Nome      | Obrigatório                                                                                                                                                                                                                                                                                                            | DESCRIÇÃO                                                                                                                                                                                                               |\n| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `$schema` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O URI do esquema SARIF JSON para a versão 2.1.0. Por exemplo, `https://json.schemastore.org/sarif-2.1.0.json`.                                                                                                          |\n| `version` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O Code scanning só dá suporte ao SARIF versão `2.1.0`.                                                                                                                                                                  |\n| `runs[]`  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | Um arquivo SARIF contém uma matriz de uma ou mais execuções. Cada execução representa uma execução única de uma ferramenta de análise. Para obter mais informações sobre `run`, consulte o [`run` objeto](#run-object). |\n\n### objeto `run`\n\nO Code scanning usa o objeto `run` para filtrar os resultados por ferramenta e fornecer informações sobre a fonte de um resultado. O objeto `run` contém o objeto `tool.driver` de componentes da ferramenta, que contém informações sobre a ferramenta que gerou os resultados. Cada `run` pode ter resultados apenas para uma ferramenta de análise.\n\n| Nome                              | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                     |\n| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `tool.driver`                     | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Um objeto `toolComponent` que descreve a ferramenta de análise. Para obter mais informações, consulte [`toolComponent` do objeto](#toolcomponent-object).                                                                                                                                                                                                                                                     |\n| `tool.extensions[]`               | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma matriz de objetos `toolComponent` que representam plug-ins ou extensões usadas pela ferramenta durante a análise. Para obter mais informações, consulte [`toolComponent` do objeto](#toolcomponent-object).                                                                                                                                                                                               |\n| `invocation.workingDirectory.uri` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Esse campo é usado somente quando `checkout_uri` (somente API de upload do SARIF) ou `checkout_path` (somente GitHub Actions) não são fornecidos. O valor é usado para converter URIs absolutos usados em [`physicalLocation` objetos](#physicallocation-object) em URIs relativos. Para obter mais informações, consulte [Como especificar a raiz para arquivos de origem](#root-location-for-source-files). |\n| `results[]`                       | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Os resultados da ferramenta de análise. O Code scanning exibe os resultados no GitHub. Para obter mais informações, consulte [`result` do objeto](#result-object).                                                                                                                                                                                                                                            |\n\n### objeto `toolComponent`\n\n| Nome              | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |\n| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `name`            | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | O nome da ferramenta de análise. O Code scanning exibe o nome no GitHub para permitir que você filtre resultados por ferramenta.                                                                                                                                                                                                                                                                                                                                                                                                       |\n| `version`         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | A versão da ferramenta de análise. O Code scanning usa o número da versão para monitorar quando os resultados podem ter mudado devido a uma mudança na versão da ferramenta em vez de uma mudança no código que está sendo analisado. Se o arquivo SARIF incluir o campo `semanticVersion`, `version` não será usado pela code scanning.                                                                                                                                                                                               |\n| `semanticVersion` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | A versão da ferramenta de análise, especificada pelo formato Versionamento Semântico 2.0. O Code scanning usa o número da versão para monitorar quando os resultados podem ter mudado devido a uma mudança na versão da ferramenta em vez de uma mudança no código que está sendo analisado. Se o arquivo SARIF incluir o campo `semanticVersion`, `version` não será usado pela code scanning. Para obter mais informações, consulte [Versionamento Semântico 2.0.0](https://semver.org/) na documentação do Versionamento Semântico. |\n| `rules[]`         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | A matriz de objetos `reportingDescriptor` que representa as regras. A ferramenta de análise usa regras para encontrar problemas no código que está sendo analisado. Para obter mais informações, consulte [`reportingDescriptor` do objeto](#reportingdescriptor-object).                                                                                                                                                                                                                                                              |\n\n### objeto `reportingDescriptor`\n\nNele, são armazenados detalhes das regras que são executadas durante a análise. As informações nesses objetos devem ser alteradas com pouca frequência, geralmente quando você atualiza a ferramenta. Para obter mais informações, consulte [Regras e resultados](#rules-and-results) acima.\n\n| Nome                           | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\n| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `id`                           | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Um identificador exclusivo para a regra. A `id` é referenciada com base em outras partes do arquivo SARIF e pode ser usada pela code scanning para exibir URLs no GitHub.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\n| `name`                         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | O nome da regra. O Code scanning exibe o nome para permitir que os resultados sejam filtrados pela regra no GitHub. Limitado a 255 caracteres.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |\n| `shortDescription.text`        | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Uma descrição concisa da regra. O Code scanning exibe uma breve descrição no GitHub ao lado dos resultados associados. Limitado a 1024 caracteres.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| `fullDescription.text`         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Descrição da regra. O Code scanning exibe uma descrição completa no GitHub ao lado dos resultados associados. Limitado a 1024 caracteres.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |\n| `defaultConfiguration.level`   | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Nível de gravidade padrão da regra. O Code scanning usa níveis de gravidade para ajudar você a entender quão crítico é o resultado para uma determinada regra. Por padrão, o `defaultConfiguration.level` está definido como `warning`. No entanto, você pode substituir o nível padrão de uma regra definindo o atributo `level` no objeto `result` associado ao resultado. Para obter mais informações, consulte a documentação no [`result` do objeto](#result-object). Os valores válidos para `defaultConfiguration.level` são: `note`, `warning` e `error`.                                                                                                                                                                                                                                                                              |\n| `help.text`                    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Documentação da regra usando o formato de texto. O Code scanning exibe essa documentação de ajuda ao lado dos resultados associados.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |\n| `help.markdown`                | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | (Recomendado) Documentação da regra usando o formato Markdown. O Code scanning exibe essa documentação de ajuda ao lado dos resultados associados. Quando `help.markdown` está disponível, ele é exibido em vez de `help.text`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |\n| `properties.tags[]`            | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma matriz de cadeias de caracteres. O Code scanning usa `tags` para permitir que você filtre os resultados no GitHub. Por exemplo, é possível filtrar todos os resultados que têm a marca `security`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| `properties.precision`         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | (Recomendado) Uma cadeia de caracteres que indica a frequência com que os resultados indicados por essa regra são verdadeiros. Por exemplo, se uma regra tem uma alta taxa conhecida de falsos-positivos, a precisão deve ser `low`. O Code scanning ordena os resultados por precisão no GitHub, de modo que os resultados com o `level` mais alto e a `precision` mais alta sejam mostrados primeiro. Pode ser `very-high`, `high`, `medium` ou `low`.                                                                                                                                                                                                                                                                                                                                                                                       |\n| `properties.problem.severity`  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | (Recomendado) Uma cadeia de caracteres que indica o nível de gravidade de todos os alertas gerados por uma consulta que não é de segurança. Isso, com a propriedade `properties.precision`, determina se os resultados são exibidos por padrão no GitHub, de modo que os resultados com a `problem.severity` mais alta e a `precision` mais alta sejam mostrados primeiro. Pode ser `error`, `warning` ou `recommendation`.                                                                                                                                                                                                                                                                                                                                                                                                                    |\n| `properties.security-severity` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | (Recomendado apenas para regras de segurança) Se você incluir um valor para esse campo, os resultados da regra serão tratados como resultados de segurança. Uma sequência representando uma pontuação que indica o nível de gravidade, um valor entre 0 e 10 para as consultas de segurança (`@tags` inclui `security`). Isso, com a propriedade `properties.precision`, determina se os resultados são exibidos por padrão no GitHub, de modo que os resultados com a `security-severity` mais alta e a `precision` mais alta sejam mostrados primeiro. O Code scanning converte as pontuações numéricas da seguinte maneira: acima de 9 é `critical`, de 7 a 8,9 é `high`, de 4 a 6,9 é `medium` e abaixo de 3,9 é `low`. Um valor de 0 ou qualquer outro valor fora do intervalo determinado é considerado como sem gravidade de segurança. |\n\n### objeto `result`\n\nCada objeto `result` contém detalhes de um alerta na base de código. Dentro do objeto `results`, você pode fazer referência à regra que detectou o alerta. Para obter mais informações, consulte [Regras e resultados](#rules-and-results) acima.\n\n| Nome           | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                                                                                                                         |\n| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `ruleId`       | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | O identificador exclusivo da regra (`reportingDescriptor.id`). Para obter mais informações, consulte [`reportingDescriptor` do objeto](#reportingdescriptor-object). O Code scanning usa o identificador da regra para filtrar os resultados por regra no GitHub. |\n| `ruleIndex`    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | O índice da regra associada (objeto`reportingDescriptor` ) na matriz `rules` de componentes da ferramenta. Para obter mais informações, consulte [`run` do objeto](#run-object). O intervalo permitido para essa propriedade 0 a 2^63 - 1.                        |\n| `rule`         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma referência usada para localizar a regra (descritor de relatório) para esse resultado. Para obter mais informações, consulte [`reportingDescriptor` do objeto](#reportingdescriptor-object).                                                                   |\n| `level`        | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | A gravidade do resultado. Esse nível sobrepõe a severidade-padrão definida pela regra. O Code scanning usa o nível para filtrar resultados por gravidade no GitHub.                                                                                               |\n| `message.text` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Uma mensagem que descreve o resultado. O Code scanning exibe o texto da mensagem como o título do resultado. Apenas a primeira frase da mensagem será exibida quando o espaço visível for limitado.                                                               |\n| `locations[]`  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | O conjunto de locais em que o resultado foi detectado até, no máximo, dez. Só um local deve ser incluído, a não ser que o problema só possa ser corrigido fazendo uma alteração em cada local especificado.                                                       |\n\n```\n          **Observação:** pelo menos, um local é necessário para a code scanning exibir um resultado. O Code scanning usará essa propriedade para decidir qual arquivo anotar com o resultado. Apenas o primeiro valor desse array é usado. Todos os outros valores são ignorados.\n```\n\n\\| `partialFingerprints`| <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | Um conjunto de cadeias de caracteres usadas para acompanhar a identidade exclusiva do resultado. O Code scanning usa `partialFingerprints` para identificar com precisão quais resultados são iguais nos commits e branches. O Code scanning tentará usar `partialFingerprints`, se houver. Se você estiver carregando arquivos SARIF de terceiros com a `upload-action`, a ação criará `partialFingerprints` para você quando eles não estiverem incluídos no arquivo SARIF. Para obter mais informações, consulte [Como fornecer dados para rastrear alertas de exame de código nas execuções](#data-for-preventing-duplicated-alerts).\n**Observação:** o Code scanning só usa o `primaryLocationLineHash`.\n\\| `codeFlows[].threadFlows[].locations[]`| <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma matriz de objetos `location` para um objeto `threadFlow`, que descreve o progresso de um programa por meio de um thread de execução. Um objeto `codeFlow` descreve um padrão de execução de código usado para detectar um resultado. Se forem fornecidos fluxos de código, code scanning irá expandir os fluxos de código em GitHub para o resultado relevante. Para obter mais informações, consulte [`location` do objeto](#location-object).\n\\| `relatedLocations[]`| <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Um conjunto de locais relevantes para este resultado. O Code scanning vinculará a locais relacionados quando forem incorporados à mensagem do resultado. Para obter mais informações, consulte [`location` do objeto](#location-object).\n\n### objeto `location`\n\nUm local dentro de um artefato de programação, como, por exemplo, um arquivo no repositório ou um arquivo gerado durante uma criação.\n\n| Nome                        | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                             |\n| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `location.id`               | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Um identificador exclusivo que distingue esse local de todos os outros locais em um só objeto de resultado. O intervalo permitido para essa propriedade 0 a 2^63 - 1. |\n| `location.physicalLocation` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                         | Identifica o artefato e a região. Para obter mais informações, consulte [`physicalLocation`](#physicallocation-object).                                               |\n| `location.message.text`     | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma mensagem relevante à localização.                                                                                                                                 |\n\n### objeto `physicalLocation`\n\n| Nome                   | Obrigatório                                                                                                                                                                                                                                                                                                            | DESCRIÇÃO                                                                                                                                                                                                                                                                                                                                                                                                                         |\n| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `artifactLocation.uri` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | Um URI que indica o local de um artefato, geralmente um arquivo no repositório ou gerado durante um build. Para obter os melhores resultados, recomendamos que esse seja um caminho relativo da raiz do repositório GitHub que está sendo analisado. Por exemplo, `src/main.js`. Para obter mais informações sobre URIs de artefato, consulte [Como especificar a raiz para arquivos de origem](#root-location-for-source-files). |\n| `region.startLine`     | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O número de linha do primeiro caractere na região.                                                                                                                                                                                                                                                                                                                                                                                |\n| `region.startColumn`   | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O número da coluna do primeiro caractere na região.                                                                                                                                                                                                                                                                                                                                                                               |\n| `region.endLine`       | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O número de linha do último caractere na região.                                                                                                                                                                                                                                                                                                                                                                                  |\n| `region.endColumn`     | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Obrigat\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | O número da coluna do caractere após o final da região.                                                                                                                                                                                                                                                                                                                                                                           |\n\n### objeto `runAutomationDetails`\n\nO objeto `runAutomationDetails` contém informações que especificam a identidade de uma execução.\n\n| Nome | Obrigatório                                                                                                                                                                                                                                                                                                                                                                                                                    | DESCRIÇÃO                                                                                                                                                                                                                                         |\n| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `id` | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Opcional\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | Uma cadeia de caracteres que identifica a categoria da análise e a ID de execução. Use se você quiser fazer upload de vários arquivos SARIF para a mesma ferramenta e commit, mas executado em diferentes idiomas ou diferentes partes do código. |\n\nO uso do objeto `runAutomationDetails` é opcional.\n\nO campo `id` pode incluir uma categoria de análise e uma ID de execução. Não usamos a parte da ID de execução do campo `id`, mas a armazenamos.\n\nUse a categoria para distinguir entre múltiplas análises para a mesma ferramenta ou commit, mas executada em diferentes linguagens ou partes diferentes do código. Use o ID de execução para identificar a execução específica da análise, como a data em que a análise foi executada.\n\n```\n          `id` é interpretado como `category/run-id`. Se a `id` não contiver nenhuma barra (`/`), a cadeia de caracteres inteira será a `run_id` e a `category` ficará vazia. Caso contrário, a `category` será tudo na cadeia de caracteres até a última barra, e a `run_id` será tudo após ela.\n```\n\n| `id`                         | categoria         | `run_id`                 |\n| ---------------------------- | ----------------- | ------------------------ |\n| my-analysis/tool1/2022-01-02 | my-analysis/tool1 | 02-01-2022               |\n| my-analysis/tool1/           | my-analysis/tool1 | Nenhum                   |\n| minha-análise para tool1     | Nenhum            | minha-análise para tool1 |\n\n* A execução com uma `id` igual a \"my-analysis/tool1/2021-02-01\" pertence à categoria \"my-analysis/tool1\".\n* A execução com uma `id` igual a \"my-analysis/tool1/\" pertence à categoria \"my-analysis/tool1\", mas não é distinta das outras execuções nessa categoria.\n* A execução cuja `id` é \"my-analysis for tool1\" tem um identificador único, mas não pode ser inferida como pertencente a nenhuma categoria.\n\nPara obter mais informações sobre o objeto `runAutomationDetails` e o campo `id`, confira o [objeto runAutomationDetails](https://docs.oasis-open.org/sarif/sarif/v2.1.0/cs01/sarif-v2.1.0-cs01.html#_Toc16012479) na documentação do OASIS.\n\nObserve que o resto dos campos compatíveis são ignorados.\n\n## Exemplos de arquivos de saída SARIF\n\nEstes exemplos de arquivos de saída SARIF mostram as propriedades compatíveis e os valores de exemplo.\n\n### Exemplo com as propriedades mínimas necessárias\n\nEste arquivo de saída SARIF tem exemplo de valores para mostrar as propriedades mínimas necessárias para que os resultados de code scanning funcionem conforme esperado. Se você remover qualquer propriedade, omitir valores ou usar uma cadeia de caracteres vazia, esses dados não serão exibidos corretamente ou serão sincronizados em GitHub.\n\n```json\n{\n  \"$schema\": \"https://json.schemastore.org/sarif-2.1.0.json\",\n  \"version\": \"2.1.0\",\n  \"runs\": [\n    {\n      \"tool\": {\n        \"driver\": {\n          \"name\": \"Tool Name\",\n          \"rules\": [\n            {\n              \"id\": \"R01\"\n                      ...\n              \"properties\" : {\n                 \"id\" : \"java/unsafe-deserialization\",\n                 \"kind\" : \"path-problem\",\n                 \"name\" : \"...\",\n                 \"problem.severity\" : \"error\",\n                 \"security-severity\" : \"9.8\",\n               }\n            }\n          ]\n        }\n      },\n      \"results\": [\n        {\n          \"ruleId\": \"R01\",\n          \"message\": {\n            \"text\": \"Result text. This result does not have a rule associated.\"\n          },\n          \"locations\": [\n            {\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"fileURI\"\n                },\n                \"region\": {\n                  \"startLine\": 2,\n                  \"startColumn\": 7,\n                  \"endColumn\": 10\n                }\n              }\n            }\n          ],\n          \"partialFingerprints\": {\n            \"primaryLocationLineHash\": \"39fa2ee980eb94b0:1\"\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\n### Orientações relativas ao URI para produtores de SARIF\n\nEste arquivo de saída SARIF contém exemplos de valores para o campo `originalUriBaseIds`, mostrando as propriedades mínimas que um produtor SARIF deve incluir ao usar referências URI relativas.\n\n> \\[!NOTE]\n> Embora esta propriedade não seja exigida por GitHub para que os resultados de code scanning sejam exibidos corretamente, ela é necessária para produzir uma saída SARIF válida ao usar referências URI relativas.\n\n```json\n{\n  \"$schema\": \"https://json.schemastore.org/sarif-2.1.0.json\",\n  \"version\": \"2.1.0\",\n  \"runs\": [\n    {\n      \"tool\": {\n        \"driver\": {\n          \"name\": \"Tool Name\",\n          \"rules\": [\n            {\n              \"id\": \"R01\"\n                      ...\n              \"properties\" : {\n                 \"id\" : \"java/unsafe-deserialization\",\n                 \"kind\" : \"path-problem\",\n                 \"name\" : \"...\",\n                 \"problem.severity\" : \"error\",\n                 \"security-severity\" : \"9.8\",\n               }\n            }\n          ]\n        }\n      },\n      \"originalUriBaseIds\": {\n        \"PROJECTROOT\": {\n         \"uri\": \"file:///C:/Users/Mary/code/TheProject/\",\n           \"description\": {\n             \"text\": \"The root directory for all project files.\"\n           }\n        },\n         \"%SRCROOT%\": {\n           \"uri\": \"src/\",\n           \"uriBaseId\": \"PROJECTROOT\",\n           \"description\": {\n             \"text\": \"The root of the source tree.\"\n           }\n         }\n      },\n      \"results\": [\n        {\n          \"ruleId\": \"R01\",\n          \"message\": {\n            \"text\": \"Result text. This result does not have a rule associated.\"\n          },\n          \"locations\": [\n            {\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"fileURI\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 2,\n                  \"startColumn\": 7,\n                  \"endColumn\": 10\n                }\n              }\n            }\n          ],\n          \"partialFingerprints\": {\n            \"primaryLocationLineHash\": \"39fa2ee980eb94b0:1\"\n          }\n        }\n      ]\n    }\n  ]\n}\n```\n\n### Exemplo que mostra todas as propriedades compatíveis como SARIF\n\nEste arquivo de saída SARIF tem valores de exemplo para mostrar todas as propriedades do SARIF compatíveis com code scanning.\n\n```json\n{\n  \"$schema\": \"https://json.schemastore.org/sarif-2.1.0.json\",\n  \"version\": \"2.1.0\",\n  \"runs\": [\n    {\n      \"tool\": {\n        \"driver\": {\n          \"name\": \"Tool Name\",\n          \"semanticVersion\": \"2.0.0\",\n          \"rules\": [\n            {\n              \"id\": \"3f292041e51d22005ce48f39df3585d44ce1b0ad\",\n              \"name\": \"js/unused-local-variable\",\n              \"shortDescription\": {\n                \"text\": \"Unused variable, import, function or class\"\n              },\n              \"fullDescription\": {\n                \"text\": \"Unused variables, imports, functions or classes may be a symptom of a bug and should be examined carefully.\"\n              },\n              \"defaultConfiguration\": {\n                \"level\": \"note\"\n              },\n              \"properties\": {\n                \"tags\": [\n                  \"maintainability\"\n                ],\n                \"precision\": \"very-high\"\n              }\n            },\n            {\n              \"id\": \"d5b664aefd5ca4b21b52fdc1d744d7d6ab6886d0\",\n              \"name\": \"js/inconsistent-use-of-new\",\n              \"shortDescription\": {\n                \"text\": \"Inconsistent use of 'new'\"\n              },\n              \"fullDescription\": {\n                \"text\": \"If a function is intended to be a constructor, it should always be invoked with 'new'. Otherwise, it should always be invoked as a normal function, that is, without 'new'.\"\n              },\n              \"properties\": {\n                \"tags\": [\n                  \"reliability\",\n                  \"correctness\",\n                  \"language-features\"\n                ],\n                \"precision\": \"very-high\"\n              }\n            },\n            {\n              \"id\": \"R01\"\n            }\n          ]\n        }\n      },\n      \"automationDetails\": {\n        \"id\": \"my-category/\"\n      },\n      \"results\": [\n        {\n          \"ruleId\": \"3f292041e51d22005ce48f39df3585d44ce1b0ad\",\n          \"ruleIndex\": 0,\n          \"message\": {\n            \"text\": \"Unused variable foo.\"\n          },\n          \"locations\": [\n            {\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"main.js\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 2,\n                  \"startColumn\": 7,\n                  \"endColumn\": 10\n                }\n              }\n            }\n          ],\n          \"partialFingerprints\": {\n            \"primaryLocationLineHash\": \"39fa2ee980eb94b0:1\",\n            \"primaryLocationStartColumnFingerprint\": \"4\"\n          }\n        },\n        {\n          \"ruleId\": \"d5b664aefd5ca4b21b52fdc1d744d7d6ab6886d0\",\n          \"ruleIndex\": 1,\n          \"message\": {\n            \"text\": \"Function resolvingPromise is sometimes invoked as a constructor (for example [here](1)), and sometimes as a normal function (for example [here](2)).\"\n          },\n          \"locations\": [\n            {\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"src/promises.js\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 2\n                }\n              }\n            }\n          ],\n          \"partialFingerprints\": {\n            \"primaryLocationLineHash\": \"5061c3315a741b7d:1\",\n            \"primaryLocationStartColumnFingerprint\": \"7\"\n          },\n          \"relatedLocations\": [\n            {\n              \"id\": 1,\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"src/ParseObject.js\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 2281,\n                  \"startColumn\": 33,\n                  \"endColumn\": 55\n                }\n              },\n              \"message\": {\n                \"text\": \"here\"\n              }\n            },\n            {\n              \"id\": 2,\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"src/LiveQueryClient.js\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 166\n                }\n              },\n              \"message\": {\n                \"text\": \"here\"\n              }\n            }\n          ]\n        },\n        {\n          \"ruleId\": \"R01\",\n          \"message\": {\n            \"text\": \"Specifying both [ruleIndex](1) and [ruleId](2) might lead to inconsistencies.\"\n          },\n          \"level\": \"error\",\n          \"locations\": [\n            {\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"full.sarif\",\n                  \"uriBaseId\": \"%SRCROOT%\"\n                },\n                \"region\": {\n                  \"startLine\": 54,\n                  \"startColumn\": 10,\n                  \"endLine\": 55,\n                  \"endColumn\": 25\n                }\n              }\n            }\n          ],\n          \"relatedLocations\": [\n            {\n              \"id\": 1,\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"full.sarif\"\n                },\n                \"region\": {\n                  \"startLine\": 81,\n                  \"startColumn\": 10,\n                  \"endColumn\": 18\n                }\n              },\n              \"message\": {\n                \"text\": \"here\"\n              }\n            },\n            {\n              \"id\": 2,\n              \"physicalLocation\": {\n                \"artifactLocation\": {\n                  \"uri\": \"full.sarif\"\n                },\n                \"region\": {\n                  \"startLine\": 82,\n                  \"startColumn\": 10,\n                  \"endColumn\": 21\n                }\n              },\n              \"message\": {\n                \"text\": \"here\"\n              }\n            }\n          ],\n          \"codeFlows\": [\n            {\n              \"threadFlows\": [\n                {\n                  \"locations\": [\n                    {\n                      \"location\": {\n                        \"physicalLocation\": {\n                          \"region\": {\n                            \"startLine\": 11,\n                            \"endLine\": 29,\n                            \"startColumn\": 10,\n                            \"endColumn\": 18\n                          },\n                          \"artifactLocation\": {\n                            \"uriBaseId\": \"%SRCROOT%\",\n                            \"uri\": \"full.sarif\"\n                          }\n                        },\n                        \"message\": {\n                          \"text\": \"Rule has index 0\"\n                        }\n                      }\n                    },\n                    {\n                      \"location\": {\n                        \"physicalLocation\": {\n                          \"region\": {\n                            \"endColumn\": 47,\n                            \"startColumn\": 12,\n                            \"startLine\": 12\n                          },\n                          \"artifactLocation\": {\n                            \"uriBaseId\": \"%SRCROOT%\",\n                            \"uri\": \"full.sarif\"\n                          }\n                        }\n                      }\n                    }\n                  ]\n                }\n              ]\n            }\n          ],\n          \"partialFingerprints\": {\n            \"primaryLocationLineHash\": \"ABC:2\"\n          }\n        }\n      ],\n      \"columnKind\": \"utf16CodeUnits\"\n    }\n  ]\n}\n```"}