Ar išmokėjimo limitas galėjo sustabdyti „Liquid“ 320 mln. USD išnaudojimą?
2026 m. rugsėjo 6 d. Liquid federacija išleido maždaug 3 996 BTC po to, kai jos tinklas priėmė L-BTC, kuriam trūko Bitcoin paramos. Liquid yra Bitcoin šoninė grandinė, kurios L-BTC yra skirta reprezentuoti federacijos rezerve laikomus bitkoinus. Teisingai įgaliotas atsiėmimas pavertė negaliojančią šoninės grandinės būseną tikru Bitcoin mokėjimu, kurio vertė tuo metu buvo apie 320 mln. Išmokėjimo limitas prieš pasirašant federaciją galėjo nutraukti tą pasitraukimą.
„Alpen Labs“ generalinė direktorė Simnta Gautam dabar sako, kad jo dirbtinio intelekto agentai aptiko trūkumą ir atkūrė jį vietoje maždaug per valandą. Darbas prasidėjo jam išgirdus apie rugsėjo 6-osios išpuolį. Jo rugsėjo 22 d. ataskaitoje ir techninėje ataskaitoje pateikiamas išsamus nepavykusio įrodymo patikrinimo paaiškinimas. Demonstracija įvyko po to, kai lėšos pasitraukė, todėl jos greitis savaime mažai pasako apie tai, ar stovintis AI monitorius būtų iškėlęs veiksmingą įspėjimą prieš ataką.
„Elements“ – programinė įranga, su kuria grindžiama „Liquid“, talpykloje saugo sėkmingus kriptografinių įrodymų, pridedamų prie konfidencialių operacijų, patikrinimus. Pakeitus rugsėjo 1 d. kodą, kiekvienas talpykloje saugomas rezultatas priklausė nuo viso konteksto, turinčio įtakos patvirtinimui, įskaitant išteklių generatorių ir išvesties scenarijų. Alpenas sako, kad pakeitimas tuos laukus sujungė kaip neapdorotus baitus, neužkoduodamas jų ribų. Todėl galiojantis „seed“ įrodymas ir kitas netinkamas tikslas gali sukurti identišką talpyklos įvestį.
Alpen vietinio pakartojimo metu naujas patikrinimas atmetė tikslą, o paveiktas talpyklos paketas jį priėmė po to, kai pradinė programa užpildė talpyklą. Sėkminga talpyklos paieška aplenkė įrodymo patikrinimą, kuris turėjo atmesti tikslą. Abiejuose teiginiuose buvo tie patys talpyklos įvesties baitai, nors jie atspindėjo skirtingas patvirtinimo užklausas. Tai buvo vietinis įtariamo sutarimo nesėkmės atkūrimas. Alpenas sako, kad tikslūs gamybos patvirtinimo dvejetainiai failai ir istorinis talpyklos turinys buvo nepasiekiami, todėl įdiegtas kodas ir tiesioginis pradinis kelias buvo stipriai numanomi iš šaltinio ir grandinės įrodymų.
„SideSwap“ teigia, kad rugpjūtį savo mazge įdiegta privati saugos versija priėmė atakos sandorį. Ši paskyra susiaurina vieno operatoriaus diegimo klausimą, bet neidentifikuoja kiekvieno federacijos pareigūno versijos. Rugsėjo 8 d. „Elements“ remontas pakeitė talpyklos raktus, kad būtų užkoduotas laukų ilgis, buvo įtraukti į susidūrimą orientuoti bandymai ir įdiegta parinktis apeiti nuotoliui atsparią talpyklą. Rugsėjo 9 d. buvo išleista 23.3.4 versija. Šie pakeitimai susiję su patvirtinimo vartais, kol negaliojantis L-BTC gali tapti priimta būsena.
Įgaliotąjį išvažiavimą vis tiek reikėjo patikrinti atskirai
Remiantis „SideSwap“ paskyra, užpuolikas rugsėjo 6 d. 14:05 UTC išsiuntė 4 000 L-BTC į savo atjungimo tarnybą. „SideSwap“ sudegino žetonus su galiojančiu įgaliojimu 14:06. Užsakymas viršijo savo piniginės lėšas, todėl du bandymai išmokėti nepavyko, o federacijos pasirašiusieji išleido 3 996 BTC 14:28. SideSwap teigia, kad persiuntė 3 995.99999857 BTC kliento adresu tame pačiame Bitcoin bloke.
Priimtas užsakymas parodo, kodėl saugos patikrinimui nepakako galiojančio rakto. „SideSwap“ teigia, kad jo autorizacijos raktas buvo internete, išmokėjimai buvo automatiniai, o paslauga neturėjo dydžio, greičio, santykinio pasiūlos, piniginės istorijos ar žmogaus peržiūros patikrinimų. Išskirtinį prašymą po dviejų nesėkmingų bandymų pasirašė ir federacija. Išmokėjimo limitas arba kitas nepriklausomas sulaikymas tarnyboje ar federacijoje, pritaikytas prieš suteikiant įgaliojimą arba pasirašant, galėjo sustabdyti šį konkretų išmokėjimo kelią net ir po to, kai Liquid pripažino netinkamą būseną.
Prieigos raktas neprisijungus būtų sukūręs pauzę prieš SideSwap patvirtinant susiejimą. Atidėtas rankinis persiuntimas būtų veikęs vėliau. Tai galėjo palikti SideSwap kontroliuojamą federacijos sumokėtą Bitcoin grąžinimui, tačiau federacijos rezervo pervedimas jau būtų įvykęs. Tiksli vieta, kurioje veikia apsaugos priemonė, lemia, kokių nuostolių ji gali išvengti.
Gautamo vienos valandos rezultatas apibūdina retrospektyvų tyrimą. Vietinis pakartojimas parodo, kaip talpykla gali grąžinti neteisingą atsakymą pagal įvertintą kodą; ji neišmatuoja nuolatinio detektoriaus galimybės aptikti defektą prieš įdiegimą ir nepateikia tikslios gamybos talpyklos būsenos įrašo. Pataisytas tikrintuvas gali atmesti netinkamą šoninės grandinės operaciją. Išmokėjimo limitas gali apimti nuostolius, jei tiltą vis tiek pasiekia kitas defektas. Valdikliai pašalina įvairius gedimus.
Rugsėjo 17 d. Liquid pranešė, kad įprasti sandoriai buvo atnaujinti, o susiejimas buvo sustabdytas. Teigiama, kad išėmimai bus pradėti iš naujo tik po to, kai bus patvirtintas visas „vienas su vienu“ BTC palaikymas ir bus atlikti būtini programinės įrangos atnaujinimai, bandymai ir nepriklausomos peržiūros. Neatsakytas operatyvinis klausimas yra tai, ar atnaujintas susiejimas turės nepriklausomą priežastį sustabdyti rezervo dydžio įgaliotą užklausą, kol Bitcoin išeis iš federacijos globos.
