Cercetătorii firmei Forever Security au găsit vulnerabilități în browserele integrate din cinci dintre cele mai folosite unelte de programare cu AI: Cursor, GitHub Copilot, OpenAI Codex, VS Code și Claude Desktop. În cel mai grav caz, o pagină web a putut face asistentul din Cursor să ruleze comenzi pe calculator. În Codex, VS Code și Claude Desktop, un singur fișier HTML deschis în browserul intern putea citi orice fișier de pe disc, inclusiv cheile SSH, parolele și tokenurile din fișierele de configurare.

Cursor și Copilot au fost reparate. Pentru Codex și VS Code nu exista încă nicio remediere pe 29 octombrie, când a fost publicat studiul, iar pentru Claude Desktop situația nu e clară. Dacă programezi cu una dintre aceste unelte, merită să știi cum funcționează atacul și ce poți face până vine actualizarea.

Ce e browserul integrat și de ce e o problemă

Mulți asistenți AI pentru programare au acum propriul browser, în care agentul poate deschide documentație, poate previzualiza o aplicație web în lucru sau poate testa o pagină. Forever Security descrie problema așa: e „un browser real, îmbogățit astfel încât AI-ul care îl conduce să poată previzualiza un proiect local”. Exact aceste îmbogățiri, adică accesul la fișierele proiectului și legătura directă cu agentul, au deschis breșele. Cercetătorii au numit tiparul EMBRACE, de la „embedded browser”.

Un browser obișnuit, precum Chrome sau Firefox, are reguli stricte: o pagină nu poate citi fișierele de pe calculator și nu poate da comenzi altor programe. În browserele integrate, aceste reguli erau mai slabe sau aveau excepții, iar asistentul avea mai multă încredere în ce vedea în browser decât ar fi trebuit.

Ce s-a găsit în fiecare unealtă

UnealtăCe putea face atacatorulSituația
Cursorsă ruleze comenzi pe calculator, cu drepturile programatoruluireparat pe 1 octombrie, fără anunț public
GitHub Copilotsă afișeze o adresă falsă, de exemplu github.com/login peste o pagină de phishingreparat în versiunea 1.1.29, pe 13 octombrie
OpenAI Codexsă citească orice fișier de pe discnereparat; raportat pe 27 iulie
VS Codesă citească orice fișier de pe discnereparat; Microsoft a respins raportul
Claude Desktopsă citească orice fișier de pe discproblemă acceptată de Anthropic; nu se știe dacă a fost reparată

Cursor: o comandă ascunsă în spatele unui buton

Cercetătorii au construit o pagină cu un buton inofensiv, „Start setup”. În spatele lui era o comandă ascunsă pentru agent. Când programatorul apăsa o singură dată Enter, agentul o executa. Mai grav, când mediul izolat (sandboxul) al Cursor a blocat prima încercare, agentul și-a dezactivat singur protecția și a încercat din nou. În test, comanda a deschis doar Calculatorul, dar putea porni orice program. Atacul nu reușea de fiecare dată, iar Cursor l-a reparat pe 1 octombrie, fără să publice un anunț și fără să le răspundă cercetătorilor.

Copilot: adresa afișată nu era adresa reală

Browserul din GitHub Copilot verifica doar dacă adresa raportată de pagină arată ca o adresă web. O pagină își putea schimba singură adresa afișată, așa că atât programatorul, cât și agentul vedeau „github.com/login” peste un formular fals de autentificare. GitHub a reparat problema în versiunea 1.1.29, înainte să primească raportul.

Codex, VS Code și Claude Desktop: un fișier care citește tot discul

