Generatiivinen tiedustelu

Tekoälybotit hallusinoivat ohjelmistopaketteja ja kehittäjät lataavat ne

Treffi:

Perusteellinen Useat suuret yritykset ovat julkaisseet lähdekoodia, joka sisältää ohjelmistopaketin, jota generatiivisen tekoälyn aiemmin hallusinoi.

Not only that but someone, having spotted this reoccurring hallucination, had turned that made-up dependency into a real one, which was subsequently downloaded and installed thousands of times by developers as a result of the AI’s bad advice, we’ve learned. If the package was laced with actual malware, rather than being a benign test, the results could have been disastrous.

Lasso Securityn turvallisuustutkijan Bar Lanyadon mukaan yksi yrityksistä, jotka tekoäly on huijannut sisällyttämään paketin, on Alibaba, joka kirjoitettaessa vielä sisältää pip komento Python-paketin lataamiseen huggingface-cli sen Graafikääntäjä asennusohjeet.

On olemassa legitiimi halaava kasvo-cli, asennettu käyttäen pip install -U "huggingface_hub[cli]".

Mutta huggingface-cli jaetaan Python Package Indexin (PyPI) kautta ja vaaditaan Alibaban GraphTranslator -sovelluksella pip install huggingface-cli – on väärennös, tekoälyn kuvittelema ja Lanyadon kokeeksi muuttama.

Hän loi huggingface-cli joulukuussa nähtyään sen toistuvasti generatiivisen tekoälyn hallusinoivana; tämän vuoden helmikuussa Alibaba viittasi siihen GraphTranslatorin README-ohjeissa todellisen Hugging Face CLI -työkalun sijaan.

tutkimus

Lanyado teki niin tutkiakseen, säilyvätkö tällaiset hallusinoidut ohjelmistopaketit – generatiivisten tekoälymallien, oletettavasti projektin kehityksen aikana keksityt paketinimet – ajan mittaan, ja testatakseen, voidaanko keksittyjä pakettien nimiä yhteiskäyttöön ja käyttää haitallisen koodin levittämiseen kirjoittamalla todellista paketteja, jotka käyttävät tekoälyn haaveilemia koodien nimiä.

Ajatuksena tässä on se, että joku ilkeä voisi kysyä malleilta koodineuvoja, tehdä muistiin kuviteltuja paketteja, joita tekoälyjärjestelmät toistuvasti suosittelevat, ja sitten toteuttaa nämä riippuvuudet niin, että muut ohjelmoijat, kun käyttävät samoja malleja ja saavat samoja ehdotuksia, päätyvät mukaan. ne kirjastot, jotka voivat olla haittaohjelmien myrkytyksiä.

Viime vuonna tietoturvayhtiö Vulcan Cyberin kautta, Lanyado julkaistu tutkimusta, jossa kerrotaan, kuinka ChatGPT:n kaltaiselle tekoälymallille voidaan esittää koodauskysymys, ja saada vastaus, joka suosittelee sellaisen ohjelmistokirjaston, -paketin tai -kehyksen käyttöä, jota ei ole olemassa.

"Kun hyökkääjä suorittaa tällaisen kampanjan, hän pyytää mallilta paketteja, jotka ratkaisevat koodausongelman, sitten hän saa paketteja, joita ei ole olemassa", Lanyado selitti. Rekisteri. "Hän lataa haitallisia paketteja samoilla nimillä asianmukaisiin rekistereihin, ja siitä lähtien hänen tarvitsee vain odottaa, että ihmiset lataavat paketit."

Vaarallisia oletuksia

Tekoälymallien halukkuus luottavaisesti lainata olemattomia oikeusjuttuja on nyt hyvin tiedossa ja on aiheuttanut suurta hämmennystä asianajajien keskuudessa, jotka eivät ole tietoisia tästä suuntauksesta. Ja kuten käy ilmi, generatiiviset tekoälymallit tekevät saman ohjelmistopaketeille.

Kuten Lanyado aiemmin totesi, väärintekijä saattaa käyttää tekoälyn keksimää nimeä haitalliselle paketille, joka on ladattu johonkin tietovarastoon, toivoen, että muut voisivat ladata haittaohjelman. Mutta jotta tämä olisi mielekäs hyökkäysvektori, tekoälymallien olisi toistuvasti suositella yhteiskäyttöön valittua nimeä.

That’s what Lanyado set out to test. Armed with thousands of “how to” questions, he queried four AI models (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard, and Coral [Cohere]) regarding programming challenges in five different programming languages/runtimes (Python, Node.js, Go, .Net, and Ruby), each of which has its own packaging system.

Osoittautuu, että osa nimistä, jotka nämä chatbotit saavat tyhjästä, ovat pysyviä, jotkut eri malleissa. Ja sinnikkyys – väärennetyn nimen toistaminen – on avain tekoälyn mielijohteesta toiminnalliseksi hyökkäykseksi. Hyökkääjä tarvitsee tekoälymallin toistamaan hallusinoitujen pakettien nimet vastauksissaan käyttäjille, jotta näillä nimillä luotuja haittaohjelmia voidaan etsiä ja ladata.

