Sulmi Platypus shfrytëzoi renditjen e gabuar të kodit, pretendon auditori

Mohim përgjegjësie: Artikulli është përditësuar për të pasqyruar se Omniscia nuk ka audituar një version të kontratës MasterPlatypusV4. Në vend të kësaj, kompania auditoi një version të kontratës MasterPlatypusV1 nga 21 nëntori deri më 5 dhjetor 2021.

Sulmi i huasë flash Platypus prej 8 milionë dollarësh u bë i mundur për shkak të kodit që ishte në rendin e gabuar, sipas në një raport pas vdekjes nga auditori i Platypus Omniscia. Kompania e auditimit pretendon se kodi problematik nuk ekzistonte në versionin që ata audituan.

Sipas raportit, kontrata e Platypus MasterPlatypusV4 "përmbante një keqkuptim fatal në mekanizmin e tërheqjes së urgjencës", i cili e bëri atë të kryente "kontrollin e aftësisë paguese përpara se të përditësonte shenjat LP të lidhura me pozicionin e aksioneve".

Raporti theksonte se kodi për funksionin e urgjencësWithdraw kishte të gjithë elementët e nevojshëm për të parandaluar një sulm, por këta elementë thjesht ishin shkruar në rendin e gabuar, siç shpjegoi Omniscia:

"Çështja mund të ishte parandaluar duke ri-orderizuar deklaratat MasterPlatypusV4::emergencyWithdraw dhe duke kryer kontrollin e aftësisë paguese pasi futja e shumës së përdoruesit të jetë caktuar në 0, gjë që do të ndalonte kryerjen e sulmit."

Omniscia auditoi një version të kontratës MasterPlatypusV1 nga 21 nëntori deri më 5 dhjetor 2021. Megjithatë, ky version "nuk përmbante asnjë pikë integrimi me një sistem të jashtëm platypusTreasure" dhe për këtë arsye nuk përmbante linjat e gabuara të kodit.

Është e rëndësishme të theksohet se kodi që u shfrytëzua nuk ekzistonte në kohën e auditimit të Omniscia. Këndvështrimi i Omniscia nënkupton që zhvilluesit duhet të kenë vendosur një version të ri të kontratës në një moment pas kryerjes së auditimit.

Related: Raydium shpall detajet e hakimit, propozon kompensim për viktimat

Auditori pretendon se zbatimi i kontratës në adresën Avalanche C-Chain 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 është ai që ishte i shfrytëzuar. Linjat 582-584 të kësaj kontrate duket se thërrasin një funksion të quajtur "isSolvent" në kontratën e PlatypusTreasure dhe linjat 599-601 duket se vendosin shumën, faktorin dhe shpërblimin e përdoruesit Borxhi në zero. Megjithatë, këto shuma vendosen në zero pasi funksioni "isSolvent" është thirrur tashmë.

Ekipi i Platypus i konfirmuar më 16 shkurt se sulmuesi shfrytëzoi një "të metë në mekanizmin e kontrollit të aftësisë paguese të USP", por ekipi fillimisht nuk dha detaje të mëtejshme. Ky raport i ri nga auditori hedh dritë më tej se si sulmuesi mund të ketë qenë në gjendje të kryejë shfrytëzimin.

Ekipi i Platypus njoftoi më 16 shkurt se kishte ndodhur sulmi. Ajo është përpjekur të kontaktojë hakerin dhe t'i kthejë fondet në këmbim të një shpërblimi për gabime. Sulmuesi kreditë e përdorura të ndezura për të kryer shfrytëzimin, i cili është i ngjashëm me strategjinë e përdorur në Shfrytëzimi i shkrirjes Financiare më 25 dhjetor 2022.