O echipă de cercetare în domeniul securității a găsit o modalitate de a prelua orice cont ChatGPT pur și simplu determinând victima să deschidă un link de conversație partajat, conform unei dezvăluiri tehnice publicate de Parameter Labs pe 28 octombrie. Compania a raportat că OpenAI a remediat vulnerabilitatea pe 26 octombrie și a clasificat raportul ca P1, cel mai înalt nivel de severitate.

Descoperirea este o preluare rară de cont end-to-end împotriva unei platforme AI mainstream și a ajuns pe măsură ce cele mai recente evoluții AI arată cât de mult material sensibil păstrează oamenii acum în aplicațiile de chat. Parameter Labs a spus că atacul nu a necesitat nicio instalare a aplicației, niciun instrument de dezvoltator și nicio interacțiune în afară de deschiderea adresei URL ChatGPT partajate a atacatorului.

Cum a funcționat lanțul de atac

Lanțul a abuzat de două funcții obișnuite ChatGPT care păreau inofensive izolat: un grafic interactiv și sandbox-ul de previzualizare HTML. Funcția de previzualizare a ChatGPT rulează HTML generat într-un cadru restricționat pe o adresă web separată, ceea ce ar trebui să îl împiedice să atingă pagina chatgpt.com conectată din jurul său.

Descoperirea a venit din grafic, care a încărcat o bibliotecă de matematică numită MathLive. Acea bibliotecă a instalat un ascultător de mesaje în pagina principală ChatGPT pentru tastatura sa de pe ecran, dar Parameter Labs a descoperit că ascultătorul a acceptat mesaje din orice origine fără a verifica expeditorul. Un tip de mesaj acceptat ar putea înlocui aspectul tastaturii virtuale cu HTML controlat de atacator, pe care MathLive l-a inserat apoi în pagina reală ChatGPT prin innerHTML.

Scripturile introduse în acest fel nu se execută în mod normal, așa că cercetătorii și-au împachetat sarcina utilă într-un iframe folosind atributul srcdoc. Deoarece pagina principală ChatGPT a creat acel cadru fără un sandbox, browserul a tratat codul din interiorul ei ca un conținut chatgpt.com autentic cu acces la pagina părinte.

Evadarea politicii de securitate a conținutului

Politica de securitate a conținutului ChatGPT încă bloca scripturile inline, dar Parameter Labs a găsit o lacună: politica permitea scripturi de pe YouTube. Cercetătorii au descoperit că punctul final oEmbed al YouTube a reflectat un parametru de apel invers JSONP nevalid în răspunsul său de eroare înainte de validare, permițându-le să predea JavaScript executabil la un răspuns pe care browser-ul l-ar încărca cu bucurie ca script.

În acel moment, echipa avea JavaScript arbitrar care rulează cu identitatea chatgpt.com în sesiunea de conectare a victimei. Parameter Labs a fost explicit cu privire la ceea ce înseamnă asta în practică: sarcina utilă nu se limita la modificarea paginii sau afișarea unei alerte - putea apela direct API-urile autentificate ChatGPT ca victimă. În timpul testării, sarcina utilă ar putea enumera lista de conversații a victimei, poate prelua conținutul conversațiilor private care nu au fost niciodată partajate cu atacatorul și să trimită acele date către un server extern. Browserul a identificat fiecare acțiune ca provenind de la chatgpt.com însuși, dând victimei niciun semnal vizibil că ceva nu este în regulă.

Un singur link a fost suficient

Ceea ce a transformat un bug de cercetare într-o armă practică a fost livrarea. Cercetătorii au pus graficul și un bloc HTML care poate fi previzualizat într-o singură conversație obișnuită, l-au publicat cu caracteristica obișnuită de partajare a ChatGPT și au trimis linkul /share/ rezultat pe aceleași rute pe care le-ar folosi oricine: e-mail, chat, un bilet de asistență sau o postare socială.

În cea mai stabilă reproducere, victima a trebuit să facă clic o dată pe butonul de previzualizare al ChatGPT după deschiderea linkului. O versiune ulterioară a marcat blocul HTML ca previzualizabil, așa că ChatGPT l-a deschis automat și singura acțiune necesară a victimei a fost accesarea adresei URL. Echipa a reprodus acea cale complet automată de trei ori într-un cont separat, inclusiv după o reîmprospătare tare, sarcina utilă declanșând aproximativ 4,5 secunde după încărcarea paginii.

Deoarece graficul și previzualizarea s-au încărcat independent, sarcina utilă se putea declanșa ocazional înainte ca MathLive să fie gata. Versiunea finală și-a reîncercat mesajele pentru o perioadă limitată pentru a gestiona acea condiție de cursă.

Dezvăluire și remediere

Parameter Labs a raportat problema către OpenAI, care a trimis o remediere pe 26 octombrie și a evaluat raportul P1. Dezvăluirea vine pe fondul unei serii mai ample de cercetări privind securitatea platformei AI; la începutul acestei săptămâni, The Register a raportat erori în cinci instrumente pentru dezvoltatori AI, unele încă nepatificate la publicare.

Lecția se generalizează dincolo de o singură bibliotecă. Aplicațiile moderne de chat compun componente terță parte, previzualizări în sandbox și canale de mesaje permisive într-o singură pagină autentificată, iar orice receptor postMessage neverificat poate deveni puntea dintre ele. Pentru utilizatori, îndrumările practice sunt neschimbate față de securitatea web clasică: tratați linkurile către conversații AI partajate așa cum tratați orice alt link nesolicitat, deoarece platforma nu mai poate promite că deschiderea unuia este inofensivă.

La rândul său, clasificarea OpenAI P1 și răspunsul rapid sugerează că compania tratează atacurile de sesiuni bazate pe browser pe chatgpt.com ca amenințări de prim nivel. Incidentul este, de asemenea, o reamintire a cât de multă valoare se concentrează în aceste conturi acum când utilizatorii stochează documente de lucru, întrebări medicale și proiecte private în istoricul de chat - exact conținutul pe care Parameter Labs a dovedit că un atacator l-ar fi putut extrage.

---

Rămâneți înaintea AI

Obțineți cele mai recente știri, analize și descoperiri despre AI - toate într-un singur loc.

Citiți mai multe știri AI →