LayerX a découvert la première vulnérabilité affectant le nouveau navigateur ChatGPT Atlas d'OpenAI, permettant à des acteurs malveillants d'injecter des instructions malveillantes dans la mémoire de ChatGPT et d'exécuter du code à distance. Cet exploit permet aux attaquants d'infecter les systèmes avec du code malveillant, de s'octroyer des privilèges d'accès ou de déployer des logiciels malveillants.

La vulnérabilité affecte les utilisateurs de ChatGPT sur tous les navigateurs, mais elle est particulièrement dangereuse pour ceux du nouveau navigateur agentique d'OpenAI : ChatGPT Atlas. LayerX a constaté qu'Atlas n'inclut actuellement aucune protection anti-hameçonnage significative, ce qui signifie que les utilisateurs de ce navigateur sont jusqu'à 90 % plus vulnérables aux attaques d'hameçonnage que les utilisateurs de navigateurs traditionnels comme Chrome ou Edge.

L'exploit a été signalé à OpenAI dans le cadre des procédures de divulgation responsable, et un résumé est fourni ci-dessous, tout en retenant les informations techniques qui permettront aux attaquants de reproduire cette attaque.

TL/DR : Comment fonctionne l'exploit :

LayerX a découvert comment des attaquants peuvent utiliser une requête CSRF (Cross-Site Request Forgery) pour s'approprier les identifiants d'accès ChatGPT de la victime et injecter des instructions malveillantes dans la mémoire de ChatGPT. Ainsi, lorsque l'utilisateur tente d'utiliser ChatGPT à des fins légitimes, les mémoires corrompues sont invoquées et peuvent exécuter du code à distance permettant à l'attaquant de prendre le contrôle du compte utilisateur, de son navigateur, du code qu'il écrit ou des systèmes auxquels il a accès.

Bien que cette vulnérabilité affecte les utilisateurs de ChatGPT sur n'importe quel navigateur, elle est particulièrement dangereuse pour les utilisateurs du navigateur ChatGPT Atlas, car ils sont, par défaut, connectés à ChatGPT, et puisque les tests LayerX indiquent que le navigateur Atlas est jusqu'à 90 % plus exposé que Chrome et Edge aux attaques de phishing.

Une explication étape par étape :

  1. Initialement, l'utilisateur est connecté à ChatGPT et détient un cookie ou un jeton d'authentification dans son navigateur.
  2. L'utilisateur clique sur un lien malveillant, le conduisant vers une page Web compromise.
  3. La page malveillante invoque une requête CSRF (Cross-Site Request Forgery) pour profiter de l'authentification préexistante de l'utilisateur dans ChatGPT
  4. L'exploit CSRF injecte des instructions cachées dans la mémoire de ChatGPT, à l'insu de l'utilisateur, « corrompant » ainsi la mémoire principale de LLM.
  5. La prochaine fois que l'utilisateur interroge ChatGPT, les mémoires corrompues sont invoquées, permettant le déploiement de code malveillant qui peut donner aux attaquants le contrôle des systèmes ou du code.

Utilisation de la falsification de requêtes intersites (CSRF) pour accéder aux LLM :

Une attaque par falsification de requête intersite (CSRF) se produit lorsqu'un attaquant trompe le navigateur d'un utilisateur pour qu'il envoie une demande involontaire de changement d'état à un site Web où l'utilisateur est déjà authentifié, ce qui amène le site à effectuer des actions en tant que cet utilisateur sans son consentement. 

L'attaque se produit lorsqu'une victime est connectée à un site cible dont le navigateur contient des cookies de session. La victime visite ou est redirigée vers une page malveillante qui envoie une requête spécialement conçue (via un formulaire, une balise d'image, un lien ou un script) au site cible. Le navigateur inclut automatiquement les identifiants de la victime (cookies, en-têtes d'authentification), de sorte que le site cible traite la requête comme si elle avait été initiée par l'utilisateur.

Dans la plupart des cas, l'impact d'une attaque CSRF vise des activités telles que la modification de l'adresse e-mail/du mot de passe du compte, le lancement de transferts de fonds ou la réalisation d'achats sous la session de l'utilisateur.

Cependant, lorsqu'il s'agit de systèmes d'IA, en utilisant une attaque CSRF, les attaquants peuvent accéder aux systèmes d'IA auxquels l'utilisateur est connecté, l'interroger ou y injecter des instructions.

Infection de la « mémoire » principale de ChatGPT

La « Mémoire » de ChatGPT permet à ChatGPT de mémoriser des informations utiles sur les requêtes, les conversations et les activités des utilisateurs, telles que leurs préférences, contraintes, projets, notes de style, etc., et de les réutiliser lors de leurs prochaines conversations afin d'éviter aux utilisateurs de se répéter. En réalité, ces informations agissent comme la mémoire d'arrière-plan ou le subconscient du LLM.

Une fois que les attaquants ont accès au ChatGPT de l'utilisateur via la requête CSRF, ils peuvent l'utiliser pour injecter des instructions cachées dans ChatGPT, qui affecteront les futurs chats. 

Comme le subconscient d'une personne, une fois que les bonnes instructions sont stockées dans la mémoire de ChatGP, ChatGPT sera obligé d'exécuter ces instructions, devenant ainsi un co-conspirateur malveillant.

