O CodeMender pode produzir, validar e aplicar automaticamente patches de código-fonte para vulnerabilidades verificadas, testando-os no seu sandbox local para evitar regressões.
Gerar correções de vulnerabilidades
Use cm fix para gerar um patch de segurança validado para uma descoberta verificada::
cm fix FINDING_ID
Quando você executa cm fix, o CodeMender realiza as seguintes etapas de validação:
- Gera um candidato a patch usando o mecanismo de raciocínio hospedado na nuvem.
- Aplica o patch a uma cópia do código-fonte no seu sandbox local.
- Compila e testa a base de código executando o
build.commandconfigurado para garantir que o projeto seja criado e os testes de unidade sejam aprovados. - Executa novamente o exploit de prova de conceito verificado para confirmar que a vulnerabilidade não pode mais ser explorada.
Por padrão, o CodeMender pede que você confirme cada modificação de arquivo antes de gravar no disco do seu espaço de trabalho. Quando todas as verificações forem aprovadas, o patch verificado será aplicado ao seu espaço de trabalho e estará pronto para ser preparado.
Corrigir flags
- Forneça contexto de correção (
-c/--context): forneça restrições arquitetônicas ou diretrizes de programação:cm fix FINDING_ID -c "Use the safe parameterized database helper in src/db/query.go"
- Aprovar automaticamente gravações (
-y/--yes): aprovar automaticamente todas as gravações e solicitações de arquivos durante o processo de correção: Observação:também é possível desativar os comandos de gravação interativos globalmente definindocm fix FINDING_ID -y
confirm_writes: falseno seuconfig.yaml. - Ignorar cache (
--no-cache): força o CodeMender a gerar um patch novo:cm fix FINDING_ID --no-cache
Inspecionar e gerenciar diferenças do VCS local
O CodeMender inclui comandos VCS integrados para ajudar você a inspecionar, preparar e gerenciar mudanças de código introduzidas por patches antes de confirmá-las:
Ver o status do repositório: confira quais arquivos foram modificados ou criados pelo CodeMender no seu espaço de trabalho local.
cm vcs status
Inspecionar diffs: revise linha por linha as diffs unificadas de todas as modificações de código não confirmadas geradas pelo agente.
cm vcs diff
Adicionar mudanças: adicione as modificações de patch verificadas ao seu ambiente de teste local para que elas estejam prontas para confirmação.
cm vcs stage
Reverter modificações da sessão: descarta todas as modificações de arquivos locais geradas durante a sessão atual e restaura o repositório ao estado original.
cm vcs reset