Mélyreható Számos nagyvállalat tett közzé forráskódot, amely egy korábban generatív mesterséges intelligencia által hallucinált szoftvercsomagot tartalmaz.
Not only that but someone, having észrevette ezt 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.
Bar Lanyado, a Lasso Security biztonsági kutatója szerint az egyik olyan vállalkozás, amelyet a mesterséges intelligencia megtévesztette a csomag beépítésével, az Alibaba, amely a cikk írásakor még mindig tartalmaz egy pip
parancs a Python csomag letöltéséhez huggingface-cli
Ben Grafikonfordító Telepítési útmutató.
Van egy legit átölelőarc-clisegítségével telepítve pip install -U "huggingface_hub[cli]"
.
De a huggingface-cli
a Python Package Indexen (PyPI) keresztül terjesztve, és az Alibaba GraphTranslatorja által igényelt – a következővel telepítve pip install huggingface-cli
– hamis, a mesterséges intelligencia elképzelte, és Lanyado kísérletként valósággá változtatta.
Ő csinálta huggingface-cli
decemberben, miután többször is generatív mesterséges intelligencia hallucinálta; ez év februárjában az Alibaba a GraphTranslator README utasításaiban hivatkozott rá, nem pedig az igazi Hugging Face CLI eszközre.
Tanulmány
Lanyado ezt azért tette, hogy feltárja, vajon az ilyen típusú hallucinált szoftvercsomagok – a generatív mesterséges intelligencia modellek által kitalált csomagnevek, feltehetően a projekt fejlesztése során – fennmaradnak-e az idő múlásával, és hogy tesztelje, vajon a kitalált csomagnevek társíthatók-e és felhasználhatók-e rosszindulatú kódok terjesztésére tényleges írással. csomagok, amelyek az AI-k által megálmodott kódneveket használják.
Itt az az ötlet, hogy valaki aljas kérhetne kódot tanácsot a modellektől, feljegyezhetné azokat az elképzelt csomagokat, amelyeket a mesterséges intelligencia rendszerek ismételten ajánlanak, majd ezeket a függőségeket úgy valósítsák meg, hogy amikor ugyanazokat a modelleket használják, és ugyanazokat a javaslatokat kapják, más programozók is belevágjanak. azok a könyvtárak, amelyek rosszindulatú programokkal lehetnek megmérgezve.
Tavaly a Vulcan Cyber biztonsági cégen keresztül, Lanyado közzétett kutatás, amely részletezi, hogyan lehet kódolási kérdést feltenni egy mesterséges intelligencia-modellhez, például a ChatGPT-hez, és olyan választ kap, amely egy nem létező szoftverkönyvtár, -csomag vagy -keretrendszer használatát javasolja.
"Amikor egy támadó ilyen kampányt futtat, olyan csomagokat fog kérni a modelltől, amelyek megoldanak egy kódolási problémát, majd olyan csomagokat kap, amelyek nem léteznek" - magyarázta Lanyado. A regisztráció. "Az azonos nevű rosszindulatú csomagokat feltölti a megfelelő nyilvántartásokba, és onnantól kezdve már csak meg kell várnia, hogy az emberek letöltsék a csomagokat."
Veszélyes feltételezések
Az AI modellek hajlandósága magabiztosan nem létező bírósági ügyekre hivatkozni ma már jól ismert, és nem kis zavart keltett azon ügyvédek körében, akik nem tudtak erről a tendenciáról. És mint kiderült, a generatív mesterséges intelligencia modellek ugyanezt teszik a szoftvercsomagoknál is.
Amint azt Lanyado korábban megjegyezte, a gonosztevők mesterséges intelligencia által kitalált nevet használhatnak egy rosszindulatú csomaghoz, amelyet valamelyik tárolóba feltöltenek, abban a reményben, hogy mások letölthetik a kártevőt. De ahhoz, hogy ez értelmes támadási vektor legyen, az AI-modelleknek ismételten ajánlaniuk kell a közös nevet.
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 Command [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.
Kiderült, hogy a chatbotok által a levegőből előkapott nevek egy része tartós, némelyik különböző modelleken. És a kitartás – a hamis név ismétlődése – a kulcsa annak, hogy a mesterséges intelligencia szeszélyét funkcionális támadássá változtassuk. A támadónak szüksége van arra, hogy a mesterséges intelligencia modellje megismételje a hallucinált csomagok nevét a felhasználóknak adott válaszaiban az ilyen néven létrehozott rosszindulatú programok megkeresésére és letöltésére.
Lanyado véletlenszerűen választott ki 20 kérdést a zero-shot hallucinációkhoz, és 100-szor tette fel ezeket minden modellnek. Célja az volt, hogy felmérje, milyen gyakran maradt ugyanaz a hallucinált csomagnév. Tesztének eredményei azt mutatják, hogy a nevek elég gyakran tartósak ahhoz, hogy funkcionális támadási vektorok lehessenek, bár nem mindig, és egyes csomagoló ökoszisztémákban jobban, mint másokban.
A GPT-4 esetében a kérdésekre adott válaszok 24.2 százaléka okozott hallucinált csomagokat, amelyek 19.6 százaléka ismétlődő volt, Lanyado szerint. Asztal biztosított A regisztrációAz alábbiakban a GPT-4 válaszok részletesebb lebontása látható.
Piton | node.js | Rubin | . NET | Go | |
---|---|---|---|---|---|
Összes kérdés | 21340 | 13065 | 4544 | 5141 | 3713 |
Kérdések legalább egy hallucinációs csomaggal | 5347 (25%) | 2524 (19.3%) | 1072 (23.5%) | 1476 (28.7%) 1093 hasznosítható (21.2%) | 1150 (30.9%) 109 hasznosítható (2.9%) |
Hallucinációk nulla lövésben | 1042 (4.8%) | 200 (1.5%) | 169 (3.7%) | 211 (4.1%) 130 hasznosítható (2.5%) | 225 (6%) 14 hasznosítható (0.3%) |
Hallucinációk a második lövésben | 4532 (21%) | 2390 (18.3%) | 960 (21.1%) | 1334 (25.9%) 1006 hasznosítható (19.5%) | 974 (26.2%) 98 hasznosítható (2.6%) |
Ismétlődés nulla ütésben | 34.4% | 24.8% | 5.2% | 14% | - |
A GPT-3.5 esetében a kérdésekre adott válaszok 22.2 százaléka váltott ki hallucinációt, 13.6 százaléka pedig ismétlődést. Az Ikrek esetében a kérdések 64.5-e hozott kitalált nevet, amelyek mintegy 14 százaléka ismétlődött. Cohere esetében pedig 29.1 százalék volt hallucináció, 24.2 százalék ismétlés.
Ennek ellenére a Go és a .Net csomagoló ökoszisztémáit úgy építették fel, hogy korlátozzák a kizsákmányolás lehetőségét azáltal, hogy megtagadják a támadók hozzáférését bizonyos útvonalakhoz és nevekhoz.
"A Go-ban és a .Net-ben hallucinált csomagokat kaptunk, de ezek közül sokat nem lehetett támadásra használni (a Go-ban a számok sokkal jelentősebbek voltak, mint a .Net-ben), mindegyik nyelvnek megvan a maga oka" - magyarázta Lanyado. A regisztráció. „Pythonban és npm-ben ez nem így van, mivel a modell nem létező csomagokat ajánl nekünk, és semmi sem akadályoz meg abban, hogy ilyen nevű csomagokat töltsünk fel, így határozottan sokkal könnyebb ilyen támadást futtatni olyan nyelveken, mint pl. Python és Node.js.”
PoC rosszindulatú program telepítése
Lanyado ezt a gondolatot bizonyító rosszindulatú szoftverek – a Python ökoszisztéma ártalmatlan állományának – terjesztésével tette fel. A ChatGPT futtatásra vonatkozó tanácsa alapján pip install huggingface-cli
, feltöltött egy üres csomagot ugyanazon a néven a PyPI-be – a fent említettet –, és létrehozott egy dummy nevű csomagot. blabladsa123
a csomag-nyilvántartási ellenőrzés és a tényleges letöltési kísérletek elkülönítése.
Az eredmény szerinte az huggingface-cli
több mint 15,000 XNUMX hiteles letöltést kapott a három hónap alatt, amíg elérhető volt.
„Emellett keresést is végeztünk a GitHubon, hogy megállapítsuk, használták-e ezt a csomagot más cégek adattáraiban” – mondta Lanyado az írás kísérletéhez.
„Eredményeink feltárták, hogy több nagyvállalat használja vagy ajánlja ezt a csomagot a tárhelyén. Például ennek a csomagnak a telepítésére vonatkozó utasítások megtalálhatók az Alibaba által végzett kutatásoknak szentelt adattár README részében.
Az Alibaba nem válaszolt a megjegyzéskérésre.
Lanyado azt is elmondta, hogy volt egy Hugging Face tulajdonában lévő projekt, amely magában foglalta a hamis huggingface-cli-t, de eltávolítva miután riasztotta a biz.
Eddig legalábbis ezt a technikát nem használták olyan tényleges támadásban, amelyről Lanyado tud.
"A hallucinált csomagunkon kívül (a mi csomagunk nem rosszindulatú, csak egy példa arra, hogy milyen könnyű és veszélyes lehet ezt a technikát kihasználni), még nem azonosítottam, hogy rosszindulatú szereplők kihasználták-e ezt a támadási technikát" - mondta. "Fontos megjegyezni, hogy bonyolult azonosítani egy ilyen támadást, mivel nem hagy sok lépést." ®
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://go.theregister.com/feed/www.theregister.com/2024/03/28/ai_bots_hallucinate_software_packages/
- :van
- :is
- :nem
- $ UP
- 000
- 1
- 100
- 13
- 130
- 14
- 15%
- 19
- 2%
- 20
- 22
- 23
- 24
- 25
- 26%
- 28
- 29
- 30
- 7
- 98
- a
- felett
- hozzáférés
- Szerint
- át
- szereplők
- tényleges
- mellett
- tanács
- Után
- AI
- AI modellek
- AI rendszerek
- AIR
- ais
- aka
- Alibaba
- Minden termék
- Is
- között
- összeg
- an
- és a
- válasz
- megfelelő
- VANNAK
- fegyveres
- AS
- kérdez
- értékeli
- At
- támadás
- támadó
- Kísérletek
- Hiteles
- elérhető
- tudatában van
- Rossz
- bár
- alapján
- BE
- óta
- hogy
- lent
- kívül
- Nagy
- biz
- botok
- Bontás
- hozott
- épült
- vállalkozások
- de
- by
- Kampány
- TUD
- eset
- okozott
- bizonyos
- kihívások
- chatbots
- ChatGPT
- választotta
- követelések
- cli
- CO
- kód
- Kódolás
- megjegyzés
- Companies
- bonyolult
- lefolytatott
- magabiztosan
- tudott
- nem tudott
- Bíróság
- készítette
- cyber
- Veszélyes
- december
- elszánt
- minden bizonnyal
- függőségek
- Függőség
- részletes
- részletezve
- Határozzuk meg
- fejlesztők
- Fejlesztés
- fejlesztőkkel
- DID
- különböző
- katasztrofális
- terjeszteni
- megosztott
- elosztó
- do
- nem
- Nem
- ne
- letöltés
- letöltve
- letöltések
- alatt
- minden
- könnyebb
- könnyű
- ökoszisztéma
- ökoszisztémák
- bármelyik
- végén
- elég
- példa
- létezik
- kísérlet
- magyarázható
- Exploit
- kizsákmányolás
- feltárása
- Arc
- hamisítvány
- messze
- február
- Fájlok
- megállapítások
- Cég
- öt
- A
- talált
- négy
- Keretrendszer
- ból ből
- funkcionális
- Gemini
- nemző
- Generatív AI
- szerzés
- GitHub
- Go
- cél
- kellett
- Legyen
- tekintettel
- he
- segít
- itt
- övé
- remény
- Hogyan
- How To
- HTTPS
- i
- ötlet
- azonosítani
- if
- képzelt
- végre
- fontos
- in
- magában foglalja a
- Bejegyzett
- magában
- amely magában foglalja
- index
- telepíteni
- telepítés
- telepítve
- telepítése
- példa
- utasítás
- bele
- Feltalált
- Hát
- IT
- ITS
- jpg
- éppen
- Kulcs
- Kedves
- fajta
- ismert
- Címke
- nyelv
- Nyelvek
- nagy
- tanult
- legkevésbé
- Szabadság
- Legális
- Tőkeáttétel
- könyvtárak
- könyvtár
- mint
- LIMIT
- Sok
- készült
- csinál
- rosszindulatú
- malware
- sok
- Lehet..
- jelentőségteljes
- említett
- esetleg
- modell
- modellek
- hónap
- több
- sok
- név
- Nevezett
- nevek
- Szükség
- igények
- háló
- nem
- csomópont
- node.js
- megjegyezni
- neves
- semmi
- Most
- számok
- of
- gyakran
- on
- ONE
- csak
- or
- Más
- Egyéb
- mi
- ki
- felett
- saját
- csomag
- csomagok
- csomagolás
- utak
- Emberek (People)
- százalék
- kitartás
- Plató
- Platón adatintelligencia
- PlatoData
- PoC
- pont
- porció
- póz
- jelent
- potenciális
- megakadályozza
- korábban
- per
- Probléma
- Készült
- programozók
- Programozás
- program
- feltéve,
- közzétett
- vontatás
- Piton
- kérdés
- Kérdések
- véletlen
- Inkább
- igazi
- ok
- kap
- kapott
- ajánl
- ajánlja
- tekintettel
- nyilvántartások
- iktató hivatal
- maradt
- ismétlés
- megismételt
- TÖBBSZÖR
- ismétlő
- raktár
- kérni
- kötelező
- kutatás
- kutató
- Reagálni
- válaszok
- eredményez
- Eredmények
- mutatják
- Revealed
- futás
- fut
- s
- Mondott
- azonos
- letapogatás
- Keresés
- Második
- biztonság
- látás
- különálló
- készlet
- számos
- Műsorok
- jelentős
- kicsi
- So
- szoftver
- SOLVE
- néhány
- Valaki
- keresett
- forrás
- forráskód
- Még mindig
- csík
- Később
- ilyen
- rendszer
- Systems
- táblázat
- technika
- tendencia
- teszt
- mint
- hogy
- A
- azok
- Őket
- akkor
- Ott.
- Ezek
- vékony
- semmi
- ezt
- idén
- azok
- bár?
- ezer
- három
- Keresztül
- idő
- alkalommal
- nak nek
- szerszám
- Fordult
- Turning
- fordul
- tudatában
- alatt
- feltöltve
- Feltöltés
- us
- használ
- használt
- Felhasználók
- segítségével
- hasznosított
- Ve
- keresztül
- vulkán
- várjon
- volt
- módon
- we
- JÓL
- voltak
- Mit
- amikor
- vajon
- ami
- lesz
- Hajlandóság
- val vel
- belül
- lenne
- írás
- év
- még
- zephyrnet
- nulla