La IA generativa también es adecuada para pruebas de seguridad. Code Intelligence, especializada en esta área, acaba de utilizar un modelo de lenguaje grande para su oferta de pruebas automatizadas Spark. Su misión es evaluar superficies de ataque y sugerir código de prueba. Para ello, se basa en las capacidades de análisis y generación de código de los LLM. Según el proveedor, Spark se probó por primera vez como parte del proyecto OSS-Fuzz de Google, cuyo objetivo es garantizar la seguridad continua de los proyectos de código abierto mediante pruebas automatizadas continuas.

Índice
  1. Un impacto en la ciberseguridad
  2. Pruebas en JavaScript/TypeScript, Java, C/C++
  3. Otras contribuciones

Un impacto en la ciberseguridad

El rápido surgimiento de la IA generativa y los LLM ha sido una de las historias más importantes del año, y el impacto potencial de estas tecnologías en la ciberseguridad ha provocado debates vitales. Han generado mucha tinta debido a los riesgos de seguridad que podrían presentar, ya sea por temor a compartir información comercial confidencial con algoritmos avanzados de autoaprendizaje o a que actores maliciosos los utilicen para fortalecer considerablemente sus ataques.

Sin embargo, los chatbots/LLM de IA generativa también pueden mejorar la ciberseguridad empresarial de muchas maneras y podrían brindar una valiosa asistencia a los equipos de seguridad en la lucha contra las actividades cibercriminales. Es por eso que muchos proveedores de soluciones de seguridad han integrado esta tecnología para mejorar la eficiencia y las capacidades de sus ofertas.

Pruebas en JavaScript/TypeScript, Java, C/C++

"La fuzzing basada en retroalimentación es uno de los métodos principales utilizados por las pruebas impulsadas por IA", escribió Code Intelligence en una publicación de blog. Este enfoque de prueba se basa en algoritmos que mejoran iterativamente los casos de prueba según el grado de cobertura del código. Sin embargo, todavía se requiere experiencia humana para identificar puntos de entrada y desarrollar manualmente una prueba. Entonces, según Code Intelligence, desarrollar un conjunto de pruebas suficiente a menudo puede llevar días o semanas. El trabajo manual requerido es una barrera importante para la adopción generalizada de pruebas basadas en IA. “

CI Spark aprovecha las capacidades de análisis y generación de código de la IA generativa para automatizar la generación de pruebas de fuzzing en JavaScript/TypeScript, Java y C/C++”, dijo además el proveedor. “El conjunto completo de indicaciones que creamos guía a los LLM para identificar funciones críticas para la seguridad y generar pruebas de fuzzing de alta calidad. Las indicaciones brindan instrucciones sobre cómo generar pruebas optimizando nuestros motores de fuzzing subyacentes”, explicó la compañía. También proporcionan la información que CI Spark necesita para crear pruebas que brinden la cobertura de código más amplia. CI Spark también cuenta con un modo interactivo que permite a los usuarios interactuar rápidamente con él para corregir posibles falsos positivos y mejorar la calidad de las pruebas generadas.

Otras contribuciones

Code Intelligence enumera los otros beneficios de su solución:

- Identificar automáticamente candidatos para fuzzing, proporcionando una lista de funciones/métodos públicos que pueden usarse como puntos de entrada para estas pruebas.

- Generar automáticamente pruebas que crean una prueba de confusión para un candidato seleccionado. El modo interactivo permite dar consejos a la IA para mejorar la calidad de la prueba generada y corregir errores.

- Mejorar las pruebas existentes para aumentar la cobertura del código.

- Aprovechar las pruebas unitarias existentes para generar pruebas de fuzzing de alta calidad que puedan llamar a la API candidata que servirá como sugerencia para CI Spark. Estos proporcionan ejemplos valiosos de cómo utilizar correctamente la API en las pruebas y conducen a mejores pruebas de fuzzing.

"Los resultados obtenidos por CI Spark son alentadores y demuestran las posibles contribuciones de la IA generativa en esta área", dijo Code Intelligence. Sin embargo, el proveedor siempre busca mejorar su solución. Según su hoja de ruta, prevé equipar su solución con un sistema plug-and-play para diferentes LLM, ofrecer un ajuste más preciso del modelo para mejorar los resultados, añadir validación automática de pruebas de fuzzing, análisis estático para selecciones de candidatos, identificación de API no suficientemente probadas y soporte para múltiples idiomas.