Les chercheurs trompent ChatGPT pour qu’il s’injecte rapidement

Lucas Morel

Les chercheurs en sécurité de Tenable ont découvert sept nouvelles façons d’extraire des données privées des historiques de discussion, en grande partie grâce à des injections d’invites indirectes qui exploitent les fonctionnalités par défaut de ChatGPT.

Les chatbots IA ont ouvert une nouvelle frontière de vecteurs d’attaque contre les utilisateurs et leurs données, et même les leaders de l’industrie ne sont pas à l’abri. Suite aux récentes failles découvertes dans Gemini de Google et Claude d’Anthropic, c’est désormais au tour de ChatGPT.

Les chercheurs de la société de sécurité Tenable ont découvert sept façons dont les attaquants pourraient tromper ChatGPT pour qu’il divulgue les informations privées des historiques de discussion des utilisateurs. La plupart de ces attaques sont des injections d’invites indirectes qui exploitent les outils et fonctionnalités par défaut fournis par OpenAI dans ChatGPT, notamment sa capacité à mémoriser le contexte de conversation à long terme et ses capacités de recherche sur le Web.

« Ces vulnérabilités, présentes dans le dernier modèle GPT-5, pourraient permettre aux attaquants d’exploiter les utilisateurs à leur insu dans plusieurs cas d’utilisation probables des victimes, notamment en posant simplement une question à ChatGPT », ont écrit les chercheurs dans leur rapport.

Cacher des instructions malveillantes dans les sites Web

ChatGPT peut rechercher des informations sur le Web et visiter les URL fournies par les utilisateurs pour extraire du contenu sur demande. Cependant, ce contenu n’est pas transmis directement à ChatGPT. Au lieu de cela, il passe par un modèle de langage large (LLM) intermédiaire plus limité appelé SearchGPT, qui résume ensuite le contenu pour ChatGPT.

L’utilisation d’un modèle secondaire n’ayant pas d’accès direct à la conversation de l’utilisateur apparaît comme une décision architecturale visant spécifiquement à limiter l’impact des potentielles attaques par injection rapide à partir du contenu Web.

Les chercheurs de Tenable ont déterminé que SearchGPT est en effet susceptible d’envoyer des injections rapides lors de l’analyse de pages Web, que ce soit lors de ses fonctions de navigation ou de recherche. Les attaquants pourraient, par exemple, placer des instructions malveillantes dans les commentaires de blog ou créer un site Web empoisonné qui figure en bonne place dans les résultats de recherche pour des mots clés spécifiques. ChatGPT utilise Bing pour la recherche, ont découvert les chercheurs.

De plus, pour masquer les invites malveillantes, les attaquants pourraient présenter une version propre d’un site Web aux moteurs de recherche et aux visiteurs réguliers tout en proposant une version différente aux robots d’exploration Web d’OpenAI, qui s’identifient avec une chaîne d’agent utilisateur appelée OAI-Search dans les en-têtes de requête.

« Les fournisseurs d’IA s’appuient sur des mesures telles que les scores SEO, qui ne constituent pas des limites de sécurité, pour choisir les sources auxquelles faire confiance », ont découvert les chercheurs. « En masquant l’invite dans des sites sur mesure, les attaquants pourraient cibler directement les utilisateurs en fonction de sujets spécifiques ou de tendances politiques et sociales. »

Cependant, même si un attaquant demande à SearchGPT d’exécuter une invite malveillante, sa séparation de contexte de ChatGPT signifie que le modèle n’a pas d’accès direct aux informations privées des utilisateurs. Malgré cela, les chercheurs ont trouvé un moyen d’exploiter la relation entre les deux modèles.

Injection de conversations et exfiltration furtive de données

Étant donné que ChatGPT reçoit le résultat de SearchGPT une fois que le modèle de recherche a traité le contenu, les chercheurs de Tenable se sont demandé ce qui se passerait si la réponse de SearchGPT elle-même contenait une injection rapide. En d’autres termes, pourraient-ils utiliser un site Web pour injecter une invite demandant à SearchGPT d’injecter une invite différente dans ChatGPT, créant ainsi une attaque en chaîne ? La réponse est oui, ce qui a donné naissance à une technique que Tenable a baptisée « injection de conversation ».

« En répondant aux invites suivantes, ChatGPT examinera le contexte conversationnel, verra et écoutera les instructions que nous avons injectées, sans se rendre compte que SearchGPT les a écrites », ont déclaré les chercheurs. « Essentiellement, ChatGPT s’injecte lui-même. »

