Отказ от отговорност: Статията е актуализирана, за да отрази, че Omniscia не е проверила версия на договора MasterPlatypusV4. Вместо това компанията одитира версия на договора MasterPlatypusV1 от 21 ноември до 5 декември 2021 г.
Атаката срещу $8 милиона Platypus флаш заем стана възможна поради код, който беше в грешен ред, според към аутопсия от одитора на Platypus Omniscia. Одиторската компания твърди, че проблемният код не е съществувал във версията, която са одитирали.
В светлината на последните @Platypusdefi инцидент на https://t.co/30PzcoIJnt екипът е подготвил технически анализ след смъртта, описващ в големи подробности как експлойтът се е разгадал.
Не пропускайте да следвате @Omniscia_sec за да получавате повече актуализации за сигурност!https://t.co/cf784QtKPK pic.twitter.com/egHyoYaBhn
— Omniscia (@Omniscia_sec) Февруари 17, 2023
Според доклада, договорът Platypus MasterPlatypusV4 „съдържа фатално погрешно схващане в своя механизъм за аварийно изтегляне“, което го накара да извърши „проверката на платежоспособността си, преди да актуализира LP токените, свързани с позицията на залога“.
Докладът подчертава, че кодът за функцията EmergencyWithdraw има всички необходими елементи за предотвратяване на атака, но тези елементи просто са написани в грешен ред, както обяснява Omniscia:
„Проблемът можеше да бъде предотвратен чрез пренареждане на операторите MasterPlatypusV4::emergencyWithdraw и извършване на проверка на платежоспособността, след като въведената от потребителя сума е зададена на 0, което би забранило извършването на атаката.“
Omniscia одитира версия на договора MasterPlatypusV1 от 21 ноември до 5 декември 2021 г. Тази версия обаче „не съдържа точки за интеграция с външна система platypusTreasure“ и следователно не съдържа неправилно подредените редове код.
Важно е да се отбележи, че кодът, който беше използван, не съществуваше по време на одита на Omniscia. Гледната точка на Omniscia предполага, че разработчиците трябва да са внедрили нова версия на договора в даден момент след извършването на одита.
Свързани: Raydium обявява подробности за хакването, предлага компенсации за жертвите
Одиторът твърди, че изпълнението на договора на Avalanche C-Chain адрес 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 е това, което е експлоатиран. Редове 582–584 от този договор изглежда извикват функция, наречена „isSolvent“ в договора PlatypusTreasure, а редове 599–601 изглежда задават сумата, фактора и възнаграждението на потребителя на нула. Тези суми обаче са зададени на нула, след като функцията "isSolvent" вече е била извикана.
Екипът на Platypus потвърди на 16 февруари, че нападателят е използвал „пропуск в механизма за проверка на платежоспособността на USP“, но екипът първоначално не предостави повече подробности. Този нов доклад от одитора хвърля допълнителна светлина върху това как нападателят може да е успял да извърши експлойта.
Екипът на Platypus обяви на 16 февруари, че е настъпила атака. Той се е опитал да се свърже с хакера и да получи средствата върнати в замяна на награда за грешки. Нападателят използвани мигащи заеми за извършване на експлойта, който е подобен на стратегията, използвана в Експлойт на Defrost Finance на 25 декември 2022 г.
Източник: https://cointelegraph.com/news/platypus-attack-exploited-incorrect-ordering-of-code-auditor-claims