Truebit Protocol Dirempuh dengan $26.44 Juta Disebabkan Kekurangan Integer Overflow

iconOdaily
Kongsi
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconRingkasan

expand icon
Truebit Protocol mengalami kecurian sebanyak $26.44 juta pada 8 Januari 2026 disebabkan oleh kelemahan integer overflow dalam logik pembelian tokennya. Penggodam memanipulasikan nilai input yang besar menggunakan gelung (loop) untuk memanipulasikan fungsi 0x1446 dan memicu pengiraan ETH yang salah. Kelemahan ini berasal daripada Solidity ^0.6.10 yang tidak mempunyai semakan integer overflow. Kejadian ini menunjukkan keperluan untuk mengemaskini protokol dan menegaskan keperluan segera untuk menangani berita kelemahan dalam DeFi. Pasukan keselamatan ExVul memperingatkan bahawa serangan berpandu AI terhadap protokol yang usang mungkin meningkat, meminta pasukan untuk menjalankan audit dan melaksanakan pemantauan.

Pada 8 Januari 2026, protokol Truebit Protocol telah diceroboh, menyebabkan kehilangan sebanyak 8,535.36 ETH (kira-kira 26.44 juta dolar AS). Pihak rasmi Truebit Protocol mengesahkannya dalam satu kenyataan yang dikeluarkan pada pagi harinya. Kumpulan keselamatan ExVul telah membuat analisis terperinci mengenai kelemahan yang menyebabkan serangan ini, dan keputusan analisisnya adalah seperti berikut:

Proses serangan

Alamat penyerang:

0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50

Hash perdagangan serangan:

0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014

Pengganas menyelesaikan serangan dengan memanggil transaksi getPurchasePrice→0xa0296215→0xc471b10b dalam 4 putaran. Kita akan menganalisis contoh putaran pertama.

1. Pengganas memanggil fungsi getPurchasePrice(240442509453545333947284131) terlebih dahulu, dan mengembalikan 0.

2. Pemangkir memanggil fungsi 0xa0296215(c6e3ae8e2cbab1298abaa3) dengan nilai msg.value sifar. Akhirnya, 240442509453545333947284131 token TRU berjaya dicetak.

3. Penyusup memanggil fungsi 0xc471b10b(c6e3ae8e2cbab1298abaa3). Akhirnya memusnahkan 240442509453545333947284131 TRU dan memperoleh 5105.06 ETH.

Analisis Logik Serangan

Dengan memahami alur serangan di atas, kita boleh jelas mengesan bahawa terdapat masalah logik dalam fungsi getPurchasePrice dan fungsi 0xa0296215. Kita akan mula menganalisis lebih lanjut (kerana kontrak ini tidak dibuka sumber, kod di bawah adalah kod yang diterjemah balik).

Dengan membandingkan kesamaan antara dua fungsi, kita boleh menemui bahawa fungsi 0x1446 digunakan untuk mendapatkan jumlah ETH yang diperlukan untuk membeli kuantiti TRU yang ditentukan. Jelasnya, terdapat masalah logik dalam fungsi 0x1446 yang menyebabkan kesilapan pengiraan ETH. Analisis logik dalam fungsi 0x1446 akan diterangkan secara terperinci di bawah.

Perhatikan logik dalam fungsi 0x1446, kerana keputusan pengiraan akhir v13 == 0, jadi pasti terdapat sesuatu yang salah dalam logik pengiraan sebelumnya. Perlu diperhatikan bahawa fungsi 0x18ef mempunyai fungsi yang sama dengan _SafeMul, jadi masalahnya berlaku disebabkan penggunaan penambahan asal v12 + v9 (versi kontrak ialah ^0.6.10, jadi tiada pemeriksaan kebocoran).

v12 dan v9 masing-masing merujuk kepada:

Melalui analisis di atas, pendekatan serangan penyerang adalah dengan memasukkan _amountIn yang sangat besar, menyebabkan v12 + v9 melimpah menjadi nilai yang sangat kecil, akhirnya menyebabkan (v12 + v9) / v6 == 0.

Ringkasan

Penyebab utama serangan ke atas Truebit Protocol ialah kelemahan integer overflow yang serius dalam logik pengiraan harga jualan token. Disebabkan kontrak menggunakan versi Solidity ^0.6.10 dan tidak menjalankan pemeriksaan keselamatan ke atas operasi aritmetik yang penting, kehilangan besar sebanyak 8,535.36 ETH berlaku. Pada masa kini, versi Solidity terkini sendiri telah mengatasi kelemahan integer overflow. Serangan ini mungkin dilakukan oleh penjenayah siber yang menggunakan AI secara automatik untuk memeriksa kelemahan dalam beberapa protokol DeFi lama yang sedia ada (termasuk serangan Balancer dan yETH sebelum ini). Kami percaya kes serangan seperti ini yang menggunakan AI untuk menyerang protokol DeFi lama akan semakin meningkat dalam tempoh terdekat, jadi kami mencadangkan pihak projek menjalankan audit keselamatan semula ke atas kod kontrak mereka. Jika kelemahan dikesan, mereka perlu segera mengemaskinikan kontrak atau memindahkan aset, serta memantau transaksi di blockchain dengan teliti untuk memastikan kejadian tidak normal dapat dikesan secepat mungkin dan mengurangkan kehilangan kepada tahap minimum.

Penafian: Maklumat yang terdapat pada halaman ini mungkin telah diperoleh daripada pihak ketiga dan tidak semestinya menggambarkan pandangan atau pendapat KuCoin. Kandungan ini adalah disediakan bagi tujuan maklumat umum sahaja, tanpa sebarang perwakilan atau waranti dalam apa jua bentuk, dan juga tidak boleh ditafsirkan sebagai nasihat kewangan atau pelaburan. KuCoin tidak akan bertanggungjawab untuk sebarang kesilapan atau pengabaian, atau untuk sebarang akibat yang terhasil daripada penggunaan maklumat ini. Pelaburan dalam aset digital boleh membawa risiko. Sila menilai risiko produk dan toleransi risiko anda dengan teliti berdasarkan keadaan kewangan anda sendiri. Untuk maklumat lanjut, sila rujuk kepada Terma Penggunaan dan Pendedahan Risiko kami.