8 جنوری 2026 کو، Truebit Protocol کو ہیک کر دیا گیا، جس میں 8,535.36 ETH (لگ بھگ 26.44 ملین ڈالر) کا نقصان ہوا۔ اگلے دن صبح Truebit Protocol کی جانب سے اس کی تصدیق کی گئی۔ ExVul سیکیورٹی ٹیم نے اس حملے کا تفصیلی خرابی تجزیہ کیا ہے، تجزیہ کے نتائج درج ذیل ہیں:
حملہ کا عمل داری کا
حملہ آور کا پتہ:
0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50
حملہ کاری ٹرانزیکشن ہیش:
0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
حملہ آور نے 4 گھمائش کے دوران ٹرانزیکشن کے ذریعے حملہ مکمل کیا جس میں getPurchasePrice→0xa0296215→0xc471b10b کو کال کیا گیا۔ پہلی گھمائش کے مطابق تجزیہ کیا جائے۔
1. حملہ آور پہلے فنکشن getPurchasePrice(240442509453545333947284131) کو کال کرتا ہے، جو 0 واپس کرتا ہے۔

2. مُتَحَرِّک 0xa0296215(c6e3ae8e2cbab1298abaa3) کے فنکشن کو کال کرتا ہے اور msg.value 0 ہوتا ہے۔ آخرکار 240442509453545333947284131 TRU کو کامیابی سے مائن کیا جاتا ہے۔

3. حملہ آور 0xc471b10b(c6e3ae8e2cbab1298abaa3) کو فنکشن کال کرتا ہے۔ آخر میں 240442509453545333947284131 TRU کو تباہ کر دیتا ہے اور 5105.06 ETH حاصل کرتا ہے۔
حملہ منطق تجزیہ
اگر ہم اس حملے کے عمل کو سمجھتے ہیں تو واضح طور پر معلوم ہوتا ہے کہ فنکشن getPurchasePrice اور 0xa0296215 فنکشن میں منطق کا مسئلہ ہے۔ ہم اب تجزیہ کرنا شروع کریں گے (چونکہ کانٹریکٹ کوڈ کھلا نہیں ہے، اس لیے نیچے کوڈ ڈی کمپائل کردہ کوڈ ہے)۔


دوں دونوں فنکشن کے مشترکہ نکات کے تجزیہ کے ذریعے ہم یہ دریافت کر سکتے ہیں کہ 0x1446 فنکشن کس طرح کام کرتا ہے کہ مطلوبہ تعداد کے TRU خریدنے کے لیے کتنا ETH درکار ہے۔ واضح طور پر 0x1446 فنکشن میں منطقی خامی ہے جو کہ ETH کی غلط گنتی کا باعث بن رہی ہے۔ 0x1446 فنکشن میں موجود منطق کا تفصیلی تجزیہ درج ذیل ہے۔

0x1446 فنکشن میں منطق کا جائزہ لیں کیونکہ آخری کیلکولیشن کا نتیجہ v13 == 0 ہے، اس لیے یہ ضروری ہے کہ اس کیلکولیشن کی منطق میں کوئی مسئلہ ہو۔ 0x18ef کے فنکشن کو سمجھنا ضروری ہے کیونکہ یہ _SafeMul کے برابر ہے، اس لیے مسئلہ اصلی اضافی جمع v12 + v9 کے استعمال میں ہے (کانٹریکٹ ورژن ^0.6.10 ہے، اس لیے کوئی اوورفلو چیک نہیں ہے)۔
v12 اور v9 کی تفصیل درج ذیل ہے:

اُپر لکھی گئی تجزیہ کے مطابق، حملہ آور کا حملہ کا خیال یہ ہے کہ بہت بڑا _amountIn داخل کر کے v12 + v9 کو ایک بہت چھوٹی قیمت میں بھر دیا جائے، اور آخر کار (v12 + v9) / v6 == 0 ہو جائے۔
اختصار
ایسی ٹری بٹ پروٹوکول کے حملے کی بنیادی وجہ اس کے ٹوکن خریداری قیمت کی گنتی کے منطق میں شدید عددی اضافہ کا خلل تھا۔ کنٹریکٹ سالیڈٹی ^0.6.10 کی ورژن کا استعمال کر رہا تھا اور اہم حساباتی کام کی سیکیورٹی چیک نہیں کی گئی تھی، جس کی وجہ سے 8,535.36 ای ٹی ایچ کا بڑا نقصان ہوا۔ موجودہ وقت میں نئی ورژن کی سالیڈٹی خود ہی اضافہ کے خلل کو کم کر چکی ہے۔ اس حملے کی واقعہ کو احتمال ہے کہ ہیکر اے آئی کے استعمال سے خود کار طریقے سے کچھ پہلے سے چل رہے ڈی ایف آئی پروٹوکول کو چیک کر کے اس خلل کا فائدہ اٹھا رہے ہیں (بیلنسر اور yETH حملے کے حوالے سے)۔ ہمیں امید ہے کہ اس طرح کے حملے اب بہت زیادہ ہوں گے، اس لیے ہم سفارش کرتے ہیں کہ منصوبہ بندی کنٹریکٹ کوڈ کی نئی سیکیورٹی جانچ کرائیں، اگر کوئی خلل ملتا ہے تو جلد سے جلد کنٹریکٹ کو اپ گریڈ کریں یا اثاثوں کو منتقل کریں، اور بلاک چین پر نگرانی کریں، غیر معمولی سرگرمی کو جلد سے جلد پکڑ کر نقصان کو کم کریں۔

