Penyerang Arcadia Finance menggunakan eksploitasi masuk kembali untuk menguras $455,000 dari protokol keuangan terdesentralisasi (DeFi), menurut laporan post-mortem 10 Juli yang dikeluarkan oleh tim pengembangan aplikasi. “Eksploitasi reentrancy” adalah bug yang memungkinkan penyerang untuk “memasukkan kembali” kontrak atau menghentikannya selama proses multi-langkah, sehingga mencegah proses diselesaikan dengan benar.

Tim telah mengirimkan pesan kepada penyerang menuntut pengembalian dana dalam waktu 24 jam dan mengancam tindakan polisi jika peretas gagal mematuhinya.

Arcadia Finance dieksploitasi pada pagi hari tanggal 10 Juli dan menguras kripto senilai $455.000. Laporan awal dari perusahaan keamanan blockchain PeckShield menyatakan bahwa penyerang telah menggunakan "kurangnya validasi input yang tidak tepercaya" dalam kontrak aplikasi untuk menguras dana. Tim Arcadia telah membantahnya, menyatakan bahwa analisis PeckShield keliru. Namun, tim tersebut tidak menjelaskan apa yang menurut mereka menjadi penyebabnya saat itu.

Laporan Arcadia yang baru menyatakan bahwa fungsi "liquidateVault()" aplikasi tersebut tidak berisi pemeriksaan reentrancy. Hal ini memungkinkan penyerang untuk memanggil fungsi tersebut sebelum pemeriksaan kesehatan selesai tetapi setelah penyerang menarik dana. Akibatnya, penyerang dapat meminjam dana dan tidak membayarnya kembali, sehingga mengurasnya dari protokol.

Tim kini telah menghentikan sementara kontrak dan sedang berupaya memperbaiki masalah tersebut.

Penyerang pertama kali mengambil pinjaman kilat dari Aave senilai $20.672 dalam bentuk USD Coin (USDC) dan menyimpannya di brankas Arcadia. Selanjutnya, peretas menggunakan jaminan brankas ini untuk meminjam $103.210 USDC dari kumpulan likuiditas Arcadia. Hal ini dilakukan melalui fungsi “doActionWithLeverage()” yang memungkinkan pengguna meminjam dana hanya jika akun mereka tetap sehat pada akhir blok.

Penyerang menyetorkan $103.210 ke dalam brankas, sehingga total dana menjadi $123.882. Peretas kemudian menarik semua dana, sehingga brankas tidak memiliki aset dan utang sebesar $103.210.

Secara teori, hal ini seharusnya menyebabkan semua tindakan dibatalkan, karena penarikan dana seharusnya menyebabkan akun gagal dalam pemeriksaan kesehatan. Namun, penyerang menggunakan kontrak jahat untuk memanggil liquidateVault() sebelum pemeriksaan kesehatan dapat dimulai. Brankas tersebut dilikuidasi, sehingga semua utangnya hilang. Akibatnya, brankas tersebut tidak memiliki aset dan kewajiban, sehingga dapat lolos dari pemeriksaan kesehatan.

Karena akun tersebut lolos pemeriksaan kesehatan setelah semua transaksi diselesaikan, tidak ada transaksi yang dibatalkan, dan dana terkuras sebesar $103.210. Penyerang membayar kembali pinjaman dari Aave dalam blok yang sama. Peretas mengulangi eksploitasi ini beberapa kali, menguras total $455.000 dari dana di Optimism dan Ethereum.

Dalam laporannya, tim Arcadia menepis klaim bahwa eksploitasi tersebut disebabkan oleh masukan yang tidak tepercaya, dan menyatakan bahwa dugaan kerentanan ini bukanlah “masalah inti” dalam serangan tersebut.

Tim Arcadia memposting pesan kepada penyerang menggunakan bidang data input transaksi Optimism, yang menyatakan:

"Kami memahami bahwa Anda terlibat dengan eksploitasi Arcadia Finance. Kami secara aktif bekerja sama dengan pakar keamanan dan penegak hukum. Setoran dan penarikan TC Anda di BNB agak terlalu cepat, sulit untuk menyembunyikan identitas Anda secara daring akhir-akhir ini. Kami akan melaporkan hal ini kepada penegak hukum jika tidak ada dana yang dikembalikan dalam 24 jam ke depan."

Dalam laporannya, Arcadia mengklaim telah menemukan beberapa petunjuk yang menjanjikan untuk melacak penyerang. "Selain memperoleh alamat yang terhubung ke bursa terpusat, kami juga menemukan tautan ke eksploitasi sebelumnya dari protokol lain," kata laporan itu. "Tim sedang menyelidiki data on-chain dan off-chain secara menyeluruh dan memiliki banyak petunjuk."

Eksploitasi dan penipuan telah menjadi masalah yang terus berlanjut di ruang DeFi pada tahun 2023. Laporan tanggal 5 Juli dari CertiK menyatakan bahwa lebih dari $300 juta hilang karena eksploitasi pada kuartal kedua tahun ini.