Skip to main content

Riesgos y mitigaciones para GitHub Copilot agente en la nube

¿ agente en la nube de CopilotCómo mitigan los riesgos conocidos las protecciones de seguridad integradas?

          agente en la nube de Copilot es un agente autónomo que tiene acceso al código y puede insertar cambios en el repositorio. Esto conlleva ciertos riesgos.

Siempre que sea posible, GitHub ha aplicado las mitigaciones adecuadas. Esto proporciona agente en la nube de Copilot una base sólida de protecciones de seguridad integradas que puede complementar siguiendo las instrucciones de procedimientos recomendados.

El código no validado puede introducir vulnerabilidades

          De forma predeterminada, agente en la nube de Copilot comprueba el código que genera para problemas de seguridad y obtiene una segunda opinión sobre su código con revisión de código Copilot. Intenta resolver los problemas identificados antes de completar la solicitud de incorporación de cambios. Esto mejora la calidad del código y reduce la probabilidad del código generado al agente en la nube de Copilot introducir problemas como secretos codificados de forma rígida, dependencias no seguras y otras vulnerabilidades.
          agente en la nube de CopilotLa validación de seguridad **no requiere** una GitHub Secret Protection, GitHub Code Security, or GitHub Advanced Security licencia.

* ** CodeQL ** se usa para identificar problemas de seguridad de código.

  • Las dependencias recién introducidas se comprueban comparándolas con el GitHub Advisory Database para detectar avisos de malware y cualquier vulnerabilidad clasificada como alta o crítica de CVSS.
  •         **
            Secret scanning
            ** se usa para detectar información confidencial, como claves de API, tokens y otros secretos.
    
  • Los detalles sobre el análisis realizado y las acciones realizadas por agente en la nube de Copilot se pueden revisar en el registro de sesión. Consulte Seguimiento de las sesiones de GitHub Copilot.

Opcionalmente, puede deshabilitar una o varias de las herramientas de calidad de código y validación de seguridad usadas por agente en la nube de Copilot. Consulte Configuración de opciones para GitHub Copilot agente en la nube.

          agente en la nube de Copilot puede insertar cambios de código en el repositorio.

Para mitigar este riesgo, GitHub:

  •         **Limita quién puede desencadenar el agente.** Solo los usuarios con acceso de escritura al repositorio pueden desencadenar agente en la nube de Copilot para trabajar. Los comentarios de los usuarios sin acceso de escritura nunca son presentados al agente.
    
  •         **Limita la rama a la que el agente puede empujar.** 
            agente en la nube de Copilot solo tiene la capacidad de empujar a una sola rama. Cuando se activa el agente mencionando `@copilot` en una solicitud de incorporación de cambios existente, Copilot tiene acceso de escritura a la rama de la solicitud de incorporación de cambios. En otros casos, se crea una nueva `copilot/` rama para Copilot, y el agente solo puede hacer push a esa rama. El agente es sujeto a cualquiera de las protecciones de rama y las comprobaciones necesarias para el repositorio en uso.
    
  •         **Limita las credenciales del agente.** 
            agente en la nube de Copilot solo puede realizar operaciones de push sencillas. No puede ejecutar `git push` directamente ni otros comandos de Git.
    
  •         **Requiere revisión humana antes de la combinación.** Una persona debe revisar y fusionar las solicitudes de pull de borrador creadas por agente en la nube de Copilot. 
            agente en la nube de Copilot no puede marcar sus solicitudes de incorporación de cambios como "Listo para revisión" y no puede aprobar ni combinar una solicitud de incorporación de cambios.
    
  •         **Restringe las ejecuciones GitHub Actions de flujo de trabajo.** De forma predeterminada, los flujos de trabajo no se desencadenan hasta agente en la nube de Copilotque se revisa el código y un usuario con acceso de escritura al repositorio hace clic en el botón **Aprobar y ejecutar flujos de trabajo** . Opcionalmente, puede configurar Copilot para permitir que los flujos de trabajo se ejecuten automáticamente. Consulte [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/review-copilot-prs#managing-github-actions-workflow-runs).
    
  •         **Impide que el usuario que solicitó agente en la nube de Copilot crear una solicitud de incorporación de cambios la apruebe.** Esto mantiene los controles esperados en la regla "Aprobaciones necesarias" y la protección de rama. Consulte [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets).
    

          agente en la nube de Copilot tiene acceso a información confidencial

          agente en la nube de Copilot tiene acceso al código y a otra información confidencial, y podría filtrarla accidentalmente o debido a la entrada de usuario malintencionada.

Para mitigar este riesgo, GitHubrestringe agente en la nube de Copilotel acceso de Internet. Consulte Personalización o deshabilitación del firewall para GitHub Copilot agente en la nube.

Las indicaciones de IA pueden ser vulnerables a la inyección

Los usuarios pueden incluir mensajes ocultos en problemas asignados a agente en la nube de Copilot o comentarios que dejan para agente en la nube de Copilot como una forma de inyección de instrucciones.

Para mitigar este riesgo, GitHubfiltra los caracteres ocultos antes de pasar la entrada del usuario a agente en la nube de Copilot: Por ejemplo, el texto escrito como comentario HTML en un problema o comentario de solicitud de incorporación de cambios no se pasa a agente en la nube de Copilot.

Los administradores pueden perder la vista del trabajo de los agentes

Para mitigar este riesgo, agente en la nube de Copilot está diseñado para ser auditable y rastreable.

  •         agente en la nube de Copilot Los commits de son creados por Copilot, con el desarrollador que asignó el problema o solicitó el cambio a la solicitud pull request marcado como coautor. Esto facilita la identificación del código generado por agente en la nube de Copilot y quién inició la tarea.
    
  •         agente en la nube de Copilot tiene sus confirmaciones firmadas, por lo que aparecen como "Verified" en GitHub. Esto proporciona confianza en que las confirmaciones fueron hechas por agente en la nube de Copilot y no se han modificado.
    
  • Los registros de sesión y los eventos de registro de auditoría están disponibles para los administradores.
  • El mensaje de commit de cada commit realizado por un agente incluye un vínculo a los registros de sesión del agente, para la revisión y auditoría de código. Consulte Seguimiento de las sesiones de GitHub Copilot.