GitHub anunció el miércoles que pondrá a disposición una función llamada corrección automática de escaneo de código en versión beta pública para todos. Clientes de seguridad avanzada proporcionar recomendaciones específicas en un esfuerzo por evitar la introducción de nuevos problemas de seguridad.
«Energizado por Copiloto de GitHub y CódigoQLla reparación automática de escaneo de código cubre más del 90 % de los tipos de alerta en JavaScript, Typecript, Java y Python, y ofrece sugerencias de código que se ha demostrado que corrigen más de dos tercios de las vulnerabilidades encontradas con poca o ninguna edición», Pierre Tempel y Eric Tooley de GitHub dicho.
La capacidad, primera vista previa en noviembre de 2023, aprovecha una combinación de CodeQL, API Copilot y OpenAI GPT-4 para generar sugerencias de código. La filial propiedad de Microsoft también dijo que planea agregar soporte para más lenguajes de programación, incluidos C# y Go, en el futuro.
La reparación automática de escaneo de código está diseñada para ayudar a los desarrolladores a resolver vulnerabilidades mientras codifican generando posibles soluciones y proporcionando una explicación en lenguaje natural cuando se descubre un problema en un idioma compatible.
Estas sugerencias podrían ir más allá del archivo actual e incluir cambios en varios otros archivos y las dependencias que deberían agregarse para rectificar el problema.
«La reparación automática del escaneo de código reduce la barrera de entrada para los desarrolladores al combinar información sobre las mejores prácticas con detalles de la base del código y alertas para sugerir una posible solución al desarrollador», dijo la compañía. dicho.
«En lugar de comenzar con una búsqueda de información sobre la vulnerabilidad, el desarrollador comienza con una sugerencia de código que demuestra una posible solución para su código base».
Dicho esto, corresponde al desarrollador evaluar las recomendaciones y determinar si es la solución correcta y asegurarse de que no se desvíe de su comportamiento previsto.
GitHub también enfatizó las limitaciones actuales de las sugerencias de código de corrección automática, lo que hace imperativo que los desarrolladores revisen cuidadosamente los cambios y las dependencias antes de aceptarlos.
- Sugerir correcciones que no sean cambios de código sintácticamente correctos
- Sugerir correcciones que son código sintácticamente correcto pero que se sugieren en la ubicación incorrecta
- Sugerir correcciones que sean sintácticamente válidas pero que cambien la semántica del programa.
- Sugerir soluciones que no abordan la causa raíz o introducen nuevas vulnerabilidades.
- Sugerir soluciones que resuelvan solo parcialmente la falla subyacente.
- Sugerir dependencias no compatibles o inseguras
- Sugerir dependencias arbitrarias que conduzcan a posibles ataques a la cadena de suministro.
«El sistema tiene un conocimiento incompleto de las dependencias publicadas en el ecosistema más amplio», señaló la empresa. «Esto puede dar lugar a sugerencias que añaden una nueva dependencia de software malicioso que los atacantes han publicado bajo un nombre de dependencia estadísticamente probable».