باگ محاسباتی که امکان هک Truebit و سرقت 8535 ETH را فراهم کرد

By: WEEX|13/01/2026 09:00:06
0
اشتراک‌گذاری
copy
امتیازدهی ما در گوگلامتیازدهی ما در گوگل
عنوان اصلی: «تحلیل آسیب‌پذیری قرارداد هک Truebit پروتکل ⁦$26.44M⁩»
منبع اصلی: ExVul Security

در ⁦08/01/2026⁩، پروتکل Truebit هک شد و در نتیجه 8,535.36 ETH (حدود ⁦$26.44M⁩) از دست رفت. اطلاعیه رسمی پروتکل Truebit اوایل روز بعد منتشر شد. تیم امنیتی ExVul تحلیل مفصلی از آسیب‌پذیری این حمله انجام داد که نتایج آن به شرح زیر است:

روند حمله

آدرس مهاجم:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

هش تراکنش حمله:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

مهاجم حمله را با تکرار 4باره فراخوانی‌های تراکنش‌های getPurchasePrice→0xa0296215→0xc471b10b انجام داد. برای نمونه، تحلیل بر نخستین چرخه تمرکز دارد.

1. مهاجم ابتدا تابع getPurchasePrice(240442509453545333947284131) را فراخوانی کرد که مقدار 0 را برگرداند.

باگ محاسباتی که امکان هک Truebit و سرقت 8535 ETH را فراهم کرد

2. مهاجم تابع 0xa0296215(c6e3ae8e2cbab1298abaa3) را با msg.value برابر با 0 فراخوانی کرد و با موفقیت 240442509453545333947284131 توکن TRU ضرب کرد.

3. مهاجم تابع 0xc471b10b(c6e3ae8e2cbab1298abaa3) را فراخوانی کرد. سپس 240442509453545333947284131 توکن TRU را سوزاند و 5105.06 ETH دریافت کرد.

تحلیل منطق حمله

با بررسی روند حمله بالا، مشخص می‌شود که منطق تابع getPurchasePrice و تابع 0xa0296215 ایراد دارد. در ادامه، تحلیلی عمیق ارائه می‌شود (از آنجا که کد قرارداد متن‌باز نیست، کد زیر کد دی‌کامپایل‌شده است).

با مقایسه شباهت‌های دو تابع، می‌توان دریافت که تابع 0x1446 برای تعیین مقدار ETH موردنیاز جهت خرید مقدار مشخصی TRU استفاده می‌شود. روشن است که در منطق تابع 0x1446 نقصی وجود دارد که باعث محاسبه نادرست ETH می‌شود. در ادامه، منطق تابع 0x1446 را با جزئیات بررسی می‌کنیم.

با مشاهده منطق تابع 0x1446، از آنجا که نتیجه نهایی محاسبه v13  == 0 است، قطعی است که منطق محاسبه‌ای که پیش‌تر به آن اشاره شد ایراد دارد. توجه کنید که تابع 0x18ef معادل _SafeMul است؛ بنابراین، مشکل از استفاده از جمع بومی v12 + v9 ناشی می‌شود (نسخه قرارداد  ^0.6.10 است و در نتیجه بررسی سرریز انجام نمی‌شود).

v12 و v9 نشان‌دهنده موارد زیر هستند:

بر اساس تحلیل بالا، روش مهاجم وارد کردن مقدار بسیار بزرگ _amountIn است تا v12 + v9 سرریز کند و به مقداری بسیار کوچک برسد؛ در نهایت، (v12 + v9) / v6 == 0 می‌شود.

جمع‌بندی

