A Platypus támadás kihasználta a kód helytelen rendezését, állítja az auditor

Jogi nyilatkozat: A cikket frissítettük, hogy tükrözze, hogy az Omniscia nem ellenőrizte a MasterPlatypusV4 szerződés egy verzióját. Ehelyett a vállalat 1. november 21-től december 5-ig auditálta a MasterPlatypusV2021 szerződés egy verzióját.

A 8 millió dolláros Platypus flash kölcsöntámadást a rossz sorrendű kód tette lehetővé, szerint a Platypus auditor Omniscia post mortem jelentésére. A könyvvizsgáló cég azt állítja, hogy a problémás kód nem létezett az általuk vizsgált verzióban.

A jelentés szerint a Platypus MasterPlatypusV4 szerződés „végzetes tévhitet tartalmazott a alarmWithdraw mechanizmusában”, ami arra késztette, hogy a tétpozícióhoz kapcsolódó LP tokenek frissítése előtt elvégezze a fizetőképesség ellenőrzését.

A jelentés hangsúlyozta, hogy a alarmWithdraw funkció kódja tartalmazza a támadások megelőzéséhez szükséges összes elemet, de ezeket az elemeket egyszerűen rossz sorrendben írták, ahogy Omniscia kifejtette:

"A probléma megelőzhető lett volna a MasterPlatypusV4::emergencyWithdraw kivonatok újrarendelésével és a fizetőképesség ellenőrzésével, miután a felhasználó összegének 0-ra lett állítva, ami megtiltotta volna a támadást."

Az Omniscia 1. november 21. és december 5. között ellenőrizte a MasterPlatypusV2021 szerződés egy verzióját. Ez a verzió azonban „nem tartalmazott integrációs pontokat külső platypusTreasure rendszerrel”, ezért nem tartalmazta a rosszul rendezett kódsorokat.

Fontos megjegyezni, hogy a kihasznált kód még nem létezett az Omniscia auditja idején. Az Omniscia álláspontja azt sugallja, hogy a fejlesztőknek az audit elvégzése után valamikor be kellett vezetniük a szerződés új verzióját.

Kapcsolódó: A Raydium bejelenti a feltörés részleteit, kártérítést javasol az áldozatoknak

A könyvvizsgáló azt állítja, hogy a szerződés végrehajtása az Avalanche C-Chain 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 címen az, amelyik Hasznosított. Úgy tűnik, hogy a szerződés 582–584. sorai az „isSolvent” nevű függvényt hívják meg a PlatypusTreasure szerződésben, az 599–601. sorok pedig nullára állítják a felhasználó összegét, tényezőjét és jutalomadósságát. Ezek az összegek azonban nullára kerülnek az „isSolvent” függvény meghívása után.

A Platypus csapat megerősített február 16-án, hogy a támadó "az USP fizetőképesség-ellenőrzési mechanizmusának hibáját" használta ki, de a csapat kezdetben nem közölt további részleteket. Ez az új könyvvizsgálói jelentés további megvilágításba helyezi, hogy a támadó hogyan tudta végrehajtani a kihasználást.

A Platypus csapata február 16-án jelentette be, hogy a támadás történt. Megkísérelte felvenni a kapcsolatot a hackerrel, és visszakapni az összeget egy hibaért cserébe. A támadó használt gyorskölcsönök hogy végrehajtsa az exploitot, ami hasonló a programban használt stratégiához Defrost Finance exploit 25. december 2022-én.