Skriveni prompt mogao je da iznese Gmail podatke preko ChatGPT-a

Check Point Research je opisao propust u kojem je unapred podmetnuta instrukcija u ChatGPT razgovoru mogla da navede servis da pročita podatke iz povezanog Gmail naloga i pošalje ih drugom ChatGPT nalogu. U demonstraciji je vidljivi odgovor korisniku ostao uobičajen, dok se skriveni zadatak izvršavao paralelno. OpenAI je potvrdio da je interni servis koji je omogućavao taj kanal isključen i za korisnike nije potrebno instalirati ažuriranje.
Kako je podmetnuta instrukcija pokretala skriveni zadatak
Instrukcija je morala da se nađe u razgovoru pre pokretanja napada. Check Point navodi tri moguća puta: tekst koji korisnik nalepi u čet, deljeni razgovor koji korisnik otvori ili prilagođeni GPT čija pravila za izgradnju nisu vidljiva korisniku.
Nakon toga je jedna redovna poruka mogla da aktivira dva toka rada u istom potezu, u režimu Thinking. ChatGPT je odgovarao na korisničko pitanje, a istovremeno proveravao skriveno sanduče za zadatak napadača, izvršavao ga alatima dostupnim u korisničkoj sesiji i vraćao rezultat.
U korisničkom interfejsu jedini trag mogao je biti mali natpis „Talked to Gmail“ iznad odgovora. On beleži već obavljeno čitanje i ne nudi mogućnost prihvatanja ili odbijanja radnje. Obim dostupnih podataka zavisio je od sadržaja sesije, povezanih aplikacija, alata i dozvola koje je nalog već imao.
Interni servis pretvoren u komunikacioni kanal
ChatGPT za pojedine zadatke pravi kontejner za svaki razgovor. Check Point je utvrdio da kontejneri iz odvojenih razgovora i naloga nisu imali neposrednu mrežnu vezu, ali su svi mogli da pristupe internom JFrog Artifactory servisu za preuzimanje Python i npm paketa.
Artifactory je dozvoljavao dodavanje i čitanje imenovanih svojstava uz sačuvane datoteke. Akreditivi dostupni u promenljivama okruženja, namenjeni za čitanje, bili su dovoljni i za upis tih svojstava. Istraživači su pod jednim nalogom uz keširanu datoteku upisali svojstvo chatgpt_test_ts, a zatim ga iz razgovora pod drugim nalogom pročitali zajedno sa vrednošću.
Svojstva su mogla nositi običan tekst ili Base64 sadržaj, a veći podaci mogli su se podeliti u više delova i ponovo sastaviti. Tako su metapodaci paketskog servisa postali zajednički međuspremnik između okruženja koja su trebalo da ostanu izolovana.
Šta organizacije mogu da provere
OpenAI dokumentacija navodi da podrazumevana dozvola Important actions omogućava ChatGPT-u čitanje iz aplikacije bez potvrde. Potvrda se traži za radnje sa stvarnim spoljnim posledicama, izlaganjem osetljivih podataka ili radnje koje je teško poništiti. Korisnik može uključiti opciju Always ask za traženje potvrde pri svakoj radnji.
U Business, Enterprise i Edu radnim prostorima administratori određuju koje radnje aplikacije smeju da izvršavaju i ko može da ih koristi. Aplikacije su podrazumevano uključene u Business planovima, a isključene u Enterprise i Edu okruženjima. Praktičan zaključak je da poslovni timovi treba da pregledaju povezane aplikacije, raspodelu dozvola i pravila za korišćenje deljenih razgovora i prilagođenih GPT-ova, jer podmetnuta instrukcija može zloupotrebiti pristup koji je sesija već dobila.

