Presupunerea populară că un om care revizuiește fiecare comandă poate ține sub control agenții de codare AI se confruntă cu o atenție serioasă. O nouă analiză a peste 40.000 de sesiuni de joc și a peste 409.000 de decizii individuale de aprobare sau respingere a constatat că recenzenții umani au ratat aproximativ una din trei comenzi rău intenționate de la agenții AI, ridicând întrebări urgente dacă „human-in-the-loop” este o limită de securitate fiabilă.
Descoperirile provin dintr-un joc bazat pe browser creat de Alex Wauters, un fost inginer al personalului de la Uber, care scrie despre securitatea dezvoltatorului la Scale X. Jocul plasează jucătorii în rolul unui evaluator uman pentru un agent de codare AI, cerându-le să aprobe sau să respingă comenzile shell sub presiunea timpului. Unele comenzi sunt de rutină, cum ar fi `git status` sau `npm test`. Altele sunt încercări disimulate cu grijă de a exfiltra acreditările, de a instala uși din spate sau de a trimite secrete către servere la distanță. După ce a adăugat urmărirea statisticilor, Wauters a colectat suficiente date pentru a picta o imagine detaliată a locurilor în care judecata umană reușește și, mai des, eșuează. Pentru mai multe despre acoperirea industriei AI, acest studiu se remarcă drept unul dintre cele mai bogate în date experimente până în prezent.
Cele mai periculoase comenzi au fost cel mai greu de prins
Cea mai frapantă constatare a studiului este că comenzile evident distructive, cum ar fi `rm -rf` din directoarele critice, au fost capturate în mod fiabil. Amenințările care au reușit efectiv să fure acreditările au fost ratate de aproape trei ori mai des. Cea mai ratată comandă din întregul joc a fost „npm run analysis”, aprobată de 64,7% dintre jucători, în ciuda istoricului agentului care arăta în mod clar că scriptul de bază a fost modificat pentru a trimite acreditările către un server extern.
Problema este structurală. Comenzi precum `npm run` execută orice script este definit în fișierul `package.json` al unui proiect. Acest script ar putea fi un analizor de pachete legitim sau un cod rău intenționat injectat de un fișier anterior, editat de agentul modificat. Pentru a ști cu siguranță, un dezvoltator ar trebui să inspecteze fiecare fișier modificat înainte de aprobare, ceea ce anulează avantajul de viteză pe care ar trebui să îl ofere instrumentele de codare AI.
La trei astfel de comenzi cu sarcină utilă deghizată din joc, rata de ratare a fost de 52,5%, comparativ cu 28,4% pentru toate celelalte atacuri de exfiltrare a acreditărilor. Ascunderea unei sarcini utile în spatele unui nume de script familiar a dublat aproximativ rata de succes, chiar și atunci când sarcina utilă era vizibilă în jurnalul de istoric afișat chiar deasupra promptului de permisiune.
Oboseala cu permisiunea erodează vigilența în timp
Anthropic a recunoscut anterior că oboseala cu permisiunea este un fenomen real în produsul său Claude Code, menționând că cu cât un utilizator vede mai multe aprobări, cu atât îi acordă mai puțină atenție fiecăruia. Datele Scale X susțin această preocupare empiric. Ratele de ratare au scăzut în timpul primelor comenzi ale fiecărei sesiuni, pe măsură ce jucătorii s-au încălzit, dar apoi au urcat constant spre final, în concordanță fie cu oboseala, fie cu presiunea crescândă a unui ceas.
Acest model oglindește dinamica lumii reale. Dezvoltatorii care se întrec pentru a livra funcții sub presiunea termenului limită se confruntă cu același stimulent de a face clic pe aprobă rapid, iar volumul mare de comenzi de rutină creează o problemă în care amenințările reale sunt rare din punct de vedere statistic. Rezultatul este un sistem care antrenează utilizatorii să ștampileze totul.
Cealaltă parte: suprablocarea încetinește totul
Studiul a documentat, de asemenea, modul de defectare opus. Câteva comenzi cu adevărat benigne au fost blocate în mod obișnuit de jucători precauți, inclusiv invocări standard de construcție și testare. Această suprablocare încetinește agentul și, paradoxal, crește riscul pe termen lung. Atunci când utilizatorilor li se cere în mod repetat să aprobe comenzi care se dovedesc a fi inofensive, zgomotul le erodează dorința de a examina solicitările viitoare, împingându-i în cele din urmă către ocoliri complete sau moduri de aprobare automată care elimină complet revizuirea umană.
Funcții precum modul automat al lui Anthropic încearcă să atenueze acest lucru determinând automat dacă o comandă este sigură înainte de a solicita utilizatorului. Dar, după cum demonstrează datele studiului privind încărcăturile utile deghizate, nici măcar conținutul de comandă vizibil nu este suficient pentru ca oamenii să emită judecăți fiabile sub presiune.
Lipsa contextului este problema principală
O comandă, `cat ~/.zshrc`, s-a dovedit cea mai dezbinătoare din întreg jocul, aprobată de 45,9 la sută dintre jucători. Comanda este inofensivă pentru dezvoltatorii care nu păstrează secrete în profilul lor shell, dar expune cheile API pentru cei care exportă acreditări acolo. Riscul acestuia depinde în întregime de o configurație de sistem pe care agentul nu o poate vedea, iar examinatorul poate să nu-și amintească.
Mai multe alte comenzi au generat controverse similare pe firul de discuții Hacker News din același motiv. Problema fundamentală este că dezvoltatorilor li se cere să emită judecăți de securitate fără imaginea completă a fișierelor care s-au schimbat, a ceea ce a făcut agentul în pașii anteriori și a ceea ce conține configurația curentă a sistemului. După cum a remarcat un comentator, a cere utilizatorilor să valideze comenzile ambigue fără context nu este o garanție puternică.
Ce urmează pentru securitatea agentului
Wauters susține că soluția nu sunt oameni mai buni, ci unelte mai bune. Agenții de tip Sandbox, astfel încât să nu poată accesa acreditările în mod direct, izolarea strictă a contextului și limitele structurale privind ceea ce agenții pot face fără permisiuni ridicate sunt toate mai promițătoare decât să se bazeze pe vigilența umană. Până la aplicarea acestor garanții, acordarea de permisiuni largi agenților rămâne riscantă, indiferent dacă un om este în mod nominal în buclă.
Studiul nu este o lucrare academică revizuită de colegi, iar Wauters își recunoaște limitările. Jocul a avertizat jucătorii despre amenințări și a aplicat o presiune artificială a timpului care ar putea să nu reflecte perfect mediile de dezvoltare reale. Dar concluzia de bază, că recenzenții umani instruiți, sub presiune, ratează o treime din atacurile disimulate în mod deliberat, ar trebui să ofere fiecărei echipe care desfășoară agenți de codificare AI motive pentru a-și reconsidera modelul de securitate.
Pentru dezvoltatorii care construiesc astăzi cu agenți AI, concluzia practică este să presupună că omul în buclă va eșua în cele din urmă. Proiectați-vă permisiunile de agent și sandboxing astfel încât o aprobare ratată să nu însemne o cheie AWS scursă sau o conductă de construcție compromisă. Datele sugerează că tratarea revizuirii umane ca apărare principală este un pariu care nu dă roade.
Rămâi înaintea AI
Peisajul de securitate al agentului AI evoluează rapid. Rămâneți la curent cu cele mai recente dezvoltări AI și cu cele mai recente cercetări.
Citiți mai multe știri AI →