Lideri de opinie

Codul generat de IA este aici pentru a rămâne. Suntem mai puțin siguri ca urmare?

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Programarea în 2025 nu mai înseamnă a lucra asiduu la fragmente sau a petrece ore lungi în depășirea erorilor. Este o atmosferă complet diferită. Codul generat de IA va reprezenta majoritatea codului din produsele viitoare și a devenit un instrument esențial pentru dezvoltatorii moderni. Cunoscut sub numele de „programare cu vibrații”, utilizarea codului generat de unelte precum Github Copilot, Amazon CodeWhisperer și Chat GPT va deveni norma, nu excepția, în reducerea timpului de construire și creșterea eficienței. Dar oare comoditatea oferită de codul generat de IA nu prezintă un risc mai mare? Oare inteligența artificială generativă sporește vulnerabilitățile în arhitectura de securitate sau există modalități prin care dezvoltatorii pot „programa cu vibrații” în siguranță?

„Incidentele de securitate ca urmare a vulnerabilităților din codul generat de IA este unul dintre cele mai puțin discutate subiecte de astăzi,” a spus Sanket Saurav, fondatorul DeepSource. „Există încă mult cod generat de platforme precum Copilot sau Chat GPT care nu sunt supuse revizuirii umane, iar încălcările de securitate pot fi catastrofale pentru companiile afectate.”

Dezvoltatorul unei platforme open source care utilizează analiza statică pentru calitatea și securitatea codului, Saurav a menționatatacul asupra SolarWinds din 2020 ca fiind un exemplu de „eveniment de extincție” pe care companiile l-ar putea înfrunta dacă nu au instalat gardurile de securitate adecvate atunci când utilizează cod generat de IA. „Analiza statică permite identificarea modelelor de cod nesigure și a practicilor de programare defectuoase,” a spus Saurav.

Atacat prin bibliotecă

Amenințările la adresa securității codului generat de IA pot lua forme inventive și pot fi direcționate către biblioteci. Bibliotecile în programare sunt coduri reutilizabile utile pe care dezvoltatorii le folosesc pentru a-și economisi timpul atunci când scriu cod.

Ele rezolvă adesea sarcini de programare regulate, cum ar fi gestionarea interacțiunilor cu baza de date, și ajută programatorii să nu fie nevoiți să rescrie codul de la zero.

O astfel de amenințare la adresa bibliotecilor este cunoscută sub numele de „halucinații”, în care codul generat de IA prezintă o vulnerabilitate prin utilizarea unor biblioteci fictive. O altă linie de atac mai recentă asupra codului generat de IA se numește „slopsquatting”, în care atacatorii pot ținti direct biblioteci pentru a pătrunde într-o bază de date.

Abordarea acestor amenințări direct poate necesita mai multă atenție decât sugerează termenul „programare cu vibrații”. Vorbind de la biroul său de la Université du Québec en Outaouais, profesorul Rafael Khoury a urmărit îndeaproape evoluțiile în securitatea codului generat de IA și este încrezător că noi tehnici vor îmbunătăți siguranța acestuia.

În un articol din 2023, profesorul Khoury a investigat rezultatele obținute prin solicitarea ChatGPT să producă cod fără nicio informație suplimentară, o practică care a condus la cod nesigur. Acelea erau zilele de început ale Chat GPT, iar Khoury este acum optimist cu privire la viitor. „De atunci, a existat o mulțime de cercetări în curs de revizuire și viitorul pare a fi o strategie pentru utilizarea LLM care ar putea duce la rezultate mai bune,” a spus Khoury, adăugând că „securitatea devine mai bună, dar nu suntem într-un loc în care putem oferi un prompt direct și obține cod sigur.”

Khoury a descris apoi un studiu promițător în care au generat cod și apoi l-au trimis către un instrument care analizează codul pentru vulnerabilități. Metoda utilizată de instrument se numește Identificarea Anomaliilor de Linie cu Ajutorul Inteligenței Artificiale Generative (sau FLAG, pe scurt).

„Aceste instrumente pot identifica posibile vulnerabilități, de exemplu, în linia 24, și un dezvoltator poate trimite această informație înapoi către LLM, solicitându-i să examineze și să corecteze problema,” a spus el.

Khoury a sugerat că acest schimb de informații poate fi crucial pentru corectarea codului care este vulnerabil la atacuri. „Acest studiu sugerează că, cu cinci iterații, puteți reduce vulnerabilitățile la zero.”

Cu toate acestea, metoda FLAG nu este lipsită de probleme, în special pentru că poate genera atât false pozitive, cât și false negative. În plus, există limitări în lungimea codului pe care LLM-urile îl pot crea, iar acțiunea de a combina fragmente poate adăuga un alt strat de risc.

Păstrarea omului în buclă

Unii jucători din „programarea cu vibrații” recomandă fragmentarea codului și asigurarea că oamenii rămân în centrul atenției în cele mai importante editări ale unei baze de cod. „Când scrieți cod, gândiți-vă în termeni de commit-uri,” a spus Kevin Hou, șeful departamentului de inginerie de produs de la Windsurf, lăudând înțelepciunea fragmentării în bucăți mici.

„Împărțiți un proiect mare în fragmente mai mici care ar fi, de obicei, commit-uri sau solicitări de extragere. Permiteți agentului să construiască la scară mică, o singură funcție izolată la un moment dat. Acest lucru poate asigura că ieșirea de cod este bine testată și bine înțeleasă,” a adăugat el.

La momentul scrierii, Windsurf a abordat peste 5 miliarde de linii de cod generat de IA (prin numele său anterior, Codeium). Hou a spus că cea mai presantă întrebare pe care o răspund era dacă dezvoltatorul era conștient de proces.

„IA este capabilă să facă multe editări în mai multe fișiere simultan, așa că cum putem să ne asigurăm că dezvoltatorul înțelege și revizuiește realmente ce se întâmplă, în loc să accepte orbește totul?” a întrebat Hou, adăugând că au investit puternic în UX-ul Windsurf „cu o mulțime de modalități intuitive de a rămâne pe deplin în pas cu ceea ce face IA și de a păstra omul pe deplin în buclă.”

Care este motivul pentru care, pe măsură ce „programarea cu vibrații” devine mai mainstream, oamenii din buclă trebuie să fie mai atenți la vulnerabilitățile sale. De la „halucinații” la amenințările „slopsquatting”, provocările sunt reale, dar și soluțiile.

Unelte emergente precum analiza statică, metodele de rafinare iterativă precum FLAG și proiectarea UX atentă arată că securitatea și viteza nu trebuie să fie mutual exclusive.

Cheia constă în menținerea dezvoltatorilor implicați, informați și în control. Cu gardurile de securitate adecvate și o mentalitate de „încredere, dar și verificare”, programarea asistată de IA poate fi atât revoluționară, cât și responsabilă.

Arjun Harindranath este un jurnalist freelance cu sediul în Medellin, Colombia, care acoperă povești despre conflict, migrație și tehnologie pentru o audiență globală. Articolele sale anterioare includ Al Jazeera, TechCrunch, The Next Web și New York Times.