Português

Efetuar a triagem de uma lista de pendências

Reveja as ocorrências de segurança existentes relativamente a um repositório e ordene o trabalho de seguimento.

Utilize $codex-security:triage-finding para rever ocorrências de segurança existentes relativamente ao repositório atual. Este fluxo de trabalho efetua uma análise estática só de leitura: o Codex trata cada ocorrência como uma alegação não comprovada e inspeciona as provas existentes no repositório sem executar o código.

Execute este fluxo de trabalho a partir de um projeto do Codex cujo âmbito seja o repositório que pretende avaliar. O Codex tem de conseguir ler o código-fonte do repositório. Os conectores do Jira e do Linear podem fornecer dados das ocorrências, enquanto as ocorrências do GitHub exigem acesso autenticado à REST do GitHub. Nenhuma destas opções substitui o acesso ao código-fonte.

Nos bastidores, o Codex começa pelo código ou pelas informações de versão citados. Em seguida, rastreia a alegada origem controlada pelo atacante, os controlos de segurança relevantes, o destino perigoso e o caminho alcançável. Também verifica a superfície do produto e o limite de confiança, procura provas contraditórias e regista lacunas de comprovação. Depois, o Codex devolve uma decisão por ocorrência e classifica as ocorrências que exigem ação ou análise adicional.

Este processo difere de $codex-security:validation, que pode compilar ou executar código, criar um teste específico ou uma prova de conceito, ou utilizar uma interface real para reproduzir ou refutar uma ocorrência. Utilize a triagem para classificar e ordenar uma lista de pendências existente. Utilize a validação quando as provas de execução puderem esclarecer uma ocorrência que as provas estáticas deixam incerta.

Escolher as ocorrências para triagem

Pode fornecer uma ocorrência ou uma coleção proveniente destas fontes:

Fonte O que fornecer Requisitos
Ocorrências coladas ou locais Resultados SARIF, um CVE ou GHSA, um aviso, um pedido de um analisador, um relatório de recompensa por deteção de erros, um artefacto de ocorrência do Codex Security ou uma alegação de vulnerabilidade em linguagem corrente. Não é necessário qualquer conector.
Jira ou Linear URLs ou identificadores exatos de problemas de segurança ou vulnerabilidades, Jira JQL, ou uma equipa, projeto ou expressão de pesquisa do Linear. O Codex obtém o conteúdo dos problemas selecionados antes da triagem. Jira através do Atlassian Rovo ou Linear com acesso de leitura.
GitHub Um repositório e uma fonte de ocorrências: análise de código, vulnerabilidades e software malicioso de Dependabot, avisos de segurança e relatórios privados de vulnerabilidades, ou todas as fontes. Se não especificar um repositório, o Codex utiliza, quando disponível, o repositório do GitHub associado ao projeto atual do Codex. Os GitHub Issues não estão incluídos nas fontes predefinidas do GitHub; forneça um problema específico ou peça explicitamente GitHub Issues quando pretender efetuar a respetiva triagem. Acesso autenticado à REST do GitHub, como gh auth token, GH_TOKEN ou GITHUB_TOKEN, com permissão para ler o repositório e o tipo de ocorrência selecionados.

O Codex mantém um resultado para cada ocorrência fornecida, pela ordem de entrada, para que cada ocorrência de origem permaneça rastreável. Não combina nem elimina ocorrências que pareçam ser duplicadas.

Executar uma triagem só de leitura

Para ocorrências coladas ou artefactos locais, envie um pedido como:

Use $codex-security:triage-finding to triage these existing security findings against this repository:

[Paste the findings or provide the artifact path.]

Para problemas do Jira ou do Linear, identifique o conjunto de problemas e mantenha o sistema de origem só de leitura:

Use $codex-security:triage-finding to import and triage the security findings from [Jira or Linear issue URLs, identifiers, or query] against this repository.
Do not change the source issues.

Para ocorrências do GitHub, indique o repositório e a fonte:

Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from [owner/repository] against this repository.