De plus, une fois la mémoire d'un compte infectée, l'infection persiste sur tous les appareils utilisés – ordinateurs personnels et professionnels, et navigateurs différents – que l'utilisateur utilise Chrome, Atlas ou tout autre navigateur. Cela rend l'attaque extrêmement persistante et particulièrement dangereuse pour les utilisateurs qui utilisent le même compte à des fins professionnelles et personnelles.

Les utilisateurs de ChatGPT Atlas sont jusqu'à 90 % plus exposés que les autres navigateurs

Bien que cette vulnérabilité puisse être utilisée contre les utilisateurs de ChatGPT sur n'importe quel navigateur, les utilisateurs du navigateur ChatGPT d'OpenAI sont particulièrement vulnérables. Ceci pour deux raisons :

  1. Lorsque vous utilisez Atlas, vous êtes connecté par défaut à ChatGPT. Cela signifie que vos identifiants ChatGPT sont toujours stockés dans le navigateur, où ils peuvent être la cible de requêtes CSRF malveillantes.
  2. ChatGPT Atlas est particulièrement efficace pour bloquer les attaques de phishing. Cela signifie que les utilisateurs d'Atlas sont plus exposés que ceux des autres navigateurs.

LayerX a testé Atlas contre plus de 100 vulnérabilités Web et attaques de phishing. LayerX a déjà effectué le même test sur d'autres navigateurs IA Comme Comet, Dia et Genspark. Les résultats étaient pour le moins décevants :

Lors des tests précédents, alors que les navigateurs traditionnels tels que Edge et Chrome étaient capables d'arrêter environ 50 % des attaques de phishing grâce à leurs protections prêtes à l'emploi, Comet et Genspark n'en ont arrêté que 7 % (Dia a généré des résultats similaires à ceux de Chrome).

L’exécution du même test sur Atlas a montré des résultats encore plus frappants : 

Sur 103 attaques en conditions réelles testées par LayerX, ChatGPT Atlas en a autorisé 97, soit un taux d'échec impressionnant de 94.2 %. 

Comparé à Edge (qui a arrêté 53 % des attaques dans le test de LayerX) et Chrome (qui a arrêté 47 % des attaques), ChatGPT Atlas n'a réussi à arrêter que 5.8 % des pages Web malveillantes, ce qui signifie que les utilisateurs d'Atlas étaient près de 90 % plus vulnérables aux attaques de phishing, par rapport aux utilisateurs d'autres navigateurs.

L'implication est que non seulement les utilisateurs de ChatGPT Atlas sont sensibles aux vecteurs d'attaque malveillants qui peuvent conduire à l'injection d'instructions malveillantes dans leurs comptes ChatGPT, mais étant donné qu'Atlas n'inclut aucune protection anti-phishing significative, les utilisateurs d'Atlas sont exposés à un risque d'exposition plus élevé.

Preuve de concept : injection de code malveillant dans le codage « Vibe » 

Vous trouverez ci-dessous une illustration d'un vecteur d'attaque exploitant cette vulnérabilité, sur un utilisateur du navigateur Atlas qui code en mode Vibe :

Le « vibe coding » est un style collaboratif où le développeur traite l'IA comme un partenaire créatif plutôt que comme un simple exécutant. Au lieu de prescrire une syntaxe précise, le développeur partage l'intention et l'esprit du projet (par exemple, les objectifs architecturaux, le ton, le public cible, les préférences esthétiques, etc.) ainsi que d'autres exigences non fonctionnelles.

ChatGPT utilise ensuite ce brief holistique pour produire du code qui fonctionne et Correspond au style demandé, réduisant ainsi l'écart entre les idées de haut niveau et leur implémentation de base. Le rôle du développeur passe du codage manuel au pilotage et à l'affinement de l'interprétation de l'IA.

Cependant, cette flexibilité peut également être exploitée abusivement. Un attaquant pourrait inciter un assistant IA à générer du code semblant être une fonctionnalité inoffensive ou une solution miracle, mais qui ajoute discrètement des portes dérobées, une exfiltration de données secrète ou d'autres altérations.

Par exemple, dans ce cas, rien ne semble inhabituel du point de vue de l'utilisateur, mais lorsqu'il demande à ChatGPT d'écrire du code, l'assistant peut suivre la demande et Insérer des instructions guidées par l'attaquant. Le script généré pourrait, par exemple, récupérer du code distant (par exemple, depuis un serveur hostile) et tenter de l'exécuter avec des privilèges élevés.

Pour illustrer, dans ce cas, sur la base des instructions malveillantes, le chat a ajouté du code distant à ce script que l'utilisateur téléchargera sans le savoir sur son ordinateur à partir de server.rapture :

Bien que ChatGPT offre certaines défenses contre les instructions malveillantes, son efficacité peut varier en fonction de la sophistication de l'attaque et de la manière dont le comportement indésirable est entré dans la mémoire. 

Dans certains cas, l'utilisateur peut voir un léger avertissement ; dans d'autres, la tentative peut être bloquée. Cependant, s'il est intelligemment masqué, le code peut échapper à toute détection. Par exemple, voici l'avertissement subtil reçu par ce script. Au mieux, il s'agit d'une note marginale facile à manquer dans le texte :