Tepat pada tanggal 30 Juli, teknologi blockchain dan industri mata uang kripto mengalami krisis yang serius. Beberapa protokol keuangan terdesentralisasi (DeFi) yang dikembangkan menggunakan bahasa pemrograman Vyper diserang oleh peretas yang mengeksploitasi kerentanan, yang mengakibatkan pencurian aset digital senilai puluhan juta dolar. Protokol yang diserang ini termasuk Curve Finance, Alchemix, PEGd, Metronome, dll., yang melibatkan berbagai stablecoin dan token. Kejadian ini memicu kepanikan dan keraguan di masyarakat, serta mengungkap kekurangan dan tantangan dalam keamanan, keandalan, dan keberlanjutan teknologi blockchain dan industri mata uang kripto.
proses
Pada pukul 22:04 tanggal 30 Juli, PETH/ETH diserang.
Terungkap bahwa JPEG'd diserang dan kerugiannya setidaknya sekitar 10 juta dolar AS. Akar penyebab serangan JPEG adalah masuknya kembali. Penyerang menambahkan likuiditas dengan memasukkan kembali fungsi add_liquidity ketika memanggil fungsi delete_liquidity untuk menghapus likuiditas. Karena saldo diperbarui sebelum masuk kembali ke fungsi add_liquidity, terjadi kesalahan dalam penghitungan harga.
Pada pukul 22:50 msETH-ETH diserang.
Pada 23:34 alETH-ETH diserang.
0:44 menit rilis resmi vyper
Vyper versi 0.2.15, 0.2.16, dan 0.3.0 terpengaruh oleh kegagalan kunci masuk kembali, dan penyelidikan sedang berlangsung.
0:45 menit Curve Finance men-tweet
Beberapa kumpulan stabil (alETH/msETH/pETH) yang menggunakan Vyper 0.2.15 sedang diserang karena kegagalan kunci masuk kembali. Saat ini, Curve sedang menilai situasi dan pool lainnya aman. Selain itu, Curve lebih lanjut menyatakan bahwa “kombinasi berbahaya adalah versi Vyper yang terpengaruh dan penggunaan ETH murni.”
03:08 menit
CRV-ETH diserang, dan CRV pada rantai turun ke minimum sekitar 0,08. Namun, karena harga AAVE diambil dari Chainlink, untungnya Chainlink mengadopsi logika kutipan tertimbang "CEXs + DEXs" dan mengutip harga terendah sebesar $0,59, yang membuat posisi pendiri Curve Michael Egorov di AAVE belum dilikuidasi. Jika tidak, serangkaian likuidasi akan cukup untuk menghancurkan seluruh industri Defi.
Bisa dibayangkan bagaimana rasanya berkumpul keesokan paginya dan seluruh Defi langsung menghilang. Awalnya Anda ingin mendapatkan penghasilan stabil dari penambangan, tetapi ketika Anda bangun, Anda menemukan bahwa tambang tersebut telah runtuh.
dampak selanjutnya
Sejauh ini, total ada empat protokol yang terkena dampak kerentanan ini, yaitu CurveFinance, Alchemix, PEGd, dan Metronome. Jumlah total kerugian dari protokol ini adalah sekitar $70 juta, yang mencakup berbagai stablecoin dan token. Jumlah kerugian spesifiknya adalah sebagai berikut:
·Curve Finance: Sekitar 25 juta dolar AS, terutama karena kumpulan CRV/ETH diserang.
·Alchemix: Sekitar $19 juta, terutama karena serangan terhadap kumpulan ALCX/ETH.
·PEGd: Sekitar 15 juta dolar AS, terutama disebabkan oleh serangan terhadap kumpulan PEG/ETH.
·Metronome: Sekitar 11 juta dolar AS, terutama karena serangan terhadap kumpulan MET/ETH.
Curve Finance TVL turun 43,6% dalam 24 jam dan saat ini mencapai $1,84 miliar; Convex Finance TVL turun 48,5% dalam 24 jam dan saat ini mencapai $14,9 miliar
Kerentanan kompiler Vyper
Kerentanan kompiler Vyper mengacu pada masalah kegagalan kunci masuk kembali yang ada di versi bahasa pemrograman Vyper tertentu. Vyper adalah bahasa pemrograman kontrak yang dirancang khusus untuk Ethereum Virtual Machine (EVM), yang dianggap sebagai bahasa yang lebih aman, sederhana, dan mudah dibaca. Banyak protokol DeFi menggunakan Vyper untuk mengembangkan kontrak pintar guna mengimplementasikan berbagai fungsi keuangan.
Kunci masuk kembali adalah mekanisme untuk mencegah serangan masuk kembali. Serangan masuk kembali berarti ketika satu kontrak memanggil kontrak lain, sebelum kontrak pertama selesai, kontrak kedua memanggil kembali kontrak pertama, menyebabkan kontrak pertama dieksekusi beberapa kali, dan dapat menyebabkan data atau Dana telah dirusak. atau dicuri. Penguncian kembali diimplementasikan dengan menyetel variabel status. Saat kontrak dipanggil, variabel ini disetel ke status terkunci. Saat kontrak dijalankan, variabel ini disetel ke status tidak terkunci. Dengan cara ini, jika kontrak lain mencoba untuk membatalkan kontrak ini lagi selama pelaksanaan kontrak, kontrak tersebut akan ditolak, sehingga mencegah serangan masuk kembali.
Kerentanan kompiler Vyper berarti bahwa dalam beberapa versi Vyper, variabel status kunci masuk kembali tidak disetel dan dipulihkan dengan benar, menyebabkan kunci masuk kembali menjadi tidak valid, sehingga membuat beberapa kontrak yang dikembangkan menggunakan Vyper rentan terhadap serangan masuk kembali. Menurut analisis tim BlockSec, kerentanan tersebut terkait dengan opsi di Vyper yang disebut "use_eth", yang memungkinkan kontrak menerima Ethereum (ETH) sebagai metode pembayaran atau penyimpanan nilai. Jika kontrak menggunakan opsi ini dan berinteraksi dengan kumpulan yang berisi eter terbungkus (WETH), kontrak tersebut mungkin rentan terhadap serangan masuk kembali.
Karakteristik kerentanan ini relatif tersembunyi dan umum terjadi. Itu tersembunyi dalam logika internal kompiler Vyper dan tidak mudah ditemukan oleh pengembang atau pengguna. Ini lazim di beberapa versi Vyper dan memengaruhi beberapa protokol dan kumpulan DeFi. Kerentanan ini mengakibatkan aset digital senilai puluhan juta dolar dicuri oleh peretas, menyebabkan kerugian besar bagi protokol dan pengguna DeFi. Pada saat yang sama, hal ini telah merusak protokol DeFi dan kepercayaan serta kepercayaan pengguna terhadap bahasa pemrograman Vyper dan teknologi blockchain, serta berdampak negatif pada teknologi blockchain dan industri mata uang kripto. ,
Dampaknya kali ini masih jauh dari terlihat sepenuhnya, dan mungkin badai yang lebih besar sedang terjadi.