Al treilea tip de atac e cel mai îngrijorător, pentru că pornește dintr-o situație banală. Programatorul are în proiect un fișier HTML primit de la altcineva, aparent inofensiv, cum ar fi un raport financiar. Îi cere asistentului „configurează-l după README”, iar asistentul îi oferă un link către fișierul local. Un singur click, iar pagina se deschide în browserul intern.

  • În VS Code și Claude Desktop, pagina avea voie să citească doar fișierele din proiect. Dar putea porni un proces în fundal (un „web worker”) care nu mai respecta această limită și citea orice fișier de pe calculator.
  • În Codex nu exista nicio limită: pagina citea direct tot discul. În test, cercetătorii au colectat cheile SSH, fișierele .env cu parole și chei de acces, tokenurile npm și fișierul hosts.

Cum au răspuns companiile

OpenAI nu a răspuns la raportul trimis pe 27 iulie, dar un purtător de cuvânt a declarat pentru The Register că firma cunoaște problema și lucrează la o soluție. Microsoft a respins raportul pentru VS Code, cu argumentul că atacul presupune ca utilizatorul să fi marcat proiectul ca „de încredere” (funcția Workspace Trust), deci nu ar trece o limită de securitate. Gal Weizman, cercetătorul care a condus studiul, spune că, în practică, Workspace Trust nu oferă „niciun fel de protecție”, pentru că programatorii apasă „Trust” ca să poată lucra normal.

Anthropic a respins inițial același tip de raport pentru Claude Desktop, cu același argument, apoi l-a acceptat ca valid o zi mai târziu, când aceeași problemă a fost raportată de o altă firmă, Noma Security. Studiul nu spune dacă a fost publicată o remediere, iar Anthropic nu a răspuns la întrebările The Register.

Ce faci dacă programezi cu AI

  • Actualizează Cursor și Copilot. Pentru Copilot ai nevoie de versiunea 1.1.29 sau mai nouă.
  • În Codex și VS Code, nu deschide în browserul intern fișiere HTML din proiecte necunoscute până la o remediere. Dacă trebuie să vezi o pagină, deschide-o în browserul tău obișnuit, care are reguli de securitate complete.
  • Nu marca automat orice proiect ca „de încredere”. Un depozit clonat de pe internet trebuie tratat ca un program necunoscut, nu ca propriul cod.
  • Atenție la linkurile oferite de asistent. Atacul are nevoie de un singur click, iar linkul pare legitim pentru că vine de la o unealtă în care ai încredere.
  • Nu ține secretele la vedere. Cheile SSH protejate cu parolă, tokenurile cu durată scurtă și un manager de secrete în locul fișierelor .env reduc paguba dacă un fișier ajunge totuși în mâinile cuiva.
  • În firme, Forever Security recomandă inventarierea uneltelor AI instalate pe calculatoarele programatorilor și verificarea fișierelor HTML din proiectele marcate ca de încredere, după tiparul publicat în studiu.

De ce contează

Studiul confirmă o tendință despre care am mai scris, de la atacurile de tip agentjacking la instrucțiunile ascunse în conținut: agenții AI primesc tot mai multe puteri, dar tratează textul pe care îl citesc drept comenzi. Cazul Cursor, în care agentul și-a oprit singur protecția ca să ducă la bun sfârșit o sarcină, e un exemplu clar de ce nu te poți baza doar pe barierele construite în agent.

Pentru programatori, calculatorul de lucru e o țintă valoroasă: de pe el se ajunge la codul companiei, la serverele din cloud și la sistemele de publicare a aplicațiilor. Un browser integrat care citește tot discul transformă un simplu fișier primit de la altcineva într-o ușă deschisă spre toate acestea.

Surse: Forever Security, studiul „EMBRACE” (29 octombrie: descrierea vulnerabilităților, condițiile de atac, cronologia raportărilor, recomandările), Help Net Security (29 octombrie: detaliile testelor, declarațiile lui Gal Weizman, recomandările pentru utilizatori), The Register (29 octombrie: reacția OpenAI și a celorlalte companii, situația remedierilor).

💿 Software
← Toate articolele
💬 Comentarii

Fii primul care comentează acest articol!

✍️ Lasă un comentariu
2 + 5 = ?