حسابرس ادعا می کند که حمله Platypus از ترتیب نادرست کدها سوء استفاده کرده است

سلب مسئولیت: مقاله به‌روزرسانی شده است تا نشان دهد Omniscia نسخه‌ای از قرارداد MasterPlatypusV4 را ممیزی نکرده است. در عوض، این شرکت نسخه ای از قرارداد MasterPlatypusV1 را از 21 نوامبر تا 5 دسامبر 2021 ممیزی کرد.

حمله 8 میلیون دلاری وام فلش پلاتیپوس به دلیل کدی که ترتیب اشتباهی داشت امکان پذیر شد. مطابق به گزارش پس از مرگ از Omniscia حسابرس Platypus. شرکت حسابرسی ادعا می کند که کد مشکل دار در نسخه ای که آنها حسابرسی کرده اند وجود نداشته است.

بر اساس این گزارش، قرارداد Platypus MasterPlatypusV4 «حاوی یک تصور غلط مرگبار در مکانیسم برداشت اضطراری خود بود» که باعث شد «قبل از به‌روزرسانی توکن‌های LP مرتبط با موقعیت سهام، بررسی پرداخت بدهی خود را انجام دهد».

این گزارش تاکید می‌کند که کد تابع اضطراری دارای تمام عناصر لازم برای جلوگیری از حمله است، اما این عناصر به سادگی به ترتیب اشتباه نوشته شده‌اند، همانطور که Omniscia توضیح داد:

می‌توان با سفارش مجدد بیانیه‌های MasterPlatypusV4::emergencyWithdraw و انجام بررسی پرداخت بدهی پس از تنظیم مقدار ورودی کاربر روی 0، از این مشکل جلوگیری کرد که از وقوع حمله منع می‌کرد.»

Omniscia یک نسخه از قرارداد MasterPlatypusV1 را از 21 نوامبر تا 5 دسامبر 2021 ممیزی کرد. با این حال، این نسخه "هیچ نقطه ادغام با یک سیستم platypusTreasure خارجی" ندارد و بنابراین حاوی خطوط کد نامرتب نیست.

توجه به این نکته ضروری است که کدی که مورد سوء استفاده قرار گرفت در زمان ممیزی Omniscia وجود نداشت. دیدگاه Omniscia نشان می‌دهد که توسعه‌دهندگان باید نسخه جدیدی از قرارداد را در مقطعی پس از انجام ممیزی مستقر کرده باشند.

مرتبط: Raydium جزئیات هک را اعلام می کند و برای قربانیان غرامت پیشنهاد می کند

حسابرس ادعا می کند که اجرای قرارداد در آدرس Avalanche C-Chain 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 همان چیزی است که سوء استفاده قرار گیرد. خطوط 582-584 این قرارداد به نظر می رسد تابعی به نام "isSolvent" را در قرارداد PlatypusTreasure فراخوانی می کنند و خطوط 599-601 به نظر می رسد که مقدار، ضریب و پاداش بدهی کاربر را صفر می کند. با این حال، این مقادیر پس از فراخوانی تابع "isSolvent" روی صفر تنظیم می شوند.

تیم پلاتیپوس تایید شده در 16 فوریه که مهاجم از یک "نقص در مکانیزم بررسی پرداخت بدهی USP" سوء استفاده کرد، اما تیم در ابتدا جزئیات بیشتری ارائه نکرد. این گزارش جدید از حسابرس روشن می کند که چگونه مهاجم ممکن است بتواند این سوء استفاده را انجام دهد.

تیم Platypus در 16 فوریه اعلام کرد که حمله رخ داده بود. تلاش کرده است با هکر تماس گرفته و وجوه را در ازای پاداش باگ برگرداند. مهاجم وام های فلش استفاده شده برای انجام اکسپلویت، که مشابه استراتژی استفاده شده در اکسپلویت یخ زدایی مالی در 25 دسامبر 2022.