تحلیل حمله ۲۲۳ میلیون دلاری به صرافی Cetus در بلاکچین Sui
در ماه مه ۲۰۲۵، صرافی غیرمتمرکز Cetus روی بلاکچین Sui هدف حملهای مهندسیشده قرار گرفت که منجر به سرقت ۲۲۳ میلیون دلار دارایی شد. این حمله بهدلیل وجود یک باگ مهم در بررسی سرریز عددی (Integer Overflow) رخ داد و بار دیگر ضرورت ممیزی دقیق قراردادهای هوشمند را به جامعه دیفای یادآوری کرد.
دلیل آسیبپذیری در پروتکل Cetus
منبع اصلی این نقص امنیتی، تابعی به نام checked_shlw
بود که مسئول بررسی عملیات شیفت بیت چپ است.
در زبان برنامهنویسی Move، عملیات شیفت میتواند منجر به سرریز شود و این زبان بهطور پیشفرض در این مورد محافظت ندارد.
در Cetus، مقدار ورودی به اشتباه با یک مقدار بسیار بزرگ مقایسه شده بود و همین باعث شد مقادیر خطرناک بهعنوان معتبر شناسایی شوند.
نحوه اجرای حمله
مهاجم با استفاده از وام فلش (Flash Loan) حمله را آغاز کرد و با ایجاد موقعیت نقدینگی در بازهای بسیار باریک، باعث محاسبه اشتباه تعداد توکن موردنیاز شد.
در نتیجه، مهاجم با واریز تنها یک توکن، حجم زیادی از نقدینگی را بهدست آورد و آن را در چند تراکنش خارج کرد — جمعاً معادل ۲۲۳ میلیون دلار سرقت موفق.
دلایل سقوط و نقاط ضعف امنیتی
عدم توجه به رفتار خاص عملیات شیفت در زبان Move
بررسی اشتباه در تابع
checked_shlw
اعتماد بیش از حد به ممیزیهای سطحی
عدم انجام تست فشار و رد تیمینگ واقعی
تأثیر حمله بر اکوسیستم Sui و Cetus
حمله به Cetus نهتنها اعتماد به این پروتکشل را خدشهدار کرد، بلکه سؤالات مهمی درباره امنیت کلی بلاکچین Sui مطرح کرده است.
برای توسعهدهندگان DeFi، این حمله یک یادآوری جدی است که حتی یک خط کد اشتباه میتواند صدها میلیون دلار دارایی را به خطر بیندازد.
راهکارهای جلوگیری از حملات مشابه
ممیزی عمیق توسط شرکتهای امنیتی متخصص در بلاکچین
رد تیمینگ و تستهای عملی با شبیهسازی حمله
تسلط کامل به ویژگیهای زبان قرارداد هوشمند (مثل Move)
استفاده از ابزارهای تحلیلی ایستا (Static Analysis) و ابزارهای fuzzing