"ChatGPT Tainted Memories": LayerX scopre la prima vulnerabilità nel browser OpenAI Atlas, che consente l'iniezione di istruzioni dannose in ChatGPT

LayerX ha scoperto la prima vulnerabilità che ha colpito il nuovo browser ChatGPT Atlas di OpenAI, consentendo a malintenzionati di iniettare istruzioni dannose nella "memoria" di ChatGPT ed eseguire codice remoto. Questo exploit può consentire agli aggressori di infettare i sistemi con codice dannoso, ottenere privilegi di accesso o distribuire malware.
La vulnerabilità colpisce gli utenti di ChatGPT su qualsiasi browser, ma è particolarmente pericolosa per gli utenti del nuovo browser agentico di OpenAI: ChatGPT Atlas. LayerX ha scoperto che Atlas attualmente non include alcuna protezione anti-phishing significativa, il che significa che gli utenti di questo browser sono fino al 90% più vulnerabili agli attacchi di phishing rispetto agli utenti di browser tradizionali come Chrome o Edge.
L'exploit è stato segnalato a OpenAI secondo le procedure di divulgazione responsabile e di seguito ne viene fornito un riepilogo, omettendo tuttavia le informazioni tecniche che consentirebbero agli aggressori di replicare l'attacco.
TL/DR: Come funziona l'exploit:
LayerX ha scoperto come gli aggressori possano utilizzare una richiesta CSRF (Cross-Site Request Forgery) per "agganciare" le credenziali di accesso di ChatGPT della vittima, al fine di iniettare istruzioni dannose nella memoria di ChatGPT. Quindi, quando l'utente tenta di utilizzare ChatGPT per scopi legittimi, le memorie contaminate vengono richiamate e possono eseguire codice remoto che consente all'aggressore di ottenere il controllo dell'account utente, del browser, del codice che sta scrivendo o dei sistemi a cui ha accesso.
Sebbene questa vulnerabilità riguardi gli utenti di ChatGPT su qualsiasi browser, è particolarmente pericolosa per gli utenti del browser ChatGPT Atlas, poiché per impostazione predefinita sono connessi a ChatGPT e poiché i test LayerX indicano che il browser Atlas è fino al 90% più esposto agli attacchi di phishing rispetto a Chrome ed Edge.
Una spiegazione passo dopo passo:
- Inizialmente, l'utente effettua l'accesso a ChatGPT e conserva un cookie di autenticazione o un token nel proprio browser.
- L'utente clicca su un collegamento dannoso che lo conduce a una pagina web compromessa.
- La pagina dannosa richiama una richiesta CSRF (Cross-Site Request Forgery) per sfruttare l'autenticazione preesistente dell'utente in ChatGPT
- L'exploit CSRF inserisce istruzioni nascoste nella memoria di ChatGPT, senza che l'utente ne sia a conoscenza, "contaminando" così la memoria principale dell'LLM.
- La volta successiva che l'utente interroga ChatGPT, le memorie contaminate vengono richiamate, consentendo l'implementazione di codice dannoso che può dare agli aggressori il controllo sui sistemi o sul codice.
Utilizzo della falsificazione delle richieste tra siti (CSRF) per accedere agli LLM:
Un attacco di falsificazione di richieste tra siti (CSRF) si verifica quando un aggressore inganna il browser di un utente inducendolo a inviare una richiesta indesiderata che modifica lo stato a un sito Web in cui l'utente è già autenticato, inducendo il sito a eseguire azioni al posto di quell'utente senza il suo consenso.
L'attacco si verifica quando una vittima accede a un sito di destinazione, che ha cookie di sessione memorizzati nel browser. La vittima visita o viene reindirizzata a una pagina dannosa che invia una richiesta contraffatta (tramite un modulo, un tag immagine, un link o uno script) al sito di destinazione. Il browser include automaticamente le credenziali della vittima (cookie, intestazioni di autenticazione), quindi il sito di destinazione elabora la richiesta come se fosse stata avviata dall'utente.
Nella maggior parte dei casi, l'impatto di un attacco CSRF è mirato ad attività quali la modifica dell'indirizzo email/password dell'account, l'avvio di trasferimenti di fondi o l'effettuazione di acquisti nella sessione dell'utente.
Tuttavia, quando si tratta di sistemi di intelligenza artificiale, utilizzando un attacco CSRF, gli aggressori possono ottenere l'accesso ai sistemi di intelligenza artificiale a cui l'utente ha effettuato l'accesso, interrogarli o iniettarvi istruzioni.
Infettare la “memoria” principale di ChatGPT
La "Memoria" di ChatGPT consente a ChatGPT di ricordare dettagli utili sulle query, le chat e le attività degli utenti, come preferenze, vincoli, progetti, note di stile, ecc., e di riutilizzarli nelle chat future, in modo che gli utenti non debbano ripeterli. In effetti, agiscono come la memoria di fondo o il subconscio dell'LLM.
Una volta che gli aggressori hanno accesso al ChatGPT dell'utente tramite la richiesta CSRF, possono utilizzarlo per iniettare istruzioni nascoste nel ChatGPT, che influenzeranno le chat future.
Come il subconscio di una persona, una volta che le istruzioni corrette vengono memorizzate nella memoria di ChatGP, ChatGPT sarà costretto a eseguirle, diventando di fatto un complice malintenzionato.
Inoltre, una volta infettata la memoria di un account, l'infezione persiste su tutti i dispositivi su cui l'account viene utilizzato, sia su computer di casa che di lavoro, e su diversi browser, che si tratti di Chrome, Atlas o qualsiasi altro browser. Questo rende l'attacco estremamente "persistente" ed è particolarmente pericoloso per gli utenti che utilizzano lo stesso account sia per lavoro che per scopi personali.
Gli utenti di ChatGPT Atlas sono esposti fino al 90% in più rispetto ad altri browser
Sebbene questa vulnerabilità possa essere sfruttata contro gli utenti di ChatGPT su qualsiasi browser, gli utenti del browser ChatGPT di OpenAI sono particolarmente vulnerabili. Questo per due motivi:
- Quando utilizzi Atlas, per impostazione predefinita sei connesso a ChatGPT. Ciò significa che le credenziali di ChatGPT sono sempre memorizzate nel browser, dove possono essere prese di mira da richieste CSRF dannose.
- ChatGPT Atlas è particolarmente inefficace nel bloccare gli attacchi di phishing. Ciò significa che gli utenti di Atlas sono più esposti rispetto agli utenti di altri browser.
LayerX ha testato Atlas contro oltre 100 vulnerabilità web e attacchi di phishing. LayerX ha precedentemente condotto lo stesso test su altri browser AI come Comet, Dia e Genspark. I risultati sono stati a dir poco poco entusiasmanti:
Nei test precedenti, mentre i browser tradizionali come Edge e Chrome erano riusciti a bloccare circa il 50% degli attacchi di phishing utilizzando le loro protezioni predefinite, Comet e Genspark ne hanno bloccati solo il 7% (Dia ha generato risultati simili a quelli di Chrome).
Eseguendo lo stesso test su Atlas, i risultati sono stati ancora più evidenti:
Su 103 attacchi in-the-wild testati da LayerX, ChatGPT Atlas ne ha consentiti 97, con un tasso di fallimento del 94.2%.
Rispetto a Edge (che ha fermato il 53% degli attacchi nel test di LayerX) e Chrome (che ha fermato il 47% degli attacchi), ChatGPT Atlas è riuscito a bloccare solo il 5.8% delle pagine web dannose, il che significa che gli utenti di Atlas erano quasi il 90% più vulnerabili agli attacchi di phishing rispetto agli utenti di altri browser.
L'implicazione è che non solo gli utenti di ChatGPT Atlas sono suscettibili a vettori di attacco dannosi che possono portare all'iniezione di istruzioni dannose nei loro account ChatGPT, ma poiché Atlas non include alcuna protezione anti-phishing significativa, gli utenti di Atlas sono maggiormente esposti al rischio di esposizione.
Prova di concetto: iniezione di codice dannoso nella codifica "Vibe"
Di seguito è riportata un'illustrazione di un vettore di attacco che sfrutta questa vulnerabilità, su un utente del browser Atlas che sta eseguendo il vibe coding:
Il "vibe coding" è uno stile collaborativo in cui lo sviluppatore tratta l'IA come un partner creativo piuttosto che come un esecutore riga per riga. Invece di prescrivere una sintassi esatta, lo sviluppatore condivide l'intento e l'atmosfera del progetto (ad esempio, obiettivi architettonici, tono, pubblico, preferenze estetiche, ecc.) e altri requisiti non funzionali.
ChatGPT utilizza quindi questo brief olistico per produrre codice che funziona e corrisponde allo stile richiesto, riducendo il divario tra idee di alto livello e implementazione di basso livello. Il ruolo dello sviluppatore si sposta dalla codifica manuale alla gestione e al perfezionamento dell'interpretazione dell'IA.
Tuttavia, questa flessibilità può anche essere sfruttata in modo improprio. Un aggressore potrebbe spingere un assistente AI a generare codice che sembra una funzionalità innocua o una soluzione rapida, ma che in realtà aggiunge backdoor, sottrazioni segrete di dati o altre manomissioni.
Ad esempio, in questo caso, nulla sembra insolito dal punto di vista dell'utente, ma quando chiede a ChatGPT di scrivere codice, l'assistente potrebbe seguire la richiesta e inserire istruzioni guidate dall'aggressore. Lo script generato potrebbe, ad esempio, recuperare codice remoto (ad esempio, da un server ostile) e tentare di eseguirlo con privilegi elevati.
Per illustrare questo caso, in base alle istruzioni dannose, la chat ha aggiunto codice remoto a questo script che l'utente scaricherà inconsapevolmente sul suo computer da server.rapture:
Sebbene ChatGPT offra alcune difese contro le istruzioni dannose, l'efficacia può variare a seconda della complessità dell'attacco e del modo in cui il comportamento indesiderato è entrato nella memoria.
In alcuni casi, l'utente potrebbe visualizzare un leggero avviso; in altri, il tentativo potrebbe essere bloccato. Tuttavia, se mascherato abilmente, il codice potrebbe eludere del tutto il rilevamento. Ad esempio, questo è il sottile avviso ricevuto da questo script. Al massimo, si tratta di una nota a margine che è facile non notare nel testo:





