Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Copilot Autofix é um recurso com tecnologia de IA do GitHub Advanced Security para Azure DevOps que gera correções sugeridas para alertas de verificação de código. Quando o CodeQL identifica uma vulnerabilidade ou erro de codificação, você pode gerar uma correção para o alerta diretamente da guia Segurança Avançada. Copilot Autofixo usa o agente de codificação Copilot para produzir a correção e abre uma solicitação pull com a alteração proposta, para que você possa revisá-la, editá-la e mesclá-la por meio do fluxo de trabalho normal de solicitação de pull.
Note
Esse recurso está em versão prévia pública limitada. Nem todos que se inscrevem para a visualização recebem acesso.
Você precisa do GitHub Advanced Security for Azure DevOps ou, se estiver usando a experiência independente, ter o GitHub Code Security for Azure DevOps habilitado, além da verificação de código configurada para o seu repositório.
GitHub Advanced Security for Azure DevOps funciona com Azure Repos. Para usar a Segurança Avançada do GitHub com repositórios do GitHub, consulte a Segurança Avançada do GitHub.
Pré-requisitos
| Categoria | Requirements |
|---|---|
| Permissões | – Para exibir um resumo de todos os alertas de um repositório: permissões de colaborador para o repositório. – Para ignorar alertas na Segurança Avançada: permissões de administrador do projeto. – Para gerenciar permissões em Segurança Avançada: Membro do grupo Administradores de Coleção de Projetos ou Segurança Avançada: gerenciar a permissão de configurações definida como Permitir. |
Para obter mais informações sobre permissões de Segurança Avançada, consulte Gerenciar permissões de Segurança Avançada.
- Verificação de código configurada para seu repositório, usando configuração padrão ou configuração avançada.
- Pelo menos um alerta de análise de código do CodeQL.
Sobre Copilot Autofixo
Copilot Autofix combina o poder de análise do CodeQL com o grande modelo de linguagem que impulsiona o agente de programação do Copilot. Quando você gera uma correção para um alerta de análise de código com suporte, o Copilot Autofix analisa o alerta e o código ao redor e, em seguida, abre um pull request que contém:
- Uma alteração de código sugerida que aborda a vulnerabilidade subjacente.
- Uma descrição do alerta que está sendo corrigido, incluindo a ID do alerta, a gravidade e um resumo da alteração.
Como a correção sugerida considera o contexto mais amplo da base de código, a alteração pode abranger mais do que a única linha em que o alerta foi gerado e pode incluir alterações em outros arquivos quando necessário.
Importante
As sugestões de correção automática do Copilot são geradas por um modelo de IA, e não há garantia de que estejam corretas, completas ou seguras. Sempre examine a solicitação de pull com cuidado, valide se ela resolve o alerta sem introduzir novos problemas e teste suas alterações antes de mesclá-las.
Idiomas com suporte
Copilot Autofixo dá suporte aos mesmos idiomas que o CodeQL analisa para verificação de código, incluindo C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby e Swift. Para obter a lista atual de idiomas compatíveis com CodeQL, consulte o suporte a idiomas e consultas.
Habilitar o autofixo de Copilot
Habilite o Copilot Autofix para cada repositório como parte das configurações de segurança do código.
- Entre na sua organização do Azure DevOps (
https://dev.azure.com/{yourorganization}). - Selecione Configurações do projeto>Repositórios e, depois, selecione o repositório que você deseja configurar.
- Na seção Segurança Avançada , abra o painel de recursos de Segurança de Código .
- Selecione a caixa de seleção Autofix para alertas de verificação de código para criar correções automáticas para alertas de verificação de código, gerados pelo agente de codificação Copilot.
- Selecione Aplicar para salvar as alterações.
O CodeQL já deve estar em execução e gerando alertas para o repositório. Para obter mais informações, consulte Configurar a verificação de código e Configurar os recursos do GitHub Advanced Security.
Gerar uma solução para um alerta
Depois de ativar o Copilot Autofix, você pode gerar uma correção a partir de qualquer alerta de verificação de código compatível.
- Selecione Repos>Advanced Security.
- Selecione a guia Verificação de código e selecione um alerta para abrir sua exibição de detalhes.
- Examine a Localização, Descrição e Recomendação do alerta para entender a constatação.
- Selecione Gerar correção.
Copilot Autofix gera a correção e abre um pull request a partir de uma ramificação chamada copilot-autofix/.... Depois que a correção é gerada, a solicitação de pull aparece em solicitações de pull relacionadas no modo de exibição de detalhes do alerta.
Revisar e mesclar a correção
A pull request que o Copilot Autofix abre se comporta como qualquer outra pull request do Azure Repos. Sua descrição resume o alerta que a correção aborda.
- Abra a pull request na seção Pull requests relacionadas do alerta ou em Repos>Pull requests.
- Examine a alteração proposta na guia Arquivos em todos os arquivos afetados.
- Edite a alteração se precisar corresponder ao seu estilo de código, convenções de nomenclatura ou requisitos de projeto.
- Aprove e conclua a solicitação de pull por meio do fluxo de trabalho de revisão normal.
Depois que a solicitação de pull se mescla e a próxima execução de verificação de código for concluída, o alerta será fechado automaticamente se a correção remover a vulnerabilidade subjacente.
Dica
Uma correção gerada é um ponto de partida, não uma resposta final. Trate a solicitação de pull como qualquer outra alteração: examine-a, teste-a e solicite revisores adicionais conforme necessário antes de mesclar.
Quando uma correção não está disponível
O Copilot Autofix não consegue gerar uma correção para todos os alertas. Uma correção pode não estar disponível quando:
- O tipo de alerta não é compatível com o Copilot Autofix no momento.
- Copilot determina que o alerta é um falso positivo.
- Uma consulta personalizada ou uma ferramenta de terceiros, em vez de CodeQL, gera o alerta.
Quando uma correção não estiver disponível, use as seções Recomendação e Exemplo do alerta para corrigi-lo ou ignorar o alerta manualmente. Para mais informações, consulte os Detalhes de alerta.