Corrigir e verificar conclusões de segurança

Gere um patch para uma deteção e verifique se corrige o problema.

Comece por uma deteção cujas evidências aceite. Gere um patch, reveja-o e verifique o problema original no código alterado. Um patch gerado ou aplicado ainda não constitui uma correção verificada.

Na área de trabalho da aplicação de computador, a geração deixa a cópia de trabalho selecionada inalterada. A aplicação do patch altera essa cópia de trabalho. A verificação analisa o patch e regista evidências sem encerrar automaticamente a constatação.

Corrigir uma conclusão na IU

Abra uma constatação aceite em Constatações ou numa análise concluída em Análises. Reveja as respetivas evidências e, em seguida, utilize Patch para gerar, rever, aplicar e verificar uma correção.

  1. Gere um patch

    Abra a conclusão, selecione o separador Patch e selecione Generate patch. O Codex valida ou reproduz o problema quando possível e cria um artefacto de patch sem modificar o checkout selecionado.

  2. Rever o diff proposto

    Verifique o código e os testes afetados. Confirme que a alteração resolve a constatação sem refatorizações alheias ao problema nem enfraquecimento dos controlos de segurança.

  3. Aplicar o patch localmente

    Selecione Aplicar patch apenas depois de considerar o diff aceitável. O Codex aplica o patch gerado exato à árvore de trabalho e regista esse estado. Reveja o diff da árvore de trabalho antes de continuar.

  4. Verificar a correção

    Selecione Verificar correção. O Codex volta a executar o procedimento de reprodução original ou outra verificação de exploração. Quando consegue executar um teste de regressão, verifica se o teste falha antes da correção e passa depois dela. Caso contrário, regista a lacuna de verificação e as verificações que conseguiu concluir. Verifica também o comportamento legítimo, formas de contornar a proteção em código próximo e os testes do repositório.

  5. Encerre a constatação

    A verificação não fecha automaticamente uma conclusão. Reveja os comandos, os resultados e a lacuna de comprovação restante e, em seguida, feche a conclusão com um motivo exato ou mantenha-a aberta para trabalho adicional.

Reveja a correção de segurança gerada antes de a aplicar à sua cópia de trabalho.

Corrigir uma constatação numa conversa

Utilize o plugin instalado com uma constatação proveniente de uma análise, de um pedido de suporte, de um aviso de segurança ou de outra revisão. Forneça o ID da constatação e o caminho do relatório, bem como um procedimento de reprodução ou um comando de validação, se dispuser de algum:

Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Verify the issue against this checkout, fix it, and test the original failure and legitimate behavior. Record any verification you couldn't complete.

Isto autoriza alterações à cópia de trabalho. O Codex pode inspecionar o repositório para obter os detalhes técnicos em falta, mas poderá precisar que esclareça a política de segurança pretendida antes de escolher uma correção.

Executar a remediação sem interação

Para análises e geração de patches repetíveis, utilize os comandos de validação e aplicação de patches da CLI autónoma.

Para invocar o plugin instalado através da Codex CLI, instale primeiro o Codex Security no CODEX_HOME do executor. Um executor novo não inclui plugins do marketplace por predefinição. Utilize uma cópia de trabalho ou uma tarefa separada para cada constatação aceite:

codex exec --sandbox workspace-write 'Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Verify the issue against this checkout, fix it, and test the original failure and legitimate behavior. Record any verification you could not complete.'

A sandbox com permissões de escrita permite ao fluxo de trabalho editar o código-fonte e os testes. Preserve o patch e as evidências de verificação para revisão. Para obter informações sobre a instalação, a configuração das análises e a gestão de artefactos, consulte Automatizar revisões em CI/CD.

Após a verificação, integre a alteração através do seu processo habitual de revisão de código. Se a verificação estiver incompleta, mantenha a constatação aberta com o trabalho restante.