دزدی از هکر در اتریوم! یک ربات، ۷.۸ میلیون دلار رمزارز را از هکر گرفت
یک سرقت عجیب در شبکه اتریوم در ۱۵ سپتامبر ۲۰۲۶ (۲۴ شهریور ۱۴۰۵) اتفاق افتاد؛ سرقتی که شاید در نگاه اول یک حمله معمولی به یک کیف پول رمزارزی به نظر برسد، اما پایان آن کاملاً متفاوت بود. یک مهاجم توانست حدود ۲۹۰۰ واحد rsETH به ارزش تقریبی ۷.۸ میلیون دلار را از یک کیف پول Safe خارج کند، اما پیش از آنکه خودش بتواند داراییها را به مقصد نهایی منتقل کند، یک ربات معاملاتی خودکار وارد ماجرا شد و رمزارزها را از دست او خارج کرد.
به زبان ساده، هکر تقریباً سرقت را با موفقیت انجام داده بود؛ اما یک ربات، هکر را غافلگیر کرد و پول را از جلوی دست او برداشت.
ماجرا از کجا شروع شد؟
کیف پول موردنظر یک کیف پول هوشمند Safe روی شبکه اتریوم بود که حدود ۲۹۰۰ واحد rsETH در اختیار داشت. rsETH یک رمزارز مرتبط با پروتکل Kelp DAO است که برای داراییهای استیکشده و ریاستیکشده اتریوم استفاده میشود.
بررسی شرکتهای امنیتی بلاکچین نشان داد که مشکل از هسته اصلی Safe نبود. در واقع، صاحب کیف پول قبلاً یک ماژول یا قرارداد کمکی را برای انجام برخی عملیات به کیف پول خود متصل و مجاز کرده بود. همین قرارداد کمکی، در ادامه به نقطه ورود مهاجم تبدیل شد.
مهاجم با سوءاستفاده از ضعف موجود در این مسیر توانست دستورهایی را به کیف پول تحمیل کند که در شرایط عادی باید نیازمند کنترلهای بیشتری میبودند. در نتیجه، داراییهای موجود در کیف پول به سمت زیرساختی تحت کنترل مهاجم هدایت شدند.
نکته مهم این است که هیچ کلید خصوصی دزدیده نشده بود و مالک کیف پول هم تراکنش سرقت را امضا نکرده بود. مشکل از مجوزی بود که پیشتر به یک ماژول داده شده بود. تحقیقات Bitquery نشان میدهد این عملیات در یک تراکنش بسیار پیچیده و با دهها فراخوانی قرارداد هوشمند انجام شد.
هکر یک اشتباه بزرگ کرد
در دنیای اتریوم، تراکنشهای در انتظار اجرا معمولاً برای مدتی در فضای عمومی موسوم به mempool قابل مشاهده هستند. این یعنی تراکنش هکر پیش از ثبت نهایی در بلاکچین، قابل مشاهده بود.
اینجا پای بازیگر دیگری به ماجرا باز شد: رباتی با نام Yoink.
این ربات یک MEV Searcher است؛ یعنی برنامهای که تراکنشهای شبکه را بهصورت خودکار بررسی میکند و اگر فرصت مالی مناسبی پیدا کند، تلاش میکند با تغییر ترتیب تراکنشها از آن استفاده کند.
Yoink تراکنش مربوط به حمله را مشاهده کرد و متوجه شد که تقریباً ۷.۸ میلیون دلار دارایی در حال جابهجایی است. سپس تصمیم گرفت به جای اینکه منتظر بماند هکر پول را منتقل کند، خودش همان عملیات را زودتر انجام دهد.
برای این کار، ربات حدود ۱۹ اتریوم، معادل تقریباً ۴۶ تا ۴۷ هزار دلار پرداخت کرد تا تراکنش خودش در ابتدای بلاک قرار بگیرد.
مطلب مرتبط: امنیت کیف پول رمزارز؛ چطور یک اشتباه ساده میتواند کل سرمایهتان را نابود کند؟
هکر پول را دزدید؛ ربات پول را از هکر دزدید!
در نهایت، تراکنش Yoink قبل از تراکنش مهاجم در همان بلاک قرار گرفت.
طبق بررسیهای آنچین، حدود ۲۸۸۲ واحد rsETH به آدرسی تحت کنترل Yoink منتقل شد. وقتی نوبت به تراکنش اصلی مهاجم رسید، دیگر دارایی موردنظر در کیف پول باقی نمانده بود.
به این ترتیب، مهاجم موفق شد از آسیبپذیری استفاده کند، اما خودش نتوانست دارایی سرقتشده را تصاحب کند. در عوض، رباتی که تراکنش او را زیر نظر گرفته بود، با پرداخت کارمزد بالا از او جلو زد و بخش عمده دارایی را برداشت.
به همین دلیل، بعضی گزارشها این اتفاق را به شکل طنزآمیزی «دزدی از دزد» توصیف کردهاند؛ هرچند Yoink لزوماً یک هکر به معنای معمول کلمه نیست و در اصل یک ربات MEV است که از فرصت ایجادشده توسط تراکنش مهاجم استفاده کرده است.
آیا پول به صاحب اصلی کیف پول برگشت؟
خیر؛ دستکم تا زمان انتشار این گزارش، بازگشت دارایی به مالک کیف پول گزارش نشده است.
این نکته بسیار مهم است. Yoink جلوی رسیدن پول به هکر را گرفت، اما این به معنی بازگرداندن پول به قربانی نیست.
پس وضعیت ماجرا را میتوان اینطور خلاصه کرد:
مالک کیف پول: حدود ۷.۸ میلیون دلار دارایی خود را از دست داد.
هکر: موفق به خارجکردن دارایی شد، اما نتوانست آن را تصاحب کند.
Yoink: حدود ۲۸۸۲ rsETH را پیش از هکر به دست آورد.
Kelp DAO: آدرس دریافتکننده را شناسایی و برای مدت ۲۴ ساعت تحت محدودیت قرار داد تا امکان جابهجایی rsETH از آن آدرس متوقف شود.
بنابراین فعلاً نمیتوان گفت این ربات «پول را نجات داده و به صاحبش برگردانده است». سرنوشت نهایی داراییها همچنان به اقدامات بعدی و احتمال بازگرداندن آنها بستگی دارد.
این اتفاق چه چیزی درباره امنیت کیف پولها نشان میدهد؟
این حادثه یک نکته مهم را درباره کیف پولهای هوشمند نشان میدهد: امنیت فقط به محافظت از کلید خصوصی محدود نمیشود.
یک کیف پول ممکن است از نظر کلیدهای خصوصی کاملاً امن باشد، اما اگر کاربر یک قرارداد یا ماژول خارجی را با دسترسی گسترده فعال کرده باشد، همان ماژول میتواند به بخشی از سطح حمله تبدیل شود.
Safe نیز از معماری ماژولار استفاده میکند تا کاربران بتوانند قابلیتهای مختلفی را به کیف پول اضافه کنند. این قابلیت برای اجرای عملیات خودکار و پیچیده مفید است، اما هر مجوز اضافه میتواند یک ریسک جدید نیز ایجاد کند.
ماجرای ۷.۸ میلیون دلاری اتریوم همچنین نشان داد که در بازار رمزارزها حتی یک حمله موفق هم ممکن است پایان قابل پیشبینی نداشته باشد. این بار هکر توانست از یک ضعف امنیتی عبور کند، اما پیش از آنکه داراییها را به مقصد برساند، یک ربات از خود او سریعتر عمل کرد.
در نهایت، قربانی هنوز پول خود را پس نگرفته، هکر هم به پول نرسیده و میلیونها دلار رمزارز فعلاً در میانه یک درگیری عجیب میان هکر، ربات MEV و پروتکل صادرکننده rsETH قرار دارد.