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.

Este processo difere de $codex-security:validation, que pode compilar ou executar código, criar um teste ou uma prova de conceito, ou utilizar uma interface real para reproduzir ou refutar uma deteção. Utilize a triagem para classificar e ordenar por prioridade um conjunto de deteções pendentes. Utilize a validação quando as evidências de execução puderem esclarecer uma deteção que as evidências estáticas deixam incerta.

Escolher as ocorrências para triagem

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

Origem O que fornecer Requisitos
Deteções coladas ou locais Resultados SARIF, um CVE ou GHSA, um aviso de segurança, um ticket de uma ferramenta de análise, um relatório de um programa de recompensas por vulnerabilidades, um artefacto de deteção do Codex Security ou uma alegação de vulnerabilidade em linguagem corrente. Não é necessário nenhum conector.
Jira ou Linear URLs ou identificadores exatos de issues de segurança ou vulnerabilidade, JQL do Jira ou uma equipa, projeto ou expressão de pesquisa do Linear. O Codex obtém o conteúdo das issues selecionadas antes da triagem. Jira através do Atlassian Rovo ou Linear com acesso de leitura.
GitHub Um repositório e uma origem de deteções: análise de código, vulnerabilidades e malware do Dependabot, avisos de segurança e relatórios privados de vulnerabilidades, ou todas as origens. Se não especificar um repositório, o Codex utiliza o repositório GitHub associado ao projeto atual do Codex, quando disponível. As GitHub Issues não são incluídas por predefinição. Forneça uma issue específica ou peça explicitamente as GitHub Issues. Acesso autenticado à API REST do GitHub, como gh auth token, GH_TOKEN ou GITHUB_TOKEN, com permissão para ler o repositório e o tipo de deteção 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 Codex verifica o código-fonte atual e a política SECURITY.md aplicável e, em seguida, devolve um veredito para cada deteção fornecida. Regista evidências a favor e contra a alegação, juntamente com as questões por resolver.

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.

Utilize as classificações de prioridade para decidir que deteções confirmed corrigir primeiro e que deteções needs_review investigar primeiro. Cada grupo é ordenado separadamente.

Leia a fundamentação do veredito em conjunto com o código afetado e os pré-requisitos do atacante. Confronte as evidências com a alegação e as questões em aberto antes de agir com base na prioridade atribuída. Aqui, confirmed significa sustentado por evidências estáticas do repositório, e não reproduzido através da execução da aplicação.

Os registos do Jira, do Linear e de outras listas de pendências permanecem inalterados, a menos que peça ao Codex para os atualizar depois de rever os resultados da triagem.

Passos seguintes

  • confirmed: Depois de uma pessoa aceitar a deteção para correção, utilize $codex-security:fix-finding para a corrigir e verificar. A triagem prepara uma passagem de contexto pronta a usar num prompt, mas não invoca a skill automaticamente.
  • needs_review: Se a execução de código puder resolver a lacuna de comprovação, utilize $codex-security:validation para testar a deteção com código em execução. Transmita a alegação da deteção, as localizações afetadas, as pré-condições, as evidências 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. Reproduce or disprove the finding, record what you tested, and list any remaining uncertainty.

Ao contrário da triagem, a validação pode compilar ou executar código, criar um teste ou uma prova de conceito, ou utilizar uma interface real. Consulte as políticas de aprovação e segurança do Codex para conhecer os controlos de execução.

  • needs_review: Se a deteção depender da política do produto ou do contexto de implementação, responda às questões em aberto enumeradas antes de alterar o código.
  • not_actionable: Guarde as evidências com o registo da triagem. O Codex não fecha nem atualiza automaticamente o ticket de origem.
  • Para procurar vulnerabilidades para além das deteções pendentes fornecidas, execute uma análise de segurança.