Baru-baru ini, sebuah perusahaan keamanan smart contract terkenal menemukan dua kerentanan serius dalam smart contract proyek digital collectible tertentu. Dua kerentanan ini dapat menyebabkan aset pengguna terkunci dan dana tim proyek tidak dapat ditarik.
Kerentanan pertama ada pada fungsi pengembalian dana. Fungsi ini menggunakan loop untuk melakukan pengembalian dana bagi semua pengguna, tetapi jika objek pengembalian dana adalah kontrak jahat, mungkin akan menolak untuk menerima pengembalian dana dan menyebabkan transaksi gagal. Ini akan menghalangi semua pengguna untuk mendapatkan pengembalian dana. Untungnya, kerentanan ini belum pernah dieksploitasi.
Untuk menghindari masalah serupa, para ahli menyarankan tim proyek dapat mengambil langkah-langkah berikut untuk memastikan pengembalian dana yang aman:
Pembatasan hanya akun pengguna individu yang dapat berpartisipasi dalam proyek
Menggunakan token ERC20 alih-alih aset asli
Merancang fungsi di mana pengguna secara aktif mengajukan permohonan pengembalian dana, untuk menghindari pengembalian dana secara massal.
Kelemahan kedua disebabkan oleh kesalahan logika dalam kode. Dalam fungsi untuk menarik dana proyek, ada pernyataan kondisi, tetapi objek yang dibandingkan salah. Ini menyebabkan kondisi tidak pernah terpenuhi, sehingga tim proyek tidak dapat menarik dana dari kontrak. Diperkirakan saat ini sekitar 34 juta dolar aset terkunci dalam kontrak.
Peristiwa ini sekali lagi menyoroti bahwa bahkan proyek yang terkenal dapat mengalami kesalahan mendasar. Tim pengembang perlu menetapkan cukup kasus pengujian saat menulis smart contract dan memiliki kesadaran dasar tentang keamanan. Meskipun audit keamanan telah menjadi praktik umum di bidang keuangan terdesentralisasi, audit keamanan masih kurang dalam proyek koleksi digital. Kelalaian ini dapat menyebabkan kerugian finansial yang besar.
Peristiwa ini mengingatkan kita bahwa seiring dengan perkembangan teknologi blockchain, tim proyek harus lebih memperhatikan keamanan smart contract untuk melindungi kepentingan pengguna dan diri mereka sendiri.
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.
Proyek koleksi digital ditemukan dua kerentanan, aset senilai 34 juta dolar AS mungkin akan terkunci.
Baru-baru ini, sebuah perusahaan keamanan smart contract terkenal menemukan dua kerentanan serius dalam smart contract proyek digital collectible tertentu. Dua kerentanan ini dapat menyebabkan aset pengguna terkunci dan dana tim proyek tidak dapat ditarik.
Kerentanan pertama ada pada fungsi pengembalian dana. Fungsi ini menggunakan loop untuk melakukan pengembalian dana bagi semua pengguna, tetapi jika objek pengembalian dana adalah kontrak jahat, mungkin akan menolak untuk menerima pengembalian dana dan menyebabkan transaksi gagal. Ini akan menghalangi semua pengguna untuk mendapatkan pengembalian dana. Untungnya, kerentanan ini belum pernah dieksploitasi.
Untuk menghindari masalah serupa, para ahli menyarankan tim proyek dapat mengambil langkah-langkah berikut untuk memastikan pengembalian dana yang aman:
Kelemahan kedua disebabkan oleh kesalahan logika dalam kode. Dalam fungsi untuk menarik dana proyek, ada pernyataan kondisi, tetapi objek yang dibandingkan salah. Ini menyebabkan kondisi tidak pernah terpenuhi, sehingga tim proyek tidak dapat menarik dana dari kontrak. Diperkirakan saat ini sekitar 34 juta dolar aset terkunci dalam kontrak.
Peristiwa ini sekali lagi menyoroti bahwa bahkan proyek yang terkenal dapat mengalami kesalahan mendasar. Tim pengembang perlu menetapkan cukup kasus pengujian saat menulis smart contract dan memiliki kesadaran dasar tentang keamanan. Meskipun audit keamanan telah menjadi praktik umum di bidang keuangan terdesentralisasi, audit keamanan masih kurang dalam proyek koleksi digital. Kelalaian ini dapat menyebabkan kerugian finansial yang besar.
Peristiwa ini mengingatkan kita bahwa seiring dengan perkembangan teknologi blockchain, tim proyek harus lebih memperhatikan keamanan smart contract untuk melindungi kepentingan pengguna dan diri mereka sendiri.