Google dijo que descubrió una vulnerabilidad de día cero en el motor de base de datos de código abierto SQLite utilizando su marco asistido por modelo de lenguaje grande (LLM) llamado gran sueño (anteriormente Proyecto Naptime).
El gigante tecnológico describió el desarrollo como la “primera vulnerabilidad del mundo real” descubierta utilizando el agente de inteligencia artificial (IA).
“Creemos que este es el primer ejemplo público de un agente de IA que encuentra un problema de seguridad de memoria explotable previamente desconocido en software ampliamente utilizado en el mundo real”, dijo el equipo de Big Sleep en una publicación de blog compartida con The Hacker News.
La vulnerabilidad en cuestión es un desbordamiento insuficiente del búfer de pila en SQLite, que ocurre cuando una pieza de software hace referencia a una ubicación de memoria antes del comienzo del búfer de memoria, lo que resulta en una falla o ejecución de código arbitrario.
“Esto suele ocurrir cuando un puntero o su índice se reduce a una posición antes del búfer, cuando la aritmética del puntero da como resultado una posición antes del comienzo de la ubicación de memoria válida, o cuando se utiliza un índice negativo”, según una enumeración de debilidades comunes. (CWE) descripción de la clase de error.
Tras una divulgación responsable, la deficiencia se solucionó a principios de octubre de 2024. Vale la pena señalar que la falla se descubrió en una rama de desarrollo de la biblioteca, lo que significa que se marcó antes de que se convirtiera en una versión oficial.
Google detalló por primera vez el Proyecto Naptime en junio de 2024 como un marco técnico para mejorar los enfoques automatizados de descubrimiento de vulnerabilidades. Desde entonces, ha evolucionado hasta convertirse en Big Sleep, como parte de una colaboración más amplia entre Google Project Zero y Google DeepMind.
Con Big Sleep, la idea es aprovechar un agente de inteligencia artificial para simular el comportamiento humano al identificar y demostrar vulnerabilidades de seguridad aprovechando las capacidades de razonamiento y comprensión del código de un LLM.
Esto implica el uso de un conjunto de herramientas especializadas que permiten al agente navegar a través del código base de destino, ejecutar scripts de Python en un entorno aislado para generar entradas para la fuzzing, depurar el programa y observar los resultados.
“Creemos que este trabajo tiene un tremendo potencial defensivo. Encontrar vulnerabilidades en el software incluso antes de su lanzamiento significa que no hay margen para que los atacantes compitan: las vulnerabilidades se solucionan antes de que los atacantes tengan la oportunidad de usarlas”, dijo Google.
Sin embargo, la compañía también enfatizó que estos son todavía resultados experimentales, agregando que “la posición del equipo de Big Sleep es que en la actualidad, es probable que un fuzzer específico para un objetivo sea al menos igual de efectivo (para encontrar vulnerabilidades)”.