پس از هک شدن پروتکل دیفای پلاتیپوس (Platypus) در روز گذشته، حداقل 2.4 میلیون USDC با کمک بلاکسک (BlockSec)، شرکت امنیتی بلاکچین، به این پلتفرم بازگردانده شد.
طبق گفته بلاکسک، از 9.1 میلیون دلار وجوه دزدیده شده از پلاتیپوس، مهاجم فقط می تواند 270،000 دلار را نقد کند. براساس دادههای زنجیرهای، حدود 8.5 میلیون دلار از وجوه دزدیده شده در قراردادی که به آن منتقل شده بود، مسدود شده است و 380000 دلار دیگر طور تصادفی به آوه بازگردانده شده است.
بازیابی بخشی از وجوه دزدیده شده از پلاتیپوس حول برنامه بلاکسک برای استفاده از شکاف موجود در قرارداد مهاجم بود. یاجین ژو، یکی از بنیانگذاران بلاکسک به وبسایت دیبلاک گفت:
«با استفاده از این شکاف، پروژه میتواند وجوه قرارداد مهاجم را به حساب خود منتقل کند.»
برای بازگرداندن رمزارزها، بلاکسک از یک تابع تماس برگشتی (CallBack function) در قرارداد مهاجم استفاده کرد. ژو اشاره کرد:
“این حمله از طریق واسط تماس برگشتی وام فوری در قرارداد حمله راه اندازی شد. این تابع فراخوانی هیچ کنترل دسترسی ندارد و در طول این تابع فراخوانی، مهاجم منطق را برای تایید USDC به قرارداد پروژه (که یک پروکسی است) رمزگذاری کرده بود.”
بنابراین پروژه می تواند ابتدا تابع callback در قرارداد مهاجم را برای تایید USDC به قرارداد پروژه فراخوانی کند. سپس قرارداد پروژه می تواند USDC را از قرارداد مهاجم با ارتقاء پروکسی به یک پیاده سازی جدید خارج کند.