Tim BlockSec baru-baru ini menemukan dua kerentanan serius dalam kontrak koleksi digital tertentu. Dua kerentanan ini dapat mengakibatkan aset pengguna terkunci dan tim proyek tidak dapat menarik lebih dari 34 juta dolar.
Vulnerability pertama terkait dengan fungsi pengembalian dana. Fungsi pengembalian dana dalam kontrak menggunakan loop untuk melakukan pengembalian dana kepada semua pengguna, tetapi jika salah satu pengguna adalah kontrak jahat, mereka dapat menolak untuk menerima pengembalian dana dan menyebabkan seluruh transaksi gagal. Ini akan mencegah semua pengguna mendapatkan pengembalian dana. Untungnya, kerentanan ini belum dimanfaatkan.
Untuk proyek yang memiliki kebutuhan pengembalian dana, disarankan untuk mengambil langkah-langkah keamanan berikut:
Membatasi peserta hanya untuk Akun yang Dimiliki Eksternal (EOA)
Menggunakan token ERC20 seperti WETH, bukan aset asli
Rancang mekanisme bagi pengguna untuk secara aktif mengajukan permohonan pengembalian dana, untuk menghindari pengembalian dana massal.
Kekurangan kedua adalah kesalahan kode. Dalam fungsi penarikan dana proyek, terdapat kesalahan dalam kondisi pengecekan. Fungsi tersebut seharusnya membandingkan kemajuan pengembalian dana dengan indeks penawaran, tetapi secara keliru membandingkannya dengan jumlah total penawaran. Karena kemajuan pengembalian dana selalu lebih kecil dari jumlah total penawaran, dan tidak bertambah, kondisi tersebut tidak pernah terpenuhi. Ini membuat tim proyek tidak dapat menarik dana yang ter鎖 dalam kontrak.
Kerentanan ini sekali lagi menyoroti bahwa proyek terkenal juga dapat mengalami kesalahan mendasar. Tim pengembang perlu menulis kasus uji yang memadai dan memiliki kesadaran keamanan dasar. Meskipun audit keamanan telah menjadi praktik umum di bidang keuangan terdesentralisasi, masih kurang dalam proyek koleksi digital, dan insiden kali ini menyebabkan kerugian besar.
Peristiwa ini mengingatkan kita bahwa bahkan proyek yang sangat diperhatikan sekalipun dapat memiliki kerentanan yang serius. Ini menekankan pentingnya melakukan audit keamanan yang menyeluruh dalam pengembangan proyek blockchain, terutama saat menangani jumlah dana yang besar. Tim proyek harus lebih memperhatikan keamanan kontrak untuk mencegah kesalahan mahal serupa terjadi.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
11 Suka
Hadiah
11
4
Bagikan
Komentar
0/400
QuorumVoter
· 08-04 12:28
turun sudah kontrak ini Siapa berani memasukkan uang ke dalamnya
Lihat AsliBalas0
Ser_APY_2000
· 08-04 12:20
Tiga puluh juta dolar AS terjebak seperti ini? Huh... sungguh tidak masuk akal.
Lihat AsliBalas0
MidnightMEVeater
· 08-04 12:12
Sudah terkunci lagi? Sekelompok suckers ini pantas menjadi sisa makanan di dalam kulkas.
Lihat AsliBalas0
StakeTillRetire
· 08-04 12:05
Sangat sulit untuk mendapatkan pengembalian pajak IQ.
BlockSec menemukan dua kerentanan pada kontrak koleksi digital, 34 juta dolar AS terjebak.
Tim BlockSec baru-baru ini menemukan dua kerentanan serius dalam kontrak koleksi digital tertentu. Dua kerentanan ini dapat mengakibatkan aset pengguna terkunci dan tim proyek tidak dapat menarik lebih dari 34 juta dolar.
Vulnerability pertama terkait dengan fungsi pengembalian dana. Fungsi pengembalian dana dalam kontrak menggunakan loop untuk melakukan pengembalian dana kepada semua pengguna, tetapi jika salah satu pengguna adalah kontrak jahat, mereka dapat menolak untuk menerima pengembalian dana dan menyebabkan seluruh transaksi gagal. Ini akan mencegah semua pengguna mendapatkan pengembalian dana. Untungnya, kerentanan ini belum dimanfaatkan.
Untuk proyek yang memiliki kebutuhan pengembalian dana, disarankan untuk mengambil langkah-langkah keamanan berikut:
Kekurangan kedua adalah kesalahan kode. Dalam fungsi penarikan dana proyek, terdapat kesalahan dalam kondisi pengecekan. Fungsi tersebut seharusnya membandingkan kemajuan pengembalian dana dengan indeks penawaran, tetapi secara keliru membandingkannya dengan jumlah total penawaran. Karena kemajuan pengembalian dana selalu lebih kecil dari jumlah total penawaran, dan tidak bertambah, kondisi tersebut tidak pernah terpenuhi. Ini membuat tim proyek tidak dapat menarik dana yang ter鎖 dalam kontrak.
Kerentanan ini sekali lagi menyoroti bahwa proyek terkenal juga dapat mengalami kesalahan mendasar. Tim pengembang perlu menulis kasus uji yang memadai dan memiliki kesadaran keamanan dasar. Meskipun audit keamanan telah menjadi praktik umum di bidang keuangan terdesentralisasi, masih kurang dalam proyek koleksi digital, dan insiden kali ini menyebabkan kerugian besar.
Peristiwa ini mengingatkan kita bahwa bahkan proyek yang sangat diperhatikan sekalipun dapat memiliki kerentanan yang serius. Ini menekankan pentingnya melakukan audit keamanan yang menyeluruh dalam pengembangan proyek blockchain, terutama saat menangani jumlah dana yang besar. Tim proyek harus lebih memperhatikan keamanan kontrak untuk mencegah kesalahan mahal serupa terjadi.