Un nou tip de vulnerabilitate de securitate cibernetică a apărut: slopsquatting. Acest termen, introdus de cercetătorul în securitate Seth Larson, descrie o tehnică prin care actorii răuvoitori creează și publică pachete software malițioase sub nume „halucinate” (inventate) de instrumentele AI de generare de cod.

Fenomenul exploatează faptul că aproximativ 20% din exemplele de cod generate de AI fac referire la biblioteci software inexistente, pe care dezvoltatorii pot încerca să le instaleze fără să verifice existența lor legitimă.

Cum funcționează atacurile de tip „Package Hallucination”

Atacurile bazate pe halucinații de pachete reprezintă un vector semnificativ de amenințare în lanțul de aprovizionare software. Odată ce atacatorii identifică nume de pachete halucinate (în special cele care apar în mod repetat), ei pot crea pachete cu aceste nume, încărcându-le cu payload-uri malițioase și publicându-le în depozite populare precum PyPI sau npm.

Acest tip de atac este deosebit de eficient din mai multe motive. Spre deosebire de typosquatting, care se bazează pe greșelile de tastare ale dezvoltatorilor, slopsquatting exploatează recomandările generate de AI pe care dezvoltatorii le pot considera de încredere. Numele pachetelor halucinate sunt adesea plauzibile semantic, cercetările arătând că 38% dintre ele prezintă o similitudine moderată cu pachete reale.

Un factor care face acest vector de atac și mai periculos este persistența halucinațiilor – studiile au demonstrat că 43% dintre pachetele halucinate reapar în toate cele 10 interogări atunci când prompturile sunt repetate. Această predictibilitate oferă atacatorilor ținte constante, fără a fi nevoie să extragă cantități masive de date sau să încerce forțat toate combinațiile posibile.

Variații în vulnerabilități între modelele AI

Cercetările recente au arătat diferențe semnificative între modelele AI în ceea ce privește tendința de a halucina pachete inexistente. Modelele open-source prezintă o rată de halucinare mult mai mare – în medie 21,7%, în comparație cu modelele comerciale care o fac doar în 5,2% din cazuri.

Printre cele mai problematice modele se numără CodeLlama, care halucinează pachete în peste 30% din timp, în timp ce GPT-4 Turbo s-a dovedit cel mai performant, cu o rată de halucinare de doar 3,59%. Această discrepanță subliniază importanța alegerii modelelor AI adecvate pentru generarea de cod în medii de producție.

Distribuția bimodală a acestor halucinații creează oportunități de atac predictibile – unele nume halucinate reapar constant când prompturile sunt rulate din nou, în timp ce altele nu se mai arată niciodată. Această consistență face slopsquatting-ul mult mai viabil decât s-ar aștepta.

Predictibilitatea recomandărilor de pachete halucinate

Cercetările demonstrează că 58% dintre pachetele halucinate apar de mai multe ori în rulări multiple, arătând că acestea nu sunt erori aleatorii, ci artefacte repetabile ale modului în care modelele răspund la anumite prompturi. Această repetabilitate crește semnificativ valoarea lor pentru atacatori, facilitând identificarea țintelor viabile de slopsquatting prin observarea unui număr mic de rezultate ale modelului.

Un exemplu relevant este pachetul fictiv „huggingface-cli”, care a primit peste 30.000 de descărcări autentice în doar trei luni după ce a fost încărcat ca un pachet gol pentru a testa comportamentul dezvoltatorilor. Chiar și organizații majore precum Alibaba au fost găsite recomandând acest pachet inexistent în documentația lor internă.

Impactul asupra lanțului de aprovizionare software

Pentru furnizorii de SaaS cu mulți dezvoltatori de software, acest vector prezintă un risc ridicat de compromitere a lanțului de aprovizionare, care ar putea afecta multipli clienți în aval. Conform cercetărilor IDC, doar 28% dintre întreprinderi generează în mod automat Software Bills of Materials (SBOMs) pentru a identifica potențiale componente halucinate, lăsând multe organizații vulnerabile.

Pachetele halucinate se încadrează de obicei în trei categorii:

  • Cele inspirate de pachete reale (38%)
  • Greșeli de ortografie ale pachetelor existente (13%)
  • Nume complet fabricate (51%)

Măsuri de protecție și recomandări

Pentru a reduce riscurile asociate cu slopsquatting, organizațiile și dezvoltatorii ar trebui să implementeze următoarele practici:

  1. Verificarea manuală a tuturor recomandărilor de pachete înainte de instalare
  2. Utilizarea scanerelor de dependențe cu fișiere lockfile care fixează versiunile exacte
  3. Implementarea verificării hash-urilor pentru pachetele de încredere
  4. Testarea codului generat de AI în medii izolate înainte de implementare
  5. Generarea automată de SBOMs pentru a identifica componente potențial hallucinate
  6. Instruirea dezvoltatorilor cu privire la riscurile asociate cu codul generat de AI

Pe scurt

Pe măsură ce AI-ul devine tot mai integrat în procesele de dezvoltare software, atacurile de tip slopsquatting reprezintă o amenințare emergentă care necesită atenție. Predictibilitatea halucinațiilor generate de modelele AI creează o suprafață de atac valoroasă pentru actorii malițioși.

Organizațiile trebuie să găsească un echilibru între adoptarea AI pentru a îmbunătăți productivitatea dezvoltatorilor și implementarea controalelor de securitate adecvate pentru a preveni exploatarea acestor vulnerabilități. Înțelegerea modului în care funcționează aceste atacuri și implementarea măsurilor preventive adecvate sunt esențiale pentru menținerea integrității lanțului de aprovizionare software în era AI.

Author

Pasionat de tehnologie și internet din 1996, blogger din 2008, fotograf și videograf entuziast. Expert în crearea de website-uri, SEO și strategii digitale pentru startup-uri. Fondator al agenției DIGITAL INBOUND, ajutând afacerile să crească online.

Write A Comment