Bitget App
Trading lebih cerdas
Beli kriptoPasarTradingFuturesEarnWeb3WawasanSelengkapnya
Trading
Spot
Beli dan jual kripto dengan mudah
Margin
Perkuat modalmu dan maksimalkan efisiensi dana
Onchain
Trading Onchain, Tanpa On-Chain
Konversi & perdagangan blok
Konversi kripto dengan satu klik dan tanpa biaya
Jelajah
Launchhub
Dapatkan keunggulan lebih awal dan mulailah menang
Copy
Salin elite trader dengan satu klik
Bot
Bot trading AI yang mudah, cepat, dan andal
Trading
Futures USDT-M
Futures diselesaikan dalam USDT
Futures USDC-M
Futures diselesaikan dalam USDC
Futures Koin-M
Futures diselesaikan dalam mata uang kripto
Jelajah
Panduan futures
Perjalanan pemula hingga mahir di perdagangan futures
Promosi Futures
Hadiah berlimpah menantimu
Ringkasan
Beragam produk untuk mengembangkan aset Anda
Earn Sederhana
Deposit dan tarik kapan saja untuk mendapatkan imbal hasil fleksibel tanpa risiko
Earn On-chain
Dapatkan profit setiap hari tanpa mempertaruhkan modal pokok
Earn Terstruktur
Inovasi keuangan yang tangguh untuk menghadapi perubahan pasar
VIP dan Manajemen Kekayaan
Layanan premium untuk manajemen kekayaan cerdas
Pinjaman
Pinjaman fleksibel dengan keamanan dana tinggi
Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya?

Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya?

BlockBeatsBlockBeats2025/11/04 06:24
Tampilkan aslinya
Oleh:BlockBeats

Masalah utama dari serangan kali ini terletak pada logika protokol dalam menangani transaksi bernilai kecil.

Judul Asli: 《Analisis Teknis Kerentanan Balancer yang Dicuri $120M》
Sumber Asli: ExVul Security


Pendahuluan


Pada 3 November 2025, protokol Balancer di beberapa blockchain publik seperti Arbitrum dan Ethereum mengalami serangan hacker, menyebabkan kerugian aset sebesar 120 juta dolar AS. Inti serangan berasal dari kerugian presisi dan kerentanan ganda manipulasi nilai invarian.


Infrastruktur Chainlink telah lama mempertahankan standar tertinggi di bidang Web3, sehingga menjadi pilihan alami bagi X Layer yang berkomitmen menyediakan alat tingkat institusi bagi para pengembang.


Masalah kunci dalam serangan ini terletak pada logika protokol dalam menangani transaksi bernilai kecil. Ketika pengguna melakukan pertukaran dengan jumlah kecil, protokol akan memanggil fungsi _upscaleArray, yang menggunakan mulDown untuk pembulatan ke bawah. Begitu saldo dalam transaksi dan jumlah input berada pada batas pembulatan tertentu (misalnya di kisaran 8-9 wei), akan terjadi kesalahan presisi relatif yang signifikan.


Kesalahan presisi ini diteruskan ke proses perhitungan nilai invarian D dalam protokol, menyebabkan nilai D menyusut secara tidak normal. Perubahan nilai D secara langsung menurunkan harga BPT (Balancer Pool Token) dalam protokol Balancer. Hacker memanfaatkan harga BPT yang ditekan ini, melakukan arbitrase melalui jalur transaksi yang telah dirancang sebelumnya, dan akhirnya menyebabkan kerugian aset yang sangat besar.


Pemanfaatan kerentanan Tx:


Transfer aset Tx:


Analisis Teknis


Pintu Masuk Serangan


Pintu masuk serangan adalah kontrak Balancer: Vault, dengan fungsi masuk batchSwap, yang secara internal memanggil onSwap untuk pertukaran token.


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 0


Dari parameter dan batasan fungsi, dapat diperoleh beberapa informasi:


1. Penyerang harus memanggil fungsi ini melalui Vault, tidak dapat memanggilnya secara langsung.


2. Fungsi secara internal akan memanggil _scalingFactors() untuk mendapatkan faktor skala dan melakukan operasi penskalaan.


3. Operasi penskalaan terpusat di _swapGivenIn atau _swapGivenOut.


Analisis Pola Serangan


Mekanisme Perhitungan Harga BPT


Dalam model pool stabil Balancer, harga BPT adalah referensi penting yang menentukan berapa banyak BPT yang didapat pengguna dan berapa banyak aset yang didapat setiap BPT.


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 1


Dalam perhitungan pertukaran pool:


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 2


Bagian yang berperan sebagai patokan harga BPT adalah nilai invarian D, sehingga untuk memanipulasi harga BPT harus memanipulasi D. Berikut analisis proses perhitungan D:


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 3


Pada kode di atas, proses perhitungan D bergantung pada array balances yang telah diskalakan. Artinya, harus ada operasi yang mengubah presisi balances ini, sehingga menyebabkan kesalahan perhitungan D.


Akar Kerugian Presisi


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 4


Operasi penskalaan:


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 5


Seperti terlihat di atas, saat menggunakan _upscaleArray, jika saldo sangat kecil (misalnya 8-9 wei), pembulatan ke bawah oleh mulDown akan menyebabkan kerugian presisi yang signifikan.


Penjelasan Rinci Proses Serangan


Tahap 1: Menyesuaikan ke Batas Pembulatan


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 6


Tahap 2: Memicu Kerugian Presisi (Kerentanan Inti)


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 7


