Tim BlockSec baru-baru ini menemukan dua kerentanan serius dalam kontrak koleksi digital tertentu. Kedua kerentanan ini dapat menyebabkan aset pengguna terkunci dan dana tim proyek tidak dapat ditarik.
Vulnerability pertama terdapat pada fungsi pemrosesan pengembalian dana. Fungsi ini menggunakan cara loop untuk melakukan pengembalian dana bagi semua pengguna, tetapi jika salah satu pengguna adalah kontrak jahat, mereka mungkin menolak untuk menerima pengembalian dana dan menyebabkan transaksi dibatalkan, sehingga operasi pengembalian dana untuk semua pengguna tidak dapat diselesaikan. Meskipun kerentanan ini pada akhirnya tidak dimanfaatkan, namun masih ada risiko potensial.
Untuk situasi pengembalian dana seperti ini, para ahli menyarankan beberapa langkah berikut untuk meningkatkan keamanan:
Pembatasan hanya akun pribadi yang dapat berpartisipasi dalam proyek
Menggunakan token ERC20 seperti WETH daripada aset asli
Merancang mekanisme di mana pengguna secara aktif dapat mengklaim pengembalian dana, untuk menghindari operasi pengembalian dana secara massal.
Kelemahan kedua disebabkan oleh kesalahan logika dalam kode. Dalam fungsi penarikan dana tim proyek, terdapat pernyataan kondisi yang seharusnya membandingkan "kemajuan pengembalian dana" dan "indeks penawaran", tetapi secara keliru dibandingkan dengan "jumlah total penawaran". Hal ini menyebabkan kondisi tidak pernah terpenuhi, sehingga tim proyek tidak dapat menarik dana dari kontrak. Saat ini, lebih dari 34 juta dolar aset terkunci dalam kontrak.
Masalah-masalah ini sekali lagi menekankan pentingnya melakukan pengujian menyeluruh dan audit keamanan dalam pengembangan proyek blockchain. Terutama di bidang koleksi digital, saat ini masih kurang kesadaran keamanan dan praktik audit yang memadai, yang dapat menyebabkan kerugian ekonomi yang serius. Tim pengembang perlu membangun pemikiran keamanan dasar, menulis kasus uji yang memadai, dan melakukan audit keamanan profesional sebelum peluncuran untuk menghindari terjadinya kesalahan tingkat rendah yang serupa.
Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
16 Suka
Hadiah
16
4
Bagikan
Komentar
0/400
BackrowObserver
· 07-11 04:43
Teknologi itu sulit, tidak heran siapa pun jatuh.
Lihat AsliBalas0
DeadTrades_Walking
· 07-11 04:41
Lagi-lagi melihat smart contract gagal
Lihat AsliBalas0
Ramen_Until_Rich
· 07-11 04:40
Sekali lagi melihat celah baru, hening selama tiga detik.
Lihat AsliBalas0
MidnightGenesis
· 07-11 04:27
Dari kode terlihat ada masalah besar, sepertinya ada yang akan Rekt lagi.
BlockSec mengungkap dua kerentanan dalam kontrak koleksi digital, aset senilai 34 juta dolar terkunci
Tim BlockSec baru-baru ini menemukan dua kerentanan serius dalam kontrak koleksi digital tertentu. Kedua kerentanan ini dapat menyebabkan aset pengguna terkunci dan dana tim proyek tidak dapat ditarik.
Vulnerability pertama terdapat pada fungsi pemrosesan pengembalian dana. Fungsi ini menggunakan cara loop untuk melakukan pengembalian dana bagi semua pengguna, tetapi jika salah satu pengguna adalah kontrak jahat, mereka mungkin menolak untuk menerima pengembalian dana dan menyebabkan transaksi dibatalkan, sehingga operasi pengembalian dana untuk semua pengguna tidak dapat diselesaikan. Meskipun kerentanan ini pada akhirnya tidak dimanfaatkan, namun masih ada risiko potensial.
Untuk situasi pengembalian dana seperti ini, para ahli menyarankan beberapa langkah berikut untuk meningkatkan keamanan:
Kelemahan kedua disebabkan oleh kesalahan logika dalam kode. Dalam fungsi penarikan dana tim proyek, terdapat pernyataan kondisi yang seharusnya membandingkan "kemajuan pengembalian dana" dan "indeks penawaran", tetapi secara keliru dibandingkan dengan "jumlah total penawaran". Hal ini menyebabkan kondisi tidak pernah terpenuhi, sehingga tim proyek tidak dapat menarik dana dari kontrak. Saat ini, lebih dari 34 juta dolar aset terkunci dalam kontrak.
Masalah-masalah ini sekali lagi menekankan pentingnya melakukan pengujian menyeluruh dan audit keamanan dalam pengembangan proyek blockchain. Terutama di bidang koleksi digital, saat ini masih kurang kesadaran keamanan dan praktik audit yang memadai, yang dapat menyebabkan kerugian ekonomi yang serius. Tim pengembang perlu membangun pemikiran keamanan dasar, menulis kasus uji yang memadai, dan melakukan audit keamanan profesional sebelum peluncuran untuk menghindari terjadinya kesalahan tingkat rendah yang serupa.