PromSec: un algoritmo de IA para la optimización rápida de la generación de código seguro y funcional mediante LLM

El desarrollo de software se ha beneficiado enormemente del uso de modelos de lenguaje grandes (LLM, por sus siglas en inglés) para producir código fuente de alta calidad, principalmente porque ahora las tareas de codificación requieren menos tiempo y dinero para completarse. Sin embargo, a pesar de estas ventajas, los LLM con frecuencia producen código que, aunque funcional, con frecuencia tiene fallas de seguridad, según las investigaciones actuales y las evaluaciones del mundo real. Esta limitación es resultado del hecho de que estos modelos se entrenan en enormes volúmenes de datos de código abierto, que con frecuencia utilizan técnicas de codificación que son inseguras o ineficaces. Debido a esto, incluso aunque los LLM sean capaces de producir código que funcione, la presencia de estas vulnerabilidades podría comprometer la seguridad y confiabilidad del software que se produce, especialmente en aplicaciones que son sensibles a la seguridad.

Para solucionar este problema, se necesita un método que pueda refinar automáticamente las instrucciones dadas a los LLM para garantizar que el código producido sea seguro y funcione. Un equipo de investigadores del Instituto de Tecnología de Nueva Jersey y el Instituto de Investigación Informática de Qatar han presentado PromSec, una solución creada para abordar este problema, cuyo objetivo es optimizar las indicaciones de los LLM para generar código seguro y funcional. Funciona combinando dos partes esenciales, que son las siguientes.

  1. Eliminación de vulnerabilidades: PromSec emplea una red neuronal generativa de grafos adversarios (gGAN) para encontrar y solucionar fallas de seguridad en el código generado. Esta metodología en particular tiene como objetivo encontrar y solucionar vulnerabilidades en el código.
  1. Bucle interactivo: entre la gGAN y el LLM, PromSec establece un bucle de retroalimentación iterativo. Una vez que se encuentran y solucionan las vulnerabilidades, la gGAN crea mejores indicaciones basadas en el código actualizado, que el LLM utiliza como guía para escribir código más seguro en iteraciones posteriores. Como resultado de la interacción de los modelos, las indicaciones se mejoran en términos de funcionalidad y seguridad del código.

La aplicación del aprendizaje contrastivo dentro de la gGAN, que permite a PromSec optimizar la generación de código como una cuestión de doble objetivo, es una de sus características distintivas. Esto significa que PromSec reduce la cantidad de inferencias LLM necesarias y, al mismo tiempo, mejora la utilidad y la seguridad del código. En consecuencia, el sistema puede generar código seguro y confiable con mayor rapidez, ahorrando el tiempo y la potencia de cálculo necesarios para varias iteraciones de producción de código y análisis de seguridad.

La eficacia de PromSec se ha demostrado mediante pruebas rigurosas con conjuntos de datos de código Python y Java. Los resultados han verificado que PromSec aumenta considerablemente el nivel de seguridad del código creado, al tiempo que conserva su funcionalidad prevista. PromSec puede reparar vulnerabilidades que otras metodologías no detectan, incluso en comparación con las técnicas más avanzadas. PromSec también proporciona una reducción significativa de los gastos operativos al minimizar la cantidad de consultas LLM, la duración del análisis de seguridad y la sobrecarga total de procesamiento.

La generalización de PromSec es otro beneficio importante. PromSec puede crear indicaciones optimizadas para un LLM que se pueden usar para otro, incluso utilizando lenguajes de programación diferentes. Estas indicaciones pueden corregir vulnerabilidades que aún no se han descubierto, lo que hace de PromSec una opción confiable para una variedad de contextos de codificación.

El equipo ha resumido sus principales contribuciones de la siguiente manera.

  1. Se ha introducido PromSec, un método único que optimiza automáticamente las indicaciones de LLM para producir código fuente seguro y al mismo tiempo preservar la funcionalidad prevista del código.
  1. Se ha presentado el modelo gGAN, o red generativa antagónica de grafos. Este modelo plantea el problema de corregir los problemas de seguridad del código fuente como una tarea de optimización de doble objetivo, que equilibra la seguridad y la funcionalidad del código. Mediante una función de pérdida contrastiva única, el gGAN implementa mejoras de seguridad que preservan la semántica, lo que garantiza que el código mantenga su funcionalidad prevista y sea más seguro.
  1. Se han realizado estudios exhaustivos que demuestran cómo PromSec puede mejorar en gran medida la funcionalidad y la seguridad del código escrito por LLM. Se ha demostrado que los avisos optimizados desarrollados por PromSec se pueden aplicar a varios lenguajes de programación, abordando una variedad de enumeraciones de debilidades comunes (CWE) y la transferencia entre diferentes LLM.

En conclusión, PromSec es un gran paso adelante en el uso de los LLM para la generación segura de código. Puede aumentar significativamente la confiabilidad de los LLM para el desarrollo de software a gran escala al mitigar las fallas de seguridad en el código generado por LLM y brindar una solución escalable y asequible. Para garantizar que los LLM se puedan incorporar de manera segura y consistente en técnicas de codificación prácticas y, eventualmente, aumentar su aplicación en una variedad de industrias, este desarrollo es una gran incorporación.


Echa un vistazo a la PapelTodo el crédito por esta investigación corresponde a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo y únete a nuestro Canal de Telegram y LinkedIn Gr¡Arriba!. Si te gusta nuestro trabajo, te encantará nuestro hoja informativa..

No olvides unirte a nuestro Subreddit con más de 50 000 millones de usuarios

⏩ ⏩ SEMINARIO WEB GRATUITO SOBRE IA: ‘SAM 2 para video: cómo optimizar sus datos’ (miércoles 25 de septiembre, 4:00 a. m. a 4:45 a. m. EST)


Tanya Malhotra es una estudiante de último año de la Universidad de Estudios de Petróleo y Energía, Dehradun, que cursa BTech en Ingeniería Informática con una especialización en Inteligencia Artificial y Aprendizaje Automático.
Es una entusiasta de la ciencia de datos con un buen pensamiento analítico y crítico, junto con un gran interés en adquirir nuevas habilidades, liderar grupos y gestionar el trabajo de manera organizada.

⏩ ⏩ SEMINARIO WEB GRATUITO SOBRE IA: ‘SAM 2 para video: cómo optimizar sus datos’ (miércoles 25 de septiembre, 4:00 a. m. a 4:45 a. m. EST)

Leer más
Back to top button