Hibák injektálása okosszerződésekbe – LLM támogatással
Az LLM-ek egyre jobban tudnak programozni. De vajon mennyire tudnak hibázni?
A téma célja LLM-ekkel támogatott hibainjektálási kísérletek végrehajtása és ezt egy támogató keretrendszer kidolgozása. A feladat erősen felderítés jellegű; preferenciától függően lehet többé vagy kevésbé gyakorlati irányba vinni. A kontextus és részletek lentebb olvashatók.
Ha egy okosszerződésbe hiba kerül, az bizony komoly következményekkel járhat. Az okosszerződések sérülékenységeit kihasználó leghírhedtebb támadások a kriptovalutákat kezelő, publikus platformokat érintik, ahol tetemes összegeket tulajdonítanak el a támadók. Léteznek azonban zárt, vállaltközi felhasználásra tervezett blokklánc rendszerek is, ahol nem feltétlenül közvetlenül „pénz” a tét, hanem pl. az üzleti folytonosság, és a hibák akár kihatással lehetnek a fizikai világra is (gondoljunk csak egy hibásan jegyzett orvosi leletre).
Mivel a technológiából adódóan telepítés után az okosszerződések (és a bennük maradt hibák 🙂) megmásíthatlanok, ezért a körültekintő tesztelés után az esetlegesen mégis bent maradt hibák maszkolására érdemes további, működési idejű védelmi mechanizmusokat megfontolni, mint pl. az N-verziós programozás.
A védelmek hatékonyságának értékelésére jó módszer a hibainjektálás (fault-injection), ahol egy jó okosszerződés kódjába szándékosan különböző hibákat illesztünk be majd az így kapott hibás okosszerződésen validáljuk az alkalmazott védőhálókat. Maga a hiba automatikus injektálása a különböző nyelvű kódokba pedig nem triviális feladat, főleg ha a fókusz az okosszerződésekben előforduló tipikus hibák csoportja.
BME-MIT