Para utilizar o repositório do GitHub associado ao projeto atual do Codex, especifique apenas a fonte das ocorrências:

Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from GitHub against this repository. Use the GitHub repository attached to the current Codex project.

O fluxo de trabalho decorre por esta ordem:

  1. Recolher e organizar as ocorrências

    O Codex obtém qualquer problema ou conteúdo do GitHub solicitado, preserva os identificadores e as referências da origem e cria um elemento de triagem por entrada. Cria a lista completa de elementos antes de atribuir decisões.

  2. Confirmar o contexto do repositório

    O Codex identifica o repositório e a revisão atuais quando estão disponíveis. Lê SECURITY.md quando existe, para que as versões suportadas, as entradas fidedignas, os limites do produto e as superfícies fora do âmbito contribuam para a avaliação.

  3. Inspecionar as provas estáticas

    Para cada ocorrência, o Codex rastreia a alegada origem controlada pelo atacante, o controlo de segurança relevante, o destino vulnerável, o caminho alcançável e o limite de segurança suportado. Regista provas favoráveis, provas contrárias à alegação e lacunas de comprovação.

  4. Atribuir decisões e classificações

    O Codex atribui uma decisão e um grau de confiança a cada ocorrência. Classifica as ocorrências confirmed e needs_review por explorabilidade em filas separadas.

Rever os resultados

Decisão Significado
confirmed As provas do repositório demonstram que o caminho vulnerável é alcançável nas condições prévias indicadas e atravessa um limite de segurança suportado.
not_actionable As provas do repositório excluem a alegação, por exemplo, ao demonstrarem uma versão não afetada, um caminho inalcançável, uma proteção eficaz ou uma superfície não distribuída.
needs_review As provas do repositório não são suficientes para tomar uma decisão porque as informações necessárias estão em falta, são ambíguas ou dependem da execução, do ambiente ou de políticas.

Para cada ocorrência, reveja:

  • a justificação da decisão e da classificação
  • as provas favoráveis e as provas contrárias à alegação
  • as questões em aberto e as restantes lacunas de comprovação
  • a localização e o componente afetados
  • a superfície do produto e o nível de confiança da origem
  • o passo seguinte recomendado
  • a transferência para $codex-security:fix-finding, quando a ocorrência é confirmed

A triagem está concluída quando cada ocorrência fornecida tem um resultado, o Codex preserva o respetivo identificador de origem e qualquer incerteza está explícita. Os registos no Jira, no Linear e noutras listas de pendências permanecem inalterados, salvo se pedir ao Codex que os atualize depois de rever os resultados da triagem.

Passos seguintes

  • confirmed: depois de uma pessoa aceitar a ocorrência para correção, utilize $codex-security:fix-finding para a corrigir e verificar. A triagem prepara uma transferência pronta a utilizar num pedido, mas não invoca a competência automaticamente.

  • needs_review: se a execução do código puder resolver a lacuna de comprovação, utilize $codex-security:validation para efetuar uma validação dinâmica limitada. Forneça a alegação da ocorrência, as localizações afetadas, as condições prévias, as provas estáticas e as lacunas de comprovação do resultado da triagem:

    Use $codex-security:validation to dynamically validate finding [triage item ID or source ID] from the backlog triage result. Use the strongest realistic, bounded method, record exactly what was tested, and preserve any remaining proof gaps.

    Ao contrário da triagem, a validação pode compilar ou executar código, criar um teste específico ou uma prova de conceito, ou utilizar uma interface real. Reveja os comandos propostos antes de os aprovar e mantenha em vigor as políticas de aprovação e segurança do Codex.

  • needs_review: se a ocorrência depender da política do produto ou do contexto de implementação, responda às questões em aberto indicadas antes de alterar o código.

  • not_actionable: mantenha as provas junto do registo da triagem. O Codex não fecha nem atualiza automaticamente o pedido de origem.

  • Para procurar vulnerabilidades para além da lista de pendências fornecida, execute uma análise de segurança.