Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Copilot Autofix é uma funcionalidade alimentada por IA do GitHub Advanced Security para Azure DevOps que gera sugestões de correções para alertas de análise de código. Quando o CodeQL identifica uma vulnerabilidade ou erro de programação, pode gerar uma correção para o alerta diretamente a partir do separador de Segurança Avançada. O Copilot Autofix usa o agente de codificação Copilot para produzir a correção e abre um pull request com a alteração proposta, para que possa rever, editar e fundir através do seu fluxo normal de pull request.
Note
Esta funcionalidade está em pré-visualização pública limitada. Nem todos os que se inscrevem na pré-visualização têm acesso.
Necessita de GitHub Advanced Security para Azure DevOps ou, se estiver a utilizar a experiência autónoma, ter o GitHub Code Security for Azure DevOps ativado, bem como o code scanning configurado para o repositório.
GitHub Advanced Security for Azure DevOps funciona com Repositórios do Azure. Para usar GitHub Segurança Avançada com repositórios GitHub, consulte GitHub Segurança Avançada.
Pré-requisitos
| Categoria | Requirements |
|---|---|
| Permissões | - Para visualizar um resumo de todos os alertas para um repositório: Colaborador permissões para o repositório. - Para dispensar alertas em Segurança Avançada: permissões de administrador de projeto. - Para gerir permissões em Segurança Avançada: Membro do grupo Administradores de Coleção de Projetos ou Segurança Avançada: gerir configurações permissões definidas como Permitir. |
Para obter mais informações sobre permissões de Segurança Avançada, consulte Gerenciar permissões de Segurança Avançada.
- Análise de código configurada para o seu repositório, com a configuração predefinida ou avançada.
- Pelo menos um alerta de análise de código do CodeQL.
Sobre o Copilot Autofix
O Copilot Autofix combina o poder de análise do CodeQL com o grande modelo de linguagem que alimenta o agente de codificação do Copilot. Quando gera uma correção para um alerta de leitura de código suportado, o Copilot Autofix analisa o alerta e o código circundante, depois abre um pull request que contém:
- Uma alteração de código sugerida que resolve a vulnerabilidade subjacente.
- Uma descrição do alerta a ser corrigido, incluindo o ID do alerta, gravidade e um resumo da alteração.
Como a correção sugerida considera o contexto mais amplo da sua base de código, a alteração pode abranger mais do que a única linha onde o alerta foi levantado, e pode incluir alterações a outros ficheiros quando necessário.
Importante
As sugestões do Copilot Autofix são geradas por um modelo de IA e não garantem que sejam corretas, completas ou seguras. Revise sempre cuidadosamente o pull request, valide que resolve o alerta sem introduzir novos problemas e teste as alterações antes de as fundir.
Idiomas suportados
O Copilot Autofix suporta as mesmas linguagens que o CodeQL analisa para análise de código, incluindo C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby e Swift. Para a lista atual de linguagens suportadas por CodeQL, veja Suporte a linguagem e consultas.
Ativar o Copilot Autofix
Ativa o Copilot Autofix por repositório como parte das definições de Code Security.
- Entre na sua organização do Azure DevOps (
https://dev.azure.com/{yourorganization}). - Selecione Definições do projeto>Repositórios e depois selecione o repositório que pretende configurar.
- Na secção de Segurança Avançada , abra o painel de funcionalidades de Segurança de Código .
- Selecione a caixa de verificação Correção automática para alertas de análise de código para criar correções automáticas para alertas de análise de código, geradas pelo agente de programação Copilot.
- Selecione Aplicar para guardar as alterações.
O CodeQL já deve estar a correr e a gerar alertas para o repositório. Para mais informações, consulte Configurar a varredura de código e Configurar GitHub Funcionalidades Avançadas de Segurança.
Gerar uma correção para um alerta
Depois de ativares o Copilot Autofix, podes gerar uma correção a partir de qualquer alerta de leitura de código suportado.
- Selecione Repos>Segurança Avançada.
- Selecione o separador de leitura de códigos e depois selecione um alerta para abrir a sua vista de detalhes.
- Revise a Localização, Descrição e Recomendação do alerta para compreender a conclusão.
- Selecione Gerar correção.
O Copilot Autofix gera a correção e abre um pull request a partir de um ramo com o nome copilot-autofix/.... Depois de a correção ser gerada, o pedido de pull aparece em Pedidos de pull relacionados na vista detalhada do alerta.
Reveja e integre a correção
O pull request que o Copilot Autofix abre comporta-se como qualquer outro pull request do Repositórios do Azure. A sua descrição resume o alerta que a correção aborda.
- Abra o pedido de pull na secção Pedidos de pull relacionados do alerta, ou em Repos>Pull requests.
- Revise a alteração proposta no separador Ficheiros em todos os ficheiros afetados.
- Edita a alteração se precisares de corresponder ao teu estilo de código, convenções de nomes ou requisitos do projeto.
- Aprove e complete o pedido de consulta através do seu fluxo de trabalho normal de revisão.
Após a fusão do pull request e a próxima execução de varredura de código concluída, o alerta fecha automaticamente se a correção remover a vulnerabilidade subjacente.
Dica
Uma correção gerada é um ponto de partida, não uma resposta final. Trata o pull request como qualquer outra alteração: revê-o, testa e pede revisores adicionais conforme necessário antes de fundires.
Quando não há solução disponível
O Copilot Autofix não consegue gerar uma correção para todos os alertas. Uma solução pode não estar disponível quando:
- O tipo de alerta não é atualmente suportado pelo Copilot Autofix.
- Copilot determina que o alerta é um falso positivo.
- Uma consulta personalizada ou uma ferramenta de terceiros, em vez do CodeQL, gera o alerta.
Quando uma solução não estiver disponível, use as secções de Recomendação e Exemplo do alerta para o corrigir ou descarte manualmente o alerta. Para obter mais informações, consulte Detalhes do alerta.