Աուդիտորը պնդում է, որ Platypus հարձակումը շահագործել է կոդի սխալ դասակարգում

Հրաժարում պատասխանատվությունից. հոդվածը թարմացվել է՝ արտացոլելու համար, որ Omniscia-ն չի ստուգել MasterPlatypusV4 պայմանագրի տարբերակը: Փոխարենը, ընկերությունը ստուգել է MasterPlatypusV1 պայմանագրի տարբերակը 21 թվականի նոյեմբերի 5-ից մինչև դեկտեմբերի 2021-ը։

Platypus-ի 8 միլիոն դոլար արժողությամբ վարկային հարձակումը հնարավոր է դարձել սխալ կարգի կոդի պատճառով, ըստ Platypus-ի աուդիտոր Omniscia-ի հետմահու զեկույցին: Աուդիտորական կազմակերպությունը պնդում է, որ իրենց կողմից աուդիտի ենթարկված տարբերակում խնդրահարույց ծածկագիրը չի եղել:

Զեկույցի համաձայն, Platypus MasterPlatypusV4 պայմանագիրը «պարունակում էր ճակատագրական սխալ պատկերացում իր արտակարգՎերջման մեխանիզմում», որը ստիպեց նրան կատարել «իր վճարունակության ստուգումը նախքան ցցի դիրքի հետ կապված LP նշանները թարմացնելը»:

Զեկույցում ընդգծվում է, որ արտակարգ «Withdraw» ֆունկցիայի ծածկագիրը պարունակում է բոլոր անհրաժեշտ տարրերը՝ հարձակումը կանխելու համար, սակայն այդ տարրերը պարզապես գրվել են սխալ հերթականությամբ, ինչպես բացատրեց Omniscia-ն.

«Խնդիրը կարելի էր կանխել MasterPlatypusV4::emergencyWithdraw քաղվածքները նորից պատվիրելով և վճարունակության ստուգում կատարելով այն բանից հետո, երբ օգտատիրոջ գումարի մուտքագրումը 0-ի սահմանվեց, ինչը կարգելեր հարձակումը»:

Omniscia-ն ստուգել է MasterPlatypusV1 պայմանագրի տարբերակը 21 թվականի նոյեմբերի 5-ից մինչև դեկտեմբերի 2021-ը: Այնուամենայնիվ, այս տարբերակը «չի պարունակում ինտեգրման կետեր արտաքին platypusTreasure համակարգի հետ» և, հետևաբար, չի պարունակում կոդի սխալ տողեր:

Կարևոր է նշել, որ այն ծածկագիրը, որը շահագործվել է, գոյություն չուներ Omniscia-ի աուդիտի ժամանակ: Omniscia-ի տեսակետը ենթադրում է, որ մշակողները պետք է գործածած լինեն պայմանագրի նոր տարբերակը աուդիտից հետո ինչ-որ պահի:

Related: Raydium-ը հայտնում է հակերության մանրամասները, առաջարկում է փոխհատուցում տալ զոհերին

Աուդիտորը պնդում է, որ պայմանագրի իրականացումը Avalanche C-Chain հասցեում 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 այն է, որը եղել է. շահագործված. Այս պայմանագրի 582–584 տողերը, ըստ երևույթին, կանչում են «isSolvent» ֆունկցիան, որը կոչվում է «isSolvent» PlatypusTreasure պայմանագրում, իսկ 599–601 տողերը, ըստ երևույթին, սահմանում են օգտատիրոջ գումարը, գործակիցը և պարգևավճարը զրոյի: Այնուամենայնիվ, այս գումարները սահմանվում են զրոյի այն բանից հետո, երբ «isSolvent» ֆունկցիան արդեն կանչվել է:

Platypus թիմը հաստատել փետրվարի 16-ին, որ հարձակվողը շահագործել է «ԱՄՆ-ի վճարունակության ստուգման մեխանիզմի թերությունը», սակայն թիմը ի սկզբանե լրացուցիչ մանրամասներ չի հաղորդել: Աուդիտորի այս նոր զեկույցը լրացուցիչ լույս է սփռում այն ​​բանի վրա, թե ինչպես է հարձակվողը կարողացել իրականացնել այդ շահագործումը:

The Platypus թիմը փետրվարի 16-ին հայտարարեց, որ հարձակում էր տեղի ունեցել. Այն փորձել է կապ հաստատել հաքերի հետ և վերադարձնել միջոցները սխալների պարգևի դիմաց: Հարձակվողը օգտագործված բռնկված վարկեր կատարել շահագործումը, որը նման է ռազմավարությանը, որն օգտագործվում է Defrost Finance-ի շահագործում 25 թվականի դեկտեմբերի 2022-ին։