Tahap 3: Memanfaatkan Harga BPT yang Ditekan untuk Mendapatkan Keuntungan


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 8


Seperti terlihat di atas, penyerang menggunakan Batch Swap untuk melakukan beberapa pertukaran dalam satu transaksi:


1. Pertukaran pertama: BPT → cbETH (menyesuaikan saldo)


2. Pertukaran kedua: wstETH (8) → cbETH (memicu kerugian presisi)


3. Pertukaran ketiga: aset dasar → BPT (mengambil keuntungan)


Semua pertukaran ini terjadi dalam satu transaksi batch swap, berbagi status saldo yang sama, namun setiap pertukaran akan memanggil _upscaleArray untuk mengubah array balances.


Ketiadaan Mekanisme Callback


Proses utama dimulai oleh Vault, bagaimana hal ini menyebabkan akumulasi kerugian presisi? Jawabannya ada pada mekanisme transmisi array balances.


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 9


Menganalisis kode di atas, meskipun setiap kali memanggil onSwap Vault akan membuat array currentBalances baru, namun dalam Batch Swap:


1. Setelah pertukaran pertama, saldo diperbarui (namun karena kerugian presisi, nilai yang diperbarui mungkin tidak akurat)


2. Pertukaran kedua dihitung berdasarkan hasil pertukaran pertama


3. Kerugian presisi terakumulasi, akhirnya menyebabkan nilai invarian D menyusut secara signifikan


Masalah Kunci:


Analisis teknis: Balancer diretas sebesar 120 juta dolar, di mana letak celah keamanannya? image 10


Kesimpulan


Serangan terhadap Balancer kali ini dapat dirangkum menjadi beberapa alasan berikut:


1. Fungsi penskalaan menggunakan pembulatan ke bawah: _upscaleArray menggunakan mulDown untuk penskalaan, ketika saldo sangat kecil (misalnya 8-9 wei), akan terjadi kerugian presisi relatif yang signifikan.


2. Perhitungan nilai invarian sangat sensitif terhadap presisi: Perhitungan nilai invarian D bergantung pada array balances yang telah diskalakan, kerugian presisi akan langsung diteruskan ke perhitungan D, menyebabkan D menyusut.


3. Tidak ada verifikasi perubahan nilai invarian: Dalam proses pertukaran, tidak ada verifikasi apakah perubahan nilai invarian D berada dalam rentang yang wajar, sehingga penyerang dapat berulang kali memanfaatkan kerugian presisi untuk menekan harga BPT.


4. Akumulasi kerugian presisi dalam Batch Swap: Dalam satu batch swap, kerugian presisi dari beberapa pertukaran akan terakumulasi, akhirnya membesar menjadi kerugian finansial yang sangat besar.


Dua masalah ini, yaitu kerugian presisi + kurangnya verifikasi, ditambah dengan desain cermat penyerang terhadap kondisi batas, menyebabkan kerugian kali ini.


0

Disclaimer: Konten pada artikel ini hanya merefleksikan opini penulis dan tidak mewakili platform ini dengan kapasitas apa pun. Artikel ini tidak dimaksudkan sebagai referensi untuk membuat keputusan investasi.

PoolX: Raih Token Baru
APR hingga 12%. Selalu aktif, selalu dapat airdrop.
Kunci sekarang!

Kamu mungkin juga menyukai

Jaksa AS menuntut hukuman penjara lima tahun untuk pendiri Samourai Wallet

Jaksa penuntut Amerika Serikat menuntut hukuman penjara selama 60 bulan untuk kedua pendiri Samourai Wallet, Keonne Rodriguez dan William Lonergan Hill, karena menjalankan bisnis pengiriman uang tanpa izin. Jaksa menuduh bahwa Rodriguez dan Lonergan mengoperasikan layanan crypto mixing yang membantu mencuci setidaknya $237 juta hasil kejahatan selama hampir satu dekade. Rodriguez dijadwalkan akan dijatuhi hukuman pada 6 November, sementara hukuman untuk Hill dijadwalkan pada 7 November.

The Block2025/11/04 11:06
Jaksa AS menuntut hukuman penjara lima tahun untuk pendiri Samourai Wallet

Berachain mendistribusikan hard fork binary untuk mengatasi eksploitasi Balancer V2

Berachain Foundation mengumumkan bahwa mereka telah mendistribusikan binary hard fork darurat kepada para validator. Para validator menghentikan jaringan pada hari Senin setelah eksploitasi di Balancer V2 mengungkapkan kerentanan pada bursa desentralisasi asli Berachain.

The Block2025/11/04 10:35
Berachain mendistribusikan hard fork binary untuk mengatasi eksploitasi Balancer V2

Lebih dari $1,3 miliar posisi crypto dilikuidasi saat bitcoin turun di bawah $104.000 dan mengguncang pasar yang 'rapuh'

Bitcoin telah turun di bawah $104.000, memicu likuidasi setidaknya $1,37 billions, terutama pada posisi long, menurut data CoinGlass. Analis menunjuk pada ketakutan yang masih tersisa dari penurunan tajam 10 Oktober, arus keluar dari ETF, penutupan pemerintah AS, dan berkurangnya likuiditas global sebagai kemungkinan pemicu penurunan ini.

The Block2025/11/04 10:35
Lebih dari $1,3 miliar posisi crypto dilikuidasi saat bitcoin turun di bawah $104.000 dan mengguncang pasar yang 'rapuh'