Nawalan ng $1.8 Milyon ang Abracadabra DeFi Protocol
Nawalan ng $1.8 milyon ang DeFi protocol na Abracadabra matapos samantalahin ng isang umaatake ang isang simpleng pagkakamali sa lohika sa kanyang batch function. Ayon sa mga analyst mula sa Hacken, nailinis ng umaatake ang mga pondo sa pamamagitan ng Tornado Cash. Noong unang bahagi ng Oktubre, ang Abracadabra, isang DeFi lending protocol na nagpapahintulot sa mga tao na manghiram ng stablecoin na MIM gamit ang mga naidepositong token bilang collateral, ay muling nawalan ng humigit-kumulang $1.8 milyon.
Paano Naganap ang Pag-atake
Ginamit ng umaatake ang isang simpleng pagkakamali sa lohika sa batch function ng protocol upang manghiram nang hindi naglalagay ng anumang collateral, sa parehong paraan na tinamaan ang isang forked project ilang araw bago ito, ayon sa mga analyst mula sa blockchain security firm na Hacken sa isang research note na ibinahagi sa crypto.news.
Ang Abracadabra ay inilunsad bilang isang paraan para sa mga tao na gumamit ng mga interest-bearing token bilang collateral at manghiram ng token na nakatali sa U.S. dollar na tinatawag na Magic Internet Money, o MIM. Ang sistema ay nakabatay sa dalawang bahagi: Cauldrons, na humahawak sa mga patakaran sa panghihiram, at DegenBox, ang shared vault na talagang humahawak ng mga token.
Ang Pagkakamali sa Lohika
Ang maikling bersyon ng kung ano ang nagkamali ay ito: isang safety flag na dapat magpwersa ng huling pagsusuri kung ang isang manghihiram ay talagang may collateral ay na-off sa loob ng isang solong transaksyon. Ayon sa ulat ng Hacken, ang umaatake ay “nagsamantala sa isang flaw sa lohika sa cook function ng Abracadabra kung saan maaari silang manghiram ng MIM tokens at pagkatapos ay agad na i-reset ang validation flag na dapat suriin kung mayroon silang sapat na collateral.” Pinahintulutan nito ang isang one-shot, uncollateralized na panghihiram sa iba’t ibang Cauldrons.
Daloy ng Transaksyon
Narito kung paano gumana ang daloy, sa simpleng mga termino. Gumagamit ang Abracadabra ng isang batched function na tinatawag na cook upang ang mga gumagamit ay makagawa ng ilang aksyon sa isang transaksyon. Halimbawa, magdeposito ng collateral at manghiram sa parehong click. Isa sa mga aksyon na iyon, tulad ng hakbang na “manghiram”, ay nagtatakda ng isang flag na tinatawag na needsSolvencyCheck sa true, na nangangahulugang “sa dulo ng transaksyong ito, suriin na ang manghihiram ay ligtas.” Ngunit ang isa pang aksyon na maaaring isagawa sa loob ng parehong batch ay tinatawag na “_additionalCookAction(…)”.
Ayon sa Hacken, ang function na iyon ay idineklara bilang “virtual” at hindi kailanman naipatupad, kaya sa default ay nagbalik ito ng isang walang laman na bagay kung saan ang lahat ay nakatakdang false, kasama na ang needsSolvencyCheck flag. Bilang resulta, tinawag ng umaatake ang aksyon sa panghihiram, pagkatapos ay tinawag ang default na aksyon na nag-reset ng flag, at sa dulo, hindi kailanman sinuri ng protocol ang solvency.
Mga Resulta ng Pag-atake
Sinabi ng mga analyst na tinamaan ng umaatake ang anim na Cauldrons sa isang pagkakataon, na kumukuha ng humigit-kumulang 1.79 milyong MIM at pinalitan ito ng ETH. Ang mga umaatake ay nagsamantala sa kahinaan at sistematikong naglakbay sa anim na iba’t ibang Cauldrons, inubos ang bawat isa “gamit ang parehong teknika na may nakalaang tawag sa cook function,” ipinaliwanag ng mga analyst. Pagkatapos ng pagpapalit, ang umaatake ay nag-route ng mga pondo sa pamamagitan ng Tornado Cash, isang crypto mixing protocol, karamihan ay 10 ETH bawat isa, unti-unting nagpapadala sa susunod na araw.
Mga Nakaraang Insidente
At ito ay hindi ang unang pagkakataon na ang CauldronV4 code ng Abracadabra ay nasangkot sa problema. Ang iba pang mga insidente noong nakaraang taon ay gumamit ng iba’t ibang edge cases sa parehong pamilya ng mga kontrata. Ang kawili-wiling ngayon ay kung gaano kabilis tumugon ang forked deployment. Ayon sa ulat, isang fork na tinatawag na Synnax ay nag-pause o nag-un-whitelist ng kanyang CauldronV4 master sa sarili nitong DegenBox ilang araw bago ang pag-drain ng Abracadabra, kaya sa madaling salita, ang koponan ng fork ay humila ng emergency brake matapos makita ang parehong mahina na pattern, na nagpapahiwatig na ang panganib ay nakikita sa mga koponan na nagmamasid sa code, kung hindi man ay naayos.