El asistente de codificación impulsado por IA de GitHub, Copiloto de GitHubpuede sugerir código inseguro cuando el código base existente del usuario contiene problemas de seguridad, según la empresa de seguridad desarrolladora Snyk.
GitHub Copilot puede replicar problemas de seguridad existentes en el código, dijo Snyk en una publicación de blog publicada el 22 de febrero. «Esto significa que la deuda de seguridad existente en un proyecto puede hacer que los desarrolladores inseguros que usan Copilot sean aún menos seguros», dijo la compañía. Sin embargo, es menos probable que GitHub Copilot sugiera código inseguro en proyectos sin problemas de seguridad, ya que tiene un contexto de código menos inseguro del que extraer.
IA generativa asistentes de codificación como Copiloto de GitHub, Código de Amazon Whisperery ChatGPT Ofrecen un importante avance en productividad y eficiencia del código, afirmó Snyk. Pero estas herramientas no comprenden la semántica del código y, por tanto, no pueden juzgarlo.
GitHub Copilot genera fragmentos de código basados en patrones y estructuras que ha aprendido de un vasto repositorio de código existente. Si bien este enfoque tiene ventajas, también puede tener un inconveniente evidente en el contexto de la seguridad, afirmó Snyk. Las sugerencias de código de Copilot pueden replicar inadvertidamente vulnerabilidades de seguridad existentes y malas prácticas presentes en archivos vecinos.
Para mitigar la duplicación de problemas de seguridad existentes en el código generado por los asistentes de IA, Snyk recomienda los siguientes pasos:
- Los desarrolladores deben realizar revisiones manuales del código.
- Los equipos de seguridad deben implementar una barrera de seguridad SAST (pruebas de seguridad de aplicaciones de seguridad), incluidas políticas.
- Los desarrolladores deben cumplir con las pautas de codificación segura.
- Los equipos de seguridad deben brindar capacitación y concientización a los equipos de desarrollo y priorizar y clasificar la acumulación de problemas por equipo.
- Los equipos ejecutivos deberían exigir barandillas de seguridad.
Los datos de Snyk dicen que el proyecto de software comercial promedio tiene un promedio de 40 vulnerabilidades en el código propio, y casi un tercio de ellas son problemas de alta gravedad. «Este es el campo de juego en el que las herramientas de generación de IA pueden duplicar código utilizando estas vulnerabilidades como contexto», dijo Snyk. Los problemas más comunes que Snyk ve en proyectos comerciales son secuencias de comandos entre sitios, recorrido de ruta, inyección de SQL y secretos y credenciales codificados.
No se pudo contactar a GitHub el miércoles por la tarde para responder a los comentarios de Snyk sobre GitHub Copilot.
Copyright © 2024 IDG Communications, Inc.