حمله 8 میلیون دلاری وام فلش Platypus به دلیل کدی که وجود داشت امکان پذیر شد که در طبق یک گزارش پس از مرگ از Omniscia حسابرس Platypus، ترتیب اشتباهی وجود دارد. شرکت حسابرسی ادعا می کند که کد مشکل دار در نسخه ای که دیده است وجود نداشته است.
با توجه به اخیر @Platypusdefi حادثه https://t.co/30PzcoIJnt تیم یک تجزیه و تحلیل فنی پس از مرگ را آماده کرده است که در آن چگونگی آشکار شدن این اکسپلویت با جزئیات بسیار عالی توضیح داده شده است.
حتما دنبال کنید @Omniscia_sec برای دریافت به روز رسانی های امنیتی بیشتر!https://t.co/cf784QtKPK pic.twitter.com/egHyoYaBhn
– Omniscia (@Omniscia_sec) 17 فوریه 2023
طبق این گزارش، قرارداد Platypus MasterPlatypusV4 «حاوی یک تصور غلط مرگبار در مکانیسم اضطراری Withdraw» بود که باعث شد «قبل از بهروزرسانی توکنهای LP مرتبط با موقعیت سهام، بررسی پرداخت بدهی خود را انجام دهد».
این گزارش تاکید میکند که کد تابع اضطراری دارای تمام عناصر لازم برای جلوگیری از حمله است، اما این عناصر به سادگی به ترتیب اشتباه نوشته شدهاند، همانطور که Omniscia توضیح داد:
میتوان با سفارش مجدد بیانیههای MasterPlatypusV4::emergencyWithdraw و انجام بررسی پرداخت بدهی پس از تنظیم مقدار ورودی کاربر روی 0، از این مشکل جلوگیری کرد که از وقوع حمله منع میکرد.»
Omnisia اعتراف کرد که نسخه ای از قرارداد MasterPlatypusV4 را از 21 نوامبر تا 5 دسامبر 2021 ممیزی کرده است. با این حال، این نسخه “هیچ نقطه ادغام با یک سیستم platypusTreasure خارجی” ندارد و بنابراین حاوی خطوط کد نامرتب نیست. از دیدگاه Omniscia، این نشان میدهد که توسعهدهندگان باید نسخه جدیدی از قرارداد را در مقطعی پس از انجام ممیزی مستقر کرده باشند.
مربوط: Raydium جزئیات هک را اعلام می کند و برای قربانیان غرامت پیشنهاد می کند
حسابرس ادعا می کند که اجرای قرارداد در آدرس C-Chain بهمن (AVAX). 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 همانی است که مورد بهره برداری قرار گرفت. خطوط 582-584 این قرارداد به نظر می رسد تابعی به نام “isSolvent” را در قرارداد PlatypusTreasure فراخوانی می کنند و خطوط 599-601 به نظر می رسد مقدار، عامل و پاداش بدهی کاربر را صفر می کند. با این حال، این مقادیر پس از فراخوانی تابع “isSolvent” روی صفر تنظیم می شوند.
تیم پلاتیپوس تایید شده در 16 فوریه که مهاجم از یک “نقص در [the] مکانیسم بررسی پرداخت بدهی USP»، اما تیم در ابتدا جزئیات بیشتری ارائه نکرد. این گزارش جدید از حسابرس روشن می کند که چگونه مهاجم ممکن است بتواند این سوء استفاده را انجام دهد.
تیم Platypus در 16 فوریه اعلام کرد که حمله رخ داده بود. تلاش کرده است با هکر تماس گرفته و وجوه را در ازای پاداش باگ برگرداند. مهاجم استفاده کرد وام های فلش شده برای انجام اکسپلویت، که مشابه استراتژی استفاده شده در اکسپلویت یخ زدایی مالی از 25 دسامبر.