Un expert en sécurité a récemment révélé une vulnérabilité inquiétante dans ChatGPT, permettant à des hackers d’exfiltrer discrètement des données personnelles grâce à sa mémoire persistante. Après avoir attiré l’attention d’OpenAI, il a mis au point une démonstration percutante, mettant en lumière la nécessité d’une vigilance accrue en matière de sécurité.
Oops: « Le code est TrustNoAI. » C’est une phrase qu’un hacker éthique a récemment utilisée lors d’une démonstration de l’exploitation de ChatGPT pour voler des données. Cela pourrait être un code que nous devrions tous adopter. Il a découvert comment des hackers pouvaient tirer parti de la mémoire persistante du LLM pour exfiltrer les données de n’importe quel utilisateur en continu.
Le chercheur en sécurité Johann Rehberger a récemment trouvé un moyen d’utiliser ChatGPT comme un logiciel espion. Il l’a signalé à OpenAI, mais l’entreprise l’a rejeté, considérant cela comme un « problème de sécurité » plutôt qu’un problème de sécurité avant de fermer son ticket.
Ne se laissant pas décourager, Rehberger s’est mis au travail pour créer une preuve de concept et a ouvert un nouveau ticket. Cette fois-ci, les développeurs d’OpenAI ont prêté attention. Ils ont récemment émis un correctif partiel, donc Rehberger a pensé qu’il était enfin sûr de divulguer la vulnérabilité. L’attaque, que Rehberger a nommée « SpAIware », exploite une fonctionnalité relativement nouvelle de l’application ChatGPT pour macOS.
Jusqu’à récemment, la mémoire de ChatGPT était limitée à la session de conversation. Autrement dit, il se souvenait de tout ce dont il avait discuté avec l’utilisateur, peu importe la durée de la conversation ou le nombre de changements de sujet. Une fois que l’utilisateur démarre une nouvelle discussion, la mémoire se réinitialise. Les conversations sont sauvegardées et peuvent être reprises à tout moment avec ces souvenirs enregistrés intacts, mais elles ne traversent pas de nouvelles sessions.

En février, OpenAI a commencé les tests bêta de la mémoire à long terme (ou mémoire persistante) dans ChatGPT. Dans ce cas, ChatGPT « se souvient » de certains détails d’une conversation à l’autre. Par exemple, il pourrait se souvenir du nom, du sexe ou de l’âge de l’utilisateur, si ceux-ci sont mentionnés, et porter ces souvenirs à une nouvelle discussion. OpenAI a élargi cette fonctionnalité ce mois-ci.
Rehberger a découvert qu’il pouvait créer une injection de commande contenant une commande malveillante qui envoie les invites de discussion de l’utilisateur et les réponses de ChatGPT à un serveur distant. De plus, il a codé l’attaque pour que le chatbot l’enregistre dans sa mémoire à long terme. Ainsi, chaque fois que la cible utilise ChatGPT, l’ensemble de la conversation est envoyé au serveur malveillant, même après avoir commencé de nouveaux threads de discussion. L’attaque est presque invisible pour l’utilisateur.
« Ce qui est vraiment intéressant, c’est que c’est maintenant persistant, » a déclaré Rehberger. « L’injection de prompt a inséré une mémoire dans le stockage à long terme de ChatGPT. Lorsque vous commencez une nouvelle conversation, elle exfiltre en fait encore les données. »
Rehberger montre également que l’attaquant n’a besoin d’aucun accès physique ou distant pour effectuer l’injection de prompt. Un hacker peut encoder la charge utile dans une image ou un site web. L’utilisateur doit simplement demander à ChatGPT de scanner le site web malveillant.
Heureusement, l’attaque ne fonctionne pas sur la version web du chatbot. De plus, Rehberger n’a testé cette exploitation que sur la version macOS de l’application ChatGPT. Il n’est pas clair si ce défaut existait dans d’autres versions de l’application.
OpenAI a partiellement corrigé ce problème, car la dernière mise à jour interdit au bot d’envoyer des données à un serveur distant. Cependant, ChatGPT acceptera toujours des invites provenant de sources non fiables, ce qui signifie que les hackers peuvent toujours injecter des prompts dans la mémoire à long terme. Les utilisateurs vigilants devraient utiliser l’outil de mémoire de l’application, comme l’illustre Rehberger dans sa vidéo, pour vérifier les entrées suspectes et les supprimer.
