La mayoría de las empresas conocen las ventajas de productividad que pueden aportar las herramientas de codificación de inteligencia artificial. Sin embargo, muchos se preocupen de que el uso incorrecto en su empresa, como mensajes malintencionados o desarrolladores que aceptan sugerencias de inteligencia artificial sin revisión, provocará que los estándares de su código base estén en peligro.
Puede mitigar estos riesgos configurando el entorno GitHub y la cultura laboral para una gobernanza eficaz. Una ventaja importante de GitHub Copilot es que se integra en la plataforma GitHub, que ya contiene una variedad de características para la gobernanza de código de nivel empresarial.
Requerir solicitudes de incorporación de cambios y revisiones
Los desarrolladores y los actores malintencionados nunca deberían poder aplicar unilateralmente sugerencias de inteligencia artificial sin evaluar ni incorporar directamente en bases de código sensibles. Es recomendable exigir una solicitud de extracción aprobada antes de que los usuarios puedan fusionar código en repositorios de producción y otras ramas importantes.
Para ello, cree un conjunto de reglas:
-
Identifique las organizaciones o repositorios que contienen los código base que desea proteger y aplique una propiedad personalizada a ellos. Esto le permitirá dirigirse fácilmente a esos recursos en un conjunto de reglas. Consulta Administración de propiedades personalizadas para repositorios de la organización o Gestión de propiedades personalizadas para organizaciones.
Como alternativa, puede agregar estos recursos protegidos manualmente a un conjunto de reglas o dirigirse a ellos en función de una convención de nomenclatura.
-
Cree un conjunto de reglas de rama para su empresa. Consulte Imposición de la gobernanza del código en la empresa con conjuntos de reglas.
- Habilite al menos la regla Requerir una solicitud de incorporación de cambios antes de combinar y Bloquear los empujes forzados. En la regla "Requerir una solicitud de incorporación de cambios", asegúrese de que necesita al menos una aprobación.
- Habilite otras reglas si es necesario. Por ejemplo, si le preocupa que los actores malintencionados secuestren los pull requests, asegúrese de descartar aprobaciones de pull requests obsoletas cuando se inserten nuevos commits.
-
Anime a los administradores de repositorios a configurar archivos CODEOWNERS para archivos específicos en repositorios. Esto solicitará automáticamente una revisión de los propietarios del código cuando se modifiquen esos archivos.
A continuación, puede volver al conjunto de reglas y habilitar la regla Requerir revisión por los propietarios de código.
-
Anime a los propietarios de la organización y a los administradores de repositorios a crear conjuntos de reglas más específicos, ya que es probable que tengan más conocimiento de los requisitos para su propio código.
Estos conjuntos de reglas se agregarán a la línea base que defina en el nivel empresarial, pero nunca la invalidará.
2. Probar el código
Buenas prácticas de DevOps garantizan que el código se pruebe automáticamente antes de fusionarse e implementarse, para minimizar los riesgos de que los errores entren en las ramas predeterminadas y aparezcan en entornos de producción.
- Habilite GitHub Actions u otro sistema de CI/CD.
- Anime a los desarrolladores a escribir pruebas para todas las características e integrar las pruebas en los flujos de trabajo de GitHub Actions.
- Anime a los propietarios de organizaciones o de repositorios a crear conjuntos de reglas y añadir flujos de trabajo importantes a requerir que los flujos de trabajo se aprueben antes de fusionar la regla.
3. Examinar código para detectar vulnerabilidades
Copilot ya está diseñado para evitar introducir vulnerabilidades en el código base. Por ejemplo, el código creado por Agente de programación Copilot se examina automáticamente para los patrones y secretos vulnerables, como las claves de API.
Sin embargo, es recomendable examinar periódicamente todo el código para detectar vulnerabilidades y secretos, y evitar que los desarrolladores introduzcan vulnerabilidades en primer lugar.
- Como punto de partida, aplique e imponga la GitHub configuración de seguridad recomendada en tus organizaciones. Se trata de una colección de opciones de habilitación para características de seguridad que incluyen code scanning, secret scanning, y protección de inserción de secretos. Consulte Creación de una configuración de seguridad personalizada.
- A medida que obtenga más información sobre sus necesidades, cree configuraciones personalizadas o aplique opciones pormenorizadas en el nivel de repositorio.
- Para aplicar code scanning en las solicitudes de incorporación de cambios, vuelva al conjunto de reglas y habilite la regla Requerir resultados de code scanning.
4. Crear directrices para Copilot
Para mejorar en primer lugar la calidad de las sugerencias de Copilot, debe crear instrucciones personalizadas. Estas instrucciones agregan contexto a todas las indicaciones que indican a Copilot que sigan los estándares de codificación de la empresa.
- Para establecer una buena línea de base, cree instrucciones personalizadas en el nivel de organización. Estos pueden ser estándares de alto nivel que probablemente se apliquen a cualquier repositorio. Sin embargo, tenga en cuenta que estas instrucciones solo se aplican en el sitio web GitHub . Consulte Adición de instrucciones personalizadas de la organización para GitHub Copilot.
- Para una cobertura más completa, anime a los desarrolladores y administradores de repositorios a escribir instrucciones personalizadas para repositorios específicos. Estas se aplican en más lugares que las instrucciones de la organización y pueden ir más detalladamente sobre cada proyecto y sus requisitos. Consulte Agregar instrucciones personalizadas del repositorio para GitHub Copilot.
5. Fomentar procedimientos recomendados
Con barreras de protección sólidas, los desarrolladores ya deben estar habilitados para usar la inteligencia artificial de forma eficaz. Sin embargo, es importante proporcionar formación sobre las herramientas de inteligencia artificial y crear una cultura en la que se fomentan los procedimientos recomendados, en lugar de aplicarlos.
- Comunique las configuraciones de gobernanza y las expectativas de su empresa acerca de cómo deberían los desarrolladores utilizar Copilot. Por ejemplo, si se debe revisar exhaustivamente todo el trabajo del agente, asegúrese de que este proceso se establece y se comunica.
- Cree recursos de incorporación, como documentación interna o vídeos. Para un punto de partida, comparta recursos existentes como Procedimientos recomendados para usar GitHub Copilot y Guía de GitHub Copilot Chat.
- Ofrezca formación y soporte técnico continuos, como talleres. En lanzamientos exitosos, muchas empresas identifican "campeones" que pueden entrenar a otros usuarios sobre cómo usar Copilot de forma eficaz.
6. Plan para el peor
Incluso con los límites de protección más estrictos, siempre es posible que se combine código vulnerable o propenso a errores, independientemente de si los desarrolladores usan herramientas de INTELIGENCIA ARTIFICIAL.
Para prepararse para estos escenarios, debe planear cómo abordar los problemas y comunicar este plan con los desarrolladores. Por ejemplo:
- Revierta una solicitud de incorporación de cambios incorrecta y revierta una implementación.
- Cree una publicación de discusión que analice lo que salió mal y cómo evitarlo en el futuro.
- Compruebe los registros de auditoría para ver elementos como omisión del conjunto de reglas, permisos incorrectos o cambios en la configuración de gobernanza.
7. Comprobar la calidad del código
Si tiene confianza en su modelo de gobernanza, pero todavía le preocupa que Copilot reduzca la calidad de su código base a lo largo del tiempo, puede evaluar esto durante el despliegue. Si está habilitado, GitHub Code Quality proporciona métricas sobre la salud del código de tus repositorios. Consulte Acerca de la calidad del código de GitHub.
Pasos siguientes
Comprenda cómo su empresa puede usar el registro de auditoría para supervisar los cambios en la configuración y la asignación de licencias. Consulte Revisión de los registros de auditoría de GitHub Copilot Business.