Slopsquatting je najnovejši "buzzowrd" tistih, ki si kruh služijo s programiranjem. A tudi če angleško besedo razčlenimo - slop je vsebina nizke kvalitete, squatting pa ilegalno zasedanje praznih, opuščenih zgradb - ne pridemo zares do njenega pravega pomena. Kaj torej je slopsquatting in zakaj morate vedeti zanj, če si pri progamiranju pomagate z umetno inteligenco?
AI, dvorezen meč
Umetna inteligenca je dvorezen meč. Pozitivne plati so jasno vidne - povečana produktivnost, zakladnica znanja, vsemogočni osebni asistent - prav tako pa se večina jasno zaveda negativnih plati. Če odštejemo eksistencialno vprašanje tega, kaj bo z nami, ko (in če) bo umetna inteligenca prevzela vse naloge, ki jih trenutno opravljamo sami, se večina strinja, da je osnovna, funkcionalna omejitev AIja, težnja po haluciniranju. Umetnointeligenčne halucinacije, neresnične, a pogosto logično smiselne in prepričljive informacije, ki jih kljub vsem izboljšavam radi izpljunejo praktično vsi AI modeli, so ena glavnih omejitev, na katero moramo računati, če si z jezikovnimi vsevedi želimo pomagati pri resnem delu.

Od izmišljenih virov do resnih varnostnih problemov
Doslej so halucinacije še najbolj skrbele študente, ki so v poročilih in seminarjih radi samozavestno navajali vire, ki jih je navedel GPT, pa v resnici ne obstajajo. Enako so oprijemljivo nevšečnost predstavljali vsem, ki so se morali med skrolanjem po socialnih omrežjih izogibati vse večji količini na videz resničnih, a popolnoma neutemeljenih informacij, ki so jih profita in slave željni uporabniki nekritično objavili. No, zdaj je "lažnivost" velikih jezikovnih modelov stopila v naslednje poglavje, v katerem so glavni na udaru tisti, ki s pomočjo umetne inteligence pišejo programsko kodo.
Paketi, ki (še) ne obstajajo
Za pisanje kode potrebujemo pakete, ki se jih naloži iz spletnih repozitorijev. AI v svoji kodi pogosto halucinira imena takšnih paketov, ki v resnici ne obstajajo. Dokler ne obstajajo, ni problema; koda pač ne bo delovala. Problem pa nastane, če nepridipravi "ugrabijo" ime paketa, ki si ga AI konsistentno izmišljuje, ga "oplemenitijo" z zlonamerno kodo in naložijo v javni spletni repozitorij. V tem primeru bo koda lahko na videz delovala, nevede pa bomo z njo odprli vrata napadalcem.

Taktika ni nova, samo lažje jo je izkoristiti
Že prej so bili znani primeri, ko so napadalci na podlagi velike baze napisane kode izkoristili pogoste zatipke ("typote") pri pisanju imen velikih paketov in jih nadomestili z zlonamernimi. AI pa celoten proces za hekerje naredi veliko lažji, saj konsistentno halucinira imena, ki zaradi tega postanejo lahka tarča napada. Ker na videz delujejo verjetno (skoraj 40 % haluciniranih imen paketov spominja na resnična imena obstoječih paketov), tudi izkušeni programerji pa se vse bolj zanašajo na AI, hitro pride do problema.
Podobno, pa tako različno
Grožnjo so raziskovalci eksperimentalno potrdili - lažen (a neškodljiv in prazen) paket, ki ga pogosto omenjajo popularni AI asistenti, so naložili v repozitorij, v nekaj mesecih pa ga je naivno preneslo več kot 30.000 programerjev. Če je v tem primeru šlo za nedolžno napako, bi se ta v primeru zlonamernega akterja lahko hitro prelevila v katastrofo.

Odprtokodni so največji grešniki
Največji grešniki so odprtokodni AI asistenti, ki si izmislijo okoli 22 % imen paketov v generirani kodi, medtem ko komercialni modeli z dobrimi petimi procenti delujejo nekoliko bolj varno. To pa ne pomeni, da ni nevarnosti tudi pri uporabi plačljivih zaprtokodnih asistentov; ker se skoraj 60 % halucinacij v imenih paketov ponavlja, skoraj 40 % pa spominja na resnične pakete, se lahko pri programiranju hitro ujamemo v past. Ravno ker napake niso naključne, ampak konsistentne, to odpira vrata za napadalce, ki morajo samo dovolj klepetati s popularnimi modeli, da bi ugotovili, na katerih pogosto izmišljenih imenih paketov se splača "skvotati". Na kratko: če se pri programiranju zanašajte na AI, bodite resnično pozorni. Takšne halucinacije se lahko prelevijo v resen glavobol.
Opozorilo: 297. členu Kazenskega zakonika je posameznik kazensko odgovoren za javno spodbujanje sovraštva, nasilja ali nestrpnosti.
PRAVILA ZA OBJAVO KOMENTARJEV