Napad Platypus je izkoristil nepravilno vrstni red kode, trdi revizor

Zavrnitev odgovornosti: članek je bil posodobljen tako, da odraža, da Omniscia ni revidirala različice pogodbe MasterPlatypusV4. Namesto tega je podjetje revidiralo različico pogodbe MasterPlatypusV1 od 21. novembra do 5. decembra 2021.

Napad na hitro posojilo Platypus v višini 8 milijonov dolarjev je bil mogoč zaradi kode, ki je bila v napačnem vrstnem redu, po na post mortem poročilo revizorja Platypusa Omniscie. Revizijska družba trdi, da problematična koda ni obstajala v različici, ki so jo revidirali.

Glede na poročilo je pogodba Platypus MasterPlatypusV4 "vsebovala usodno napačno predstavo v svojem mehanizmu za umik v sili", zaradi česar je opravila "preverjanje plačilne sposobnosti, preden je posodobila žetone LP, povezane s položajem vložka."

Poročilo je poudarilo, da ima koda za funkcijo EmergencyWithdraw vse potrebne elemente za preprečitev napada, vendar so bili ti elementi preprosto napisani v napačnem vrstnem redu, kot je pojasnil Omniscia:

"Težavo bi lahko preprečili s ponovnim naročanjem stavkov MasterPlatypusV4::emergencyWithdraw in izvedbo preverjanja plačilne sposobnosti, potem ko je bil vnos uporabnikovega zneska nastavljen na 0, kar bi preprečilo izvedbo napada."

Omniscia je revidirala različico pogodbe MasterPlatypusV1 od 21. novembra do 5. decembra 2021. Vendar pa ta različica »ni vsebovala integracijskih točk z zunanjim sistemom platypusTreasure« in zato ni vsebovala napačno urejenih vrstic kode.

Pomembno je omeniti, da koda, ki je bila izkoriščena, v času revizije Omniscie ni obstajala. Stališče podjetja Omniscia pomeni, da so razvijalci zagotovo uvedli novo različico pogodbe na neki točki po opravljeni reviziji.

Povezano: Raydium objavlja podrobnosti vdora in predlaga odškodnino za žrtve

Revizor trdi, da je izvedba pogodbe na naslovu Avalanche C-Chain 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 tista, ki je bila Exploited. Zdi se, da vrstice 582–584 te pogodbe kličejo funkcijo, imenovano »isSolvent« v pogodbi PlatypusTreasure, in zdi se, da vrstice 599–601 nastavijo uporabnikov znesek, faktor in nagradni dolg na nič. Vendar so ti zneski nastavljeni na nič, potem ko je bila funkcija »isSolvent« že poklicana.

Ekipa Platypus potrjena 16. februarja, da je napadalec izkoristil "napako v mehanizmu za preverjanje solventnosti USP", vendar ekipa sprva ni zagotovila dodatnih podrobnosti. To novo revizorjevo poročilo dodatno osvetljuje, kako je napadalcu morda uspelo izkoristiti napad.

Ekipa Platypus je 16. februarja objavila, da je je prišlo do napada. Poskušal je stopiti v stik s hekerjem in dobiti vrnjena sredstva v zameno za nagrado za hrošče. Napadalec uporabila bliskovita posojila izvesti podvig, ki je podoben strategiji, uporabljeni v Izkoriščanje Defrost Finance 25. decembra 2022.