Mais obtenir une invite non autorisée sur ChatGPT ne fait pas grand-chose pour un attaquant sans un moyen de recevoir la réponse du modèle, qui pourrait inclure des informations sensibles provenant du contexte de la conversation.

Une méthode pour y parvenir consiste à tirer parti de la capacité de ChatGPT à restituer le formatage du texte Markdown via son interface, qui inclut la possibilité de charger des images distantes à partir d’URL.

Les attaquants pourraient créer un dictionnaire mappant chaque lettre de l’alphabet à une image unique hébergée sur leur serveur. Ils pourraient alors demander à ChatGPT de charger une série d’images correspondant à chaque lettre de sa réponse. En surveillant l’ordre des requêtes adressées aux URL sur leur serveur Web, les attaquants pourraient alors reconstruire la réponse de ChatGPT.

Cette approche se heurte à plusieurs obstacles : Premièrement, elle est bruyante : l’interface de discussion de l’utilisateur sera inondée d’URL d’images. Deuxièmement, avant d’inclure une URL dans ses réponses, ChatGPT les transmet via un point de terminaison appelé url_safe qui effectue des contrôles de sécurité.

Ce mécanisme est conçu pour empêcher les URL malveillantes d’atteindre les utilisateurs, soit accidentellement, soit via des injections rapides, y compris les URL d’images dans le contenu au format markdown. Un chèque que url_safe effectue est pour la réputation du domaine, et il s’avère que bing.com est sur liste blanche et implicitement fiable.

Les chercheurs ont également remarqué que chaque lien Web indexé par Bing est enveloppé dans un lien de suivi unique du formulaire bing.com/ck/a?(unique_id) lorsqu’ils sont affichés dans les résultats de recherche. Lorsqu’on clique dessus, ces URL de suivi Bing uniques redirigent les utilisateurs vers les sites Web réels auxquels ils correspondent.

Cette découverte a permis aux chercheurs de créer un alphabet d’URL que ChatGPT accepterait d’inclure dans ses réponses, en créant une page unique pour chaque lettre, en indexant ces pages dans Bing et en obtenant leur adresse unique. bing.com suivi des URL.

Les chercheurs ont également découvert un bug dans la façon dont ChatGPT restitue les blocs de code dans le markdown : toutes les données qui apparaissent sur la même ligne que l’ouverture du bloc de code, après le premier mot, ne sont pas rendues. Cela peut être utilisé pour masquer du contenu, tel que les URL d’images.

Abuser de la mémoire à long terme de ChatGPT pour la persistance

ChatGPT dispose d’une fonctionnalité appelée Mémoires qui lui permet de mémoriser des informations importantes au cours de différentes sessions et conversations avec le même utilisateur. Cette fonctionnalité est activée par défaut et se déclenche lorsque les utilisateurs demandent spécifiquement à ChatGPT de se souvenir de quelque chose ou automatiquement lorsque le modèle juge que les informations sont suffisamment importantes pour être mémorisées plus tard.

Les informations enregistrées via Memories sont prises en compte lorsque ChatGPT construit ses réponses aux utilisateurs, mais fournissent également aux attaquants un moyen d’enregistrer des invites malveillantes afin qu’elles soient exécutées lors de conversations futures.

Lier tout cela ensemble

Les chercheurs de Tenable ont présenté plusieurs scénarios de validation de principe montrant comment ces techniques pourraient être combinées pour lancer des attaques : de l’intégration de commentaires dans des articles de blog qui renverraient des URL de phishing malveillantes aux utilisateurs, masquées à l’aide d’URL de suivi bing.com, à la création de pages Web qui demandent à SearchGPT d’inviter ChatGPT à enregistrer les instructions dans ses mémoires pour toujours divulguer les réponses en utilisant l’alphabet d’URL masqué par Bing combiné à la technique de masquage du contenu markdown.

« L’injection rapide est un problème connu dans le fonctionnement des LLM, et malheureusement, il ne sera probablement pas résolu systématiquement dans un avenir proche », ont écrit les chercheurs. « Les fournisseurs d’IA doivent s’assurer que tous leurs mécanismes de sécurité (tels que url_safe) fonctionnent correctement pour limiter les dommages potentiels causés par une injection rapide.

Tenable a fait part de ses découvertes à OpenAI et, même si certains correctifs ont été mis en œuvre, certaines techniques continuent de fonctionner. Les recherches de Tenable ont débuté en 2024 et ont porté principalement sur GPT-4, mais les chercheurs ont confirmé que GPT-5 est également vulnérable à certains de ces vecteurs d’attaque.