دلیل اصلی حمله این بار به پروتکل Truebit، وجود یک باگ شدید سرریز عدد صحیح در منطق محاسبه قیمت خرید توکن آن است. از آنجا که قرارداد از نسخه Solidity ^0.6.10 استفاده می‌کند و عملیات حسابی مهم را به‌صورت ایمن بررسی نمی‌کند، در نهایت 8,535.36 ETH از دست رفت. نسخه‌های جدیدتر Solidity خود تا حدی آسیب‌پذیری‌های سرریز را کاهش داده‌اند. باید این حمله را نمونه‌ای از استفاده هکر از هوش مصنوعی برای اسکن خودکار برخی پروتکل‌های قدیمی اما فعال دیفای و یافتن آسیب‌پذیری‌هایشان دانست (از جمله حمله‌های اخیر به Balancer و yETH). باور داریم که چنین حمله‌هایی مبتنی بر هوش مصنوعی به پروتکل‌های قدیمی دیفای در آینده نزدیک رایج‌تر خواهند شد. بنابراین، توصیه می‌کنیم پروژه‌ها ممیزی‌های امنیتی جدیدی برای کد قراردادهای خود انجام دهند. در صورت یافتن آسیب‌پذیری، باید قرارداد را به‌سرعت ارتقا دهند یا دارایی‌ها را منتقل کنند، نظارت آن‌چین را حفظ کنند، ناهنجاری‌ها را سریع تشخیص دهند و زیان‌ها را به حداقل برسانند.

این مقاله محتوایی ارسالی است و دیدگاه‌های BlockBeats را منعکس نمی‌کند.

قیمت --

--
--
--

این محتوا صرفاً برای اطلاع‌رسانی عمومی ارائه شده است و به‌منزله مشاوره مالی، سرمایه‌گذاری، حقوقی یا مالیاتی تلقی نمی‌شود. هرگونه رویداد، جایزه، کمپین آنلاین یا اطلاعات مرتبط که در اینجا ذکر شده است، نباید به‌عنوان توصیه، ترغیب یا دعوت به خرید، فروش، معامله یا هرگونه دادوستد دیگر دارایی‌های رمزارزی تلقی شود. دارایی‌های رمزارزی از نوسان بالایی برخوردار هستند و ممکن است منجر به زیان شوند. دسترسی به خدمات، محصولات و رویدادهای مرتبط با WEEX ممکن است بسته به منطقه جغرافیایی متفاوت باشد. اطمینان از اینکه استفاده شما از این خدمات با قوانین و مقررات محلی مطابقت دارد، بر عهده خود شماست.

ممکن است شما نیز علاقه‌مند باشید

استانداردهای هوش مصنوعی فینچ در اتریوم ثبت شد

Bitmine خرید ETH را پس از رسیدن به 5 درصد عرضه متوقف می‌کند

یک دمو از خزانه‌داری حریم خصوصی Midnight نیاز به امضاکنندگان خارجی برای آزادسازی توکن‌های اتریوم دارد

خزانه‌داری آزمایشی اتریوم SIG برای برداشت‌ها و تأییدات از امضاکنندگان خارجی استفاده می‌کند تا ادعاهای انتقال ناموفق را بازیابی کند. ترون همچنان هدف نقشه راه باقی می‌ماند.

eUSD (Telcoin): قیمت 1.00 دلار، سرمایه بازار 10.04 میلیون دلار

eUSD یک استیبل‌کوین دلاری بانک دارایی دیجیتال Telcoin است که برای حفظ ارزش در حدود 1 دلار طراحی شده و با ذخایر نقدی به دلار آمریکا و معادل‌های آن پشتیبانی می‌شود. ۳ تاجر برتر بر اساس ارزیابی کاربران ۱. فرهنگ مالی تأیید شده ۴.۸ نظرات (۲۸۴) ۲. DÈ SKLADCHINA تأیید شده ۴.۷ نظرات (۲۵۹) ۳. Elixir تأیید شد...

Dune داده‌های بازار زنده را راه‌اندازی کرد، شامل ۱۲ بلاک‌چین و ۲۰۰ پلتفرم معاملاتی

بلوک‌چین در عصر کامپیوترهای کوانتومی... استراتژی‌های بقا متفاوت اتریوم، استلا و ترون

...

جدیدترین مقالات

بیشتر

آخرین لیست سکه ها در WEEX

iconiconiconiconiconiconiconicon
پشتیبانی مشتری:@weikecs
همکاری تجاری:@weikecs
معاملات کمّی و بازارسازی:bd@weex.com
برنامه VIP:support@weex.com