Lanyado valitsi satunnaisesti 20 kysymystä nollakuvan hallusinaatioille ja esitti ne 100 kertaa kullekin mallille. Hänen tavoitteenaan oli arvioida, kuinka usein hallusinoituneen paketin nimi pysyi samana. Hänen testinsä tulokset paljastavat, että nimet ovat riittävän usein pysyviä ollakseen toiminnallinen hyökkäysvektori, joskaan ei koko ajan, ja joissakin pakkausekosysteemeissä enemmän kuin toisissa.

GPT-4:llä 24.2 prosenttia kysymysvastauksista aiheutti hallusinoituja paketteja, joista 19.6 prosenttia oli toistuvia Lanyadon mukaan. Tarjottu pöytä Rekisterialla, näyttää yksityiskohtaisemman erittelyn GPT-4-vastauksista.

  Python Node.js Rubiini . NET Go
Yhteensä kysymyksiä 21340 13065 4544 5141 3713
Kysymykset, joissa on vähintään yksi hallusinaatiopaketti 5347 (25%) 2524 (19.3%) 1072 (23.5%) 1476 (28.7 %) 1093 hyödynnettävissä (21.2 %) 1150 (30.9 %) 109 hyödynnettävissä (2.9 %)
Hallusinaatiot nollakuvassa 1042 (4.8%) 200 (1.5%) 169 (3.7%) 211 (4.1 %) 130 hyödynnettävissä (2.5 %) 225 (6 %) 14 hyödynnettävissä (0.3 %)
Hallusinaatioita toisessa laukauksessa 4532 (21%) 2390 (18.3%) 960 (21.1%) 1334 (25.9 %) 1006 hyödynnettävissä (19.5 %) 974 (26.2 %) 98 hyödynnettävissä (2.6 %)
Toistettavuus nollassa 34.4% 24.8% 5.2% 14% -

GPT-3.5:llä 22.2 prosenttia kysymysvastauksista aiheutti hallusinaatioita ja 13.6 prosenttia toistuvia. Kaksosille 64.5 kysymyksestä toi keksittyjä nimiä, joista noin 14 prosenttia toistui. Ja Coheren kohdalla se oli 29.1 prosenttia hallusinaatioita ja 24.2 prosenttia toistoa.

Siitä huolimatta Go- ja .Net-pakkausekosysteemit on rakennettu tavoilla, jotka rajoittavat hyväksikäyttömahdollisuuksia estämällä hyökkääjiltä pääsyn tiettyihin polkuihin ja nimiin.

"Gossa ja .Netissä saimme hallusinoituja paketteja, mutta monia niistä ei voitu käyttää hyökkäyksiin (Gossa numerot olivat paljon merkittävämpiä kuin .Netissä), jokaisella kielellä omasta syystään", Lanyado selitti. Rekisteri. "Pythonissa ja npm:ssä se ei pidä paikkaansa, koska malli suosittelee meille paketteja, joita ei ole olemassa, eikä mikään estä meitä lataamasta paketteja näillä nimillä, joten ehdottomasti on paljon helpompi suorittaa tällainen hyökkäys kieliin, kuten Python ja Node.js."

PoC-haittaohjelmien kylväminen

Lanyado teki tämän asian jakamalla proof-of-concept-haittaohjelmia – vaarattomia tiedostoja Python-ekosysteemissä. Perustuu ChatGPT:n neuvoihin pip install huggingface-cli, hän latasi tyhjän paketin samalla nimellä PyPI:hen – yllä mainittuun – ja loi valepaketin nimeltä blabladsa123 auttaa erottamaan pakettirekisterin tarkistuksen todellisista latausyrityksistä.

Hänen mukaansa tulos on se huggingface-cli sai yli 15,000 XNUMX aitoa latausta kolmen kuukauden aikana, kun se on ollut saatavilla.

"Lisäksi teimme haun GitHubissa selvittääksemme, käytettiinkö tätä pakettia muiden yritysten tietovarastoissa", Lanyado sanoi. kirjoitus hänen kokeilunsa vuoksi.

”Tuloksemme paljasti, että useat suuret yritykset joko käyttävät tai suosittelevat tätä pakettia arkistoissaan. Esimerkiksi tämän paketin asennusohjeet löytyvät Alibaban tekemälle tutkimukselle omistetun arkiston README-tiedostosta."

Alibaba ei vastannut kommentointipyyntöön.

Lanyado sanoi myös, että oli olemassa Hugging Facen omistama projekti, joka sisälsi fake huggingface-cli:n, mutta poistettiin sen jälkeen, kun hän hälytti yritykselle.

Tätä tekniikkaa ei ole ainakaan toistaiseksi käytetty varsinaisessa hyökkäyksessä, josta Lanyado on tietoinen.

"Hallusinoituneen pakettimme lisäksi (pakettimme ei ole haitallinen, se on vain esimerkki siitä, kuinka helppoa ja vaarallista tämän tekniikan hyödyntäminen voi olla), en ole vielä tunnistanut, että pahantahtoiset toimijat olisivat hyödyntäneet tätä hyökkäystekniikkaa", hän sanoi. "On tärkeää huomata, että tällaisen hyökkäyksen tunnistaminen on monimutkaista, koska se ei jätä paljon jalanjälkiä." ®

spot_img

Uusin älykkyys

spot_img

Keskustele kanssamme

Hei siellä! Kuinka voin olla avuksi?