Seorang developer yang dikenal sebagai Florent memulihkan sekitar 1.003 ETH, senilai kira-kira 2 juta dolar AS pada harga saat ini, dari kontrak penawaran koin perdana (ICO) HongCoin tahun 2016 di mana dananya terjebak selama sembilan tahun. Penjualan token Ethereum itu dirancang untuk melakukan auto-refund kepada investor setelah gagal mencapai target penggalangan dana, tetapi bug pemrograman mencegah fungsi refund dijalankan untuk pemegang yang saldo mereka melebihi penghitung global yang sudah habis. Florent mengeksploitasi kerentanan overflow di fungsi admin kontrak, bekerja bersama tim HongCoin selama sekitar satu minggu untuk membuka dana bagi 48 investor asli. Pemulihan ini menunjukkan bagaimana kerentanan awal smart contract dari era pra-SafeMath terus mengunci nilai di rantai.
Kontrak HongCoin, yang dipromosikan pada 2016 sebagai dana investasi berbasis komunitas, memuat mekanisme refund yang menolak setiap pemegang token yang saldonya melebihi variabel penghitung global. Bertahun-tahun refund parsial menurunkan penghitung itu menjadi 356, sehingga membatasi total refund pada 3,56 ETH (sekitar 7.000 dolar AS), sementara sebagian besar pemegang yang tersisa memiliki jumlah yang jauh lebih besar.
Florent mengatakan kepada The Block bahwa kontrak dideploy dengan versi lama bahasa pemrograman Solidity yang tidak memiliki perlindungan terhadap error overflow. Dalam error seperti itu, sebuah angka yang mencapai nilai yang cukup tinggi akan direset menjadi 0 atau 1, kerentanan yang kemudian ditangani oleh library SafeMath.
Developer tersebut menemukan jalan pintas melalui fungsi admin tim, yang awalnya dirancang untuk mencetak token bounty untuk acara tertentu. Dengan memanggil fungsi ini menggunakan nilai input yang tepat, saldo pemegang direset menjadi 1, sehingga pemeriksaan refund lolos dan ETH yang terkunci dapat dilepaskan.
Fungsi admin dibatasi untuk wallet multisig HongCoin, sehingga mencegah tindakan sepihak. Florent mengirim email kepada tim, memvalidasi urutan transaksi pada Foundry mainnet fork, dan tim menandatangani transaksi unlock. Proses ini memakan waktu sekitar satu minggu sejak email awal, menurut Florent.
Dari 48 investor asli yang kini bisa mengklaim dana, 41 orang membutuhkan exploit reset saldo. Tujuh lainnya memiliki jumlah yang cukup kecil untuk di-refund langsung melalui fungsi yang sudah ada. Tim menandatangani 41 transaksi, satu per pemegang yang terblokir, yang mencakup sekitar 1.000 ETH yang benar-benar terjebak.
Dua investor telah mengklaim kembali total 96,5 ETH (sekitar 193.000 dolar AS) dan secara sukarela mengirim Florent hadiah whitehat. Florent mengatakan kepada The Block tidak ada biaya, potongan, atau komisi yang terlibat. "Di luar tim itu sendiri, tidak ada yang benar-benar punya insentif untuk mengorek kontrak sedetail itu," kata Florent. "Tidak ada celah kepemilikan yang akan memungkinkan seseorang mencuri dana untuk dirinya sendiri, jadi bagi seorang hacker, tidak ada yang bisa didapat; satu-satunya hasil dari exploit apa pun adalah ETH kembali ke investor asli."
Pada Minggu, 24 Mei, Florent menjelaskan memulihkan 19,329 ETH, sekitar 40.590 dolar AS, dari dua kontrak lama. Yang pertama adalah ICO gagal Januari 2018 yang menyimpan 5,141 ETH di balik fungsi refund publik yang tidak pernah dipanggil. Yang kedua melibatkan tujuh atomic swaps pengguna Liquality Wallet yang sudah kedaluwarsa dengan total 14,190 ETH; Florent mengembalikan dana itu atas nama pengguna setelah Liquality menutup aplikasinya pada 2024.
Florent mengatakan baru-baru ini ia menyiapkan node Ethereum yang di-host sendiri dan membangun scanner untuk menandai setiap kontrak yang memegang lebih dari 100 ETH, lalu ia memeriksa kandidat satu per satu. "Banyak kontrak adalah fork dari kontrak lain, jadi celah di satu kontrak adalah celah yang sama di semuanya dalam klaster itu," kata Florent. "Namun, klaster-klaster besar yang sudah terkenal sudah disisir cukup menyeluruh."
Ketika ditanya soal bantuan AI, Florent mengatakan ia memakai Claude Code untuk mempercepat pengurutan dan pengelompokan kontrak, tetapi menemukan keterbatasan dalam analisis smart contract. "AI sering bias karena kontraknya belum pernah dibobol sebelumnya dan orang-orang sebelumnya tidak bisa menemukan cara melewatinya ... jadi seringnya default ke 'ini tidak bisa dibobol, saya sudah mencoba semuanya,' yang sering kali tidak benar."
Pemulihan ini terjadi di tengah gelombang eksploitasi DeFi. Serangan mencapai ratusan juta dolar AS hanya pada April, dipimpin oleh pengurasan sekitar 293 juta dolar AS di Kelp DAO. Seorang co-founder perusahaan keamanan OpenZeppelin baru-baru ini menyatakan ia menganggap semua DeFi tidak aman. Beberapa eksploit berakhir pada pemulihan whitehat atau pengembalian sukarela, seperti pemulihan hampir total setelah eksploit 2023 di Euler Finance.
"Ada kebangkitan yang jelas dari para hacker pada protokol-protokol akhir-akhir ini, dan DeFi menjadi ruang yang rumit untuk diinvestasikan," kata Florent. "Saya ingin melihat gerakan tandingan dari orang-orang yang mencoba melindungi sesuatu daripada mengeksploitasinya. Secara moral itu lebih memuaskan, dan juga bisa menghasilkan imbalan yang bagus."
Apa yang menyebabkan dana ICO HongCoin tetap terkunci selama sembilan tahun?
Bug pemrograman pada fungsi refund kontrak HongCoin tahun 2016 menolak setiap pemegang yang saldo tokennya melebihi variabel penghitung global. Bertahun-tahun refund parsial menurunkan penghitung itu menjadi 356, sehingga mencegah refund untuk pemegang dengan saldo lebih besar sementara kontrak tidak memiliki perlindungan overflow yang menjadi standar pada versi Solidity yang lebih baru.
Bagaimana Florent membuka ETH yang terjebak tanpa mencurinya?
Florent mengidentifikasi fungsi admin yang awalnya dimaksudkan untuk mencetak token bounty. Dengan memanggilnya menggunakan nilai input spesifik, ia bisa mengatur ulang saldo pemegang menjadi 1 karena adanya kerentanan overflow, sehingga pemeriksaan refund lolos. Fungsi admin itu membutuhkan tanda tangan tim HongCoin, jadi Florent berkoordinasi dengan tim selama sekitar satu minggu untuk mengeksekusi 41 transaksi unlock bagi investor yang terblokir.
Berapa banyak ETH yang dipulihkan Florent dari kontrak lama?
Florent memulihkan sekitar 1.003 ETH (sekitar 2 juta dolar AS) dari kontrak HongCoin. Pada Minggu, 24 Mei, ia menjelaskan membebaskan tambahan 19,329 ETH (sekitar 40.590 dolar AS) dari dua kontrak lain: ICO gagal Januari 2018 dengan 5,141 ETH dan tujuh atomic swaps Liquality Wallet yang sudah kedaluwarsa dengan total 14,190 ETH.
Berita Terkait
Ethereum Menguji Model Pendanaan Barang Publik dari Gitcoin hingga Protocol Guild
Standard Chartered Tetap Mempertahankan Target ETH $40.000 Meski Harga Turun 57%
Arus keluar Crypto ETF Membebani Bitcoin dan Ethereum
Bitmine Akuisisi 25.000 ETH, Total Kepemilikan Tembus $10,9 Miliar
Pemegang yang Menganggur Melepaskan 7,6 miliar Dolar AS dalam Bitcoin Usia 5 hingga 15 Tahun di Sepanjang Tahun 2026