agente de nuvem Copilot é um agente autônomo que tem acesso ao seu código e pode enviar alterações por push para o repositório. Isso implica em certos riscos.
Sempre que possível, GitHub aplicou mitigações apropriadas. Isso fornece agente de nuvem Copilot uma base forte de proteções de segurança internas que você pode complementar seguindo as diretrizes de práticas recomendadas.
Código não avaliado pode introduzir vulnerabilidades
Por padrão, agente de nuvem Copilot verifica o código gerado para problemas de segurança e obtém uma segunda opinião sobre seu código com Revisão de código do Copilot. Ele tenta resolver problemas identificados antes de concluir a pull request. Isso melhora a qualidade do código e reduz a probabilidade do código gerado pela agente de nuvem Copilot introdução de problemas como segredos codificados, dependências inseguras e outras vulnerabilidades.
agente de nuvem CopilotA validação de segurança **não requer** uma GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security licença.
CodeQL
** é usado para identificar problemas de segurança de código.
- As dependências recém-introduzidas são verificadas em relação aos GitHub Advisory Database avisos de malware e a quaisquer vulnerabilidades altas ou críticas avaliadas pelo CVSS.
Secret scanning
** é usado para detectar informações confidenciais, como chaves de API, tokens e outros segredos.
- Detalhes sobre a análise realizada e as ações tomadas por agente de nuvem Copilot podem ser revisados no log de sessão. Consulte Acompanhando as sessões do GitHub Copilot.
Opcionalmente, você pode desabilitar uma ou mais ferramentas de validação de segurança e qualidade de código usadas por agente de nuvem Copilot. Consulte Configurações de GitHub Copilot agente de nuvem.
agente de nuvem Copilot pode enviar alterações de código por push para o repositório
Para atenuar esse risco, GitHub:
- Define quem pode ativar o agente. Somente usuários com acesso de escrita ao repositório podem acionar agente de nuvem Copilot para funcionar. Comentários de usuários sem acesso para gravação nunca são apresentados ao agente.
-
**Limita a ramificação para o qual o agente pode fazer push.** agente de nuvem Copilot só pode fazer push para uma única ramificação. Quando o agente é disparado ao mencionar `@copilot` em uma solicitação de pull existente, Copilot tem acesso de gravação à ramificação da solicitação de pull. Em outros casos, uma nova `copilot/` ramificação é criada para Copilote o agente só pode realizar push para essa ramificação. O agente também está sujeito a quaisquer proteções de ramificações e verificações necessárias para o repositório de trabalho. - Limita as credenciais do agente.
agente de nuvem Copilot só pode executar operações de push simples. Ele não pode executar
git pushnem outros comandos Git diretamente. - Requer revisão humana antes da mesclagem. As solicitações de pull de rascunho criadas por agente de nuvem Copilot devem ser revisadas e mescladas por um humano. agente de nuvem Copilot não pode marcar suas solicitações de pull como "Pronto para revisão" e não pode aprovar ou mesclar uma solicitação de pull.
-
**Restringe as execuções de fluxo de GitHub Actions trabalho.** Por padrão, os fluxos de trabalho não são disparados até que o código do agente de nuvem Copilot seja revisado e um usuário com acesso de gravação ao repositório clique em **Aprovar e executar fluxos de trabalho**. Opcionalmente, você pode configurar Copilot para permitir que os fluxos de trabalho sejam executados automaticamente. Consulte [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/review-copilot-prs#managing-github-actions-workflow-runs). - Impede que o usuário que pediu agente de nuvem Copilot para criar uma solicitação de pull aprove-a. Isso mantém os controles esperados na regra "Aprovações necessárias" e na proteção de ramificações. Consulte Regras disponíveis para conjuntos de regras.
agente de nuvem Copilot tem acesso a informações confidenciais
agente de nuvem Copilot tem acesso ao código e a outras informações confidenciais e pode vazá-lo, acidentalmente ou devido à entrada mal-intencionada do usuário.
Para atenuar esse risco, GitHubrestringe agente de nuvem Copiloto acesso à Internet. Consulte Personalizando ou desabilitando o firewall para o agente de nuvem do GitHub Copilot.
Os comandos de IA podem ser vulneráveis à injeção
Os usuários podem incluir mensagens ocultas em problemas atribuídos agente de nuvem Copilot ou comentários deixados agente de nuvem Copilot como uma forma de injeção de prompt.
Para atenuar esse risco, GitHubfiltra caracteres ocultos antes de passar a entrada do usuário para agente de nuvem Copilot: Por exemplo, o texto inserido como um comentário HTML em um problema ou comentário de solicitação de pull não é passado para agente de nuvem Copilot.
Os administradores podem perder de vista o trabalho dos agentes
Para atenuar esse risco, agente de nuvem Copilot foi projetado para ser auditável e rastreável.
-
As confirmações de agente de nuvem Copilotsão feitas por Copilot, com o desenvolvedor que atribuiu a tarefa ou solicitou a alteração na solicitação de pull marcado como coautor. Isso facilita a identificação do código gerado por agente de nuvem Copilot e quem iniciou a tarefa. - Os commits de agente de nuvem Copilot são assinados, então eles aparecem como "Verificado" em GitHub. Isso fornece confiança de que os commits foram feitos por agente de nuvem Copilot e não foram alterados.
- Os logs de sessão e os eventos de log de auditoria estão disponíveis para os administradores.
- A mensagem de commit de cada commit criado pelo agente inclui um link para os registros da sessão do agente, para revisão de código e auditoria. Consulte Acompanhando as sessões do GitHub Copilot.