Google a déclaré avoir découvert une vulnérabilité zero-day dans le moteur de base de données open Source SQLite à l’aide de son framework assisté par grand modèle de langage (LLM) appelé Grand sommeil (anciennement Projet Naptime).
Le géant de la technologie a décrit le développement comme la « première vulnérabilité du monde réel » découverte à l’aide de l’agent d’intelligence artificielle (IA).
“Nous pensons qu’il s’agit du premier exemple public d’un agent d’IA découvrant un problème de sécurité de la mémoire exploitable jusqu’alors inconnu dans des logiciels du monde réel largement utilisés”, a déclaré l’équipe de Big Sleep dans un article de blog partagé avec The Hacker News.
La vulnérabilité en question est un débordement de tampon de pile dans SQLite, qui se produit lorsqu’un logiciel fait référence à un emplacement mémoire avant le début du tampon mémoire, entraînant ainsi un crash ou l’exécution de code arbitraire.
“Cela se produit généralement lorsqu’un pointeur ou son index est décrémenté à une position avant le tampon, lorsque l’arithmétique du pointeur aboutit à une position avant le début de l’emplacement mémoire valide, ou lorsqu’un index négatif est utilisé”, selon une énumération des faiblesses communes. (CWE) description de la classe de bug.
Suite à une divulgation responsable, la lacune a été corrigée début octobre 2024. Il convient de noter que la faille a été découverte dans une branche de développement de la bibliothèque, ce qui signifie qu’elle a été signalée avant de devenir une version officielle.
Le projet Naptime a été détaillé pour la première fois par Google en juin 2024 en tant que cadre technique visant à améliorer les approches automatisées de découverte de vulnérabilités. Depuis, il a évolué vers Big Sleep, dans le cadre d’une collaboration plus large entre Google Project Zero et Google DeepMind.
Avec Big Sleep, l’idée est d’exploiter un agent d’IA pour simuler le comportement humain lors de l’identification et de la démonstration de vulnérabilités de sécurité en tirant parti des capacités de compréhension du code et de raisonnement d’un LLM.
Cela implique l’utilisation d’une suite d’outils spécialisés qui permettent à l’agent de naviguer dans la base de code cible, d’exécuter des scripts Python dans un environnement sandbox pour générer des entrées pour le fuzzing, de déboguer le programme et d’observer les résultats.
« Nous pensons que ce travail a un énorme potentiel défensif. Trouver des vulnérabilités dans un logiciel avant même sa sortie signifie que les attaquants n’ont aucune possibilité de rivaliser : les vulnérabilités sont corrigées avant même que les attaquants aient la chance de les utiliser », a déclaré Google.
La société a cependant également souligné qu’il s’agissait encore de résultats expérimentaux, ajoutant que “la position de l’équipe Big Sleep est qu’à l’heure actuelle, il est probable qu’un fuzzer spécifique à une cible serait au moins aussi efficace (pour trouver des vulnérabilités)”.