Paghahambing ng Bug sa Kontrata ng 26.44 Milyong Dolyar na Naukulan ng Truebit Protocol
Pinanggalingan ng orihinal na teksto: ExVul Security
Noong Enero 8, 2026, inatake ng Truebit Protocol ng isang hacker, na nangunguna sa pagkawala ng 8,535.36 ETH (kabibilngan ng $26.44 milyon). Ang opisyales ng Truebit Protocol ay naglabas ng isang pahayag noong araw na sumunod upang kumpirmahin ito. Ang ExVul Security Team ay nagawa ng isang detalyadong pagsusuri ng bughaw, at ang resulta ng pagsusuri ay sumusunod:
Proseso ng Pag-atake
Address ng mananap:
0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50
Transaksyon hash ng pag-atake:
0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
Nagawa an mga mananapaw pinaagi han paggamit hin 4 ka hurot nga transaksyon ha pagtawag ha getPurchasePrice→0xa0296215→0xc471b10b, para han una nga hurot nga pananalayda.
1. Una ang manlulupig ay nagsimulang tawagin ang function na getPurchasePrice(240442509453545333947284131) at bumalik ito ng 0.

2. Ang manlulupig ay nagtawag ng 0xa0296215(c6e3ae8e2cbab1298abaa3) na function, habang ang msg.value ay 0. Ang TRU na 240442509453545333947284131 ay matagumpay na nilikha.

3. Ang manlalakas ay nagtawag ng 0xc471b10b(c6e3ae8e2cbab1298abaa3) function. Sa huli, 240442509453545333947284131 TRU ang nasunog at nakakuha ng 5105.06 ETH.
Pagsusuri sa Lojika ng Pag-atake
Batay sa pag-unawa sa ibabaw na proseso ng pag-atake, maaaring malinaw na makita na mayroong isyu sa lohika ng mga function na getPurchasePrice at 0xa0296215. Magsisimula kami ng isang mas malalim na pagsusuri (dahil hindi open-source ang kontrata, ang mga code sa ibaba ay lahat ay mula sa decompile code).


Sa pamamagitan ng paghahambing ng mga katulad na aspeto ng dalawang function, maaari nating matuklasan na ang function na 0x1446 ay ginagamit para malaman kung ilang ETH kailangan upang bumili ng isang tiyak na bilang ng TRU. Malinaw na mayroong isyu sa lohika ng function na 0x1446, na nagdudulot ng mali sa pagkalkula ng ETH. Sa ibaba ay isasagawa ang detalyadong pagsusuri sa lohika ng function na 0x1446.

Pansinin ang lohika sa loob ng function 0x1446, dahil sa wakas ay ang resulta ng kalkulasyon na v13 == 0, kaya't siguradong may problema sa lohika ng kalkulasyon sa itaas. Ang dapat alamin ay ang 0x18ef ay may parehong function na _SafeMul, kaya't ang problema ay nasa paggamit ng orihinal na pagdaragdag v12 + v9 (ang bersyon ng kontrata ay ^0.6.10, kaya't walang overflow check).
Ang v12 at v9 ay nangangahulugan ng:

Batay sa nabanggit na pagsusuri, ang layunin ng manlulupig ay pumasok ng isang malaking _amountIn upang mapag-overflow ang v12 + v9 at maging isang maliit na halaga, at sa huli ay maging (v12 + v9) / v6 == 0.
Pagsusumary
Ang pangunahing dahilan ng pag-atake sa Truebit Protocol ay ang malubhang integer overflow na bug sa kanilang token purchase price calculation logic. Dahil ang contract ay gumagamit ng Solidity ^0.6.10 at walang seguridad sa mga mahahalagang aritmetiko, kaya nangako ng malaking pagkawala ng 8,535.36 ETH. Ang mga bagong bersyon ng Solidity ay nakakatugon na sa integer overflow na bug. Ang pag-atake na ito ay dapat ay ginawa ng mga hacker na gumagamit ng AI upang awtomatikong i-scan ang ilang lumang DeFi protocol na nasa online (kabilang ang Balancer at yETH attack noong nakaraang panahon). Naniniwala kami na ang mga ganitong uri ng pag-atake na gumagamit ng AI upang i-atake ang ilang lumang DeFi protocol ay lalaganap pa sa mga darating na araw, kaya inirerekomenda namin sa mga proyekto na gawin ang isang bagong seguridad na pagsusuri sa kanilang contract code, kung mayroon silang natagpuang bug, dapat ay agad silang mag-upgrade ng contract o magawa ng asset transfer, at gawin ang on-chain monitoring upang mabilis na matukoy ang anumang hindi pangkaraniwang aktibidad at bawasan ang pinsala.
Ang artikulong ito ay mula sa isang ambet at hindi nagsasalungat sa mga opinyon ng BlockBeats.
Mag-click para malaman ang BlockBeats at ang mga posisyon na hinahanap nila
Mangyaring sumali sa opisyales na komunidad ng BlockBeats:
Telegram Subscription Group:https://t.me/theblockbeats
Telegram Group Chat:https://t.me/BlockBeats_App
Opisyal na Twitter account:https://twitter.com/BlockBeatsAsia


