Skrip pengukur kecepatan diganti, lebih dari 700 trader kehilangan 2,7 juta dolar dalam satu jam
Pada 29 Oktober, sebuah kejadian yang sangat tak terduga terjadi di situs internasional Polymarket, pasar prediksi. Mereka yang kehilangan uang tidak mengeklik tautan phishing, tidak membocorkan frasa pemulihan, dan kontraknya pun tidak diretas. Mereka hanya membuka situs Polymarket seperti biasa. Sesi mereka masih aktif, tetapi uang mereka dipindahkan menggunakan akun mereka sendiri.
Masalahnya berasal dari sebuah skrip pengukur kecepatan. Situs Polymarket menyematkan skrip pemantauan pengguna nyata milik DebugBear, perusahaan asal Inggris, yang awalnya digunakan untuk mengukur kecepatan pemuatan halaman. Skrip semacam ini berjalan di browser setiap pengunjung dan pada dasarnya memiliki izin yang sama dengan kode situs itu sendiri. Pada 29 Oktober, seseorang mengubah catatan domain DebugBear di registrar. Server lain mulai merespons, dan file yang dikirim ke browser pengguna bukan lagi file pengukur kecepatan, melainkan program pencuri kripto berukuran sekitar 15 KB. Peneliti mengunduh file berbahaya yang sama dalam dua kesempatan.
Cara program ini mencuri sangat sederhana. Program itu membaca jenis sesi masuk, alamat dompet, dan kredensial transaksi yang tersimpan di browser, lalu menemukan klien transaksi Polymarket di halaman dan menggunakannya untuk bertransaksi. Posisi dijual dan ditukar menjadi POL di Polygon, lalu dikirim melalui relay tanpa gas milik platform itu sendiri. Catatan on-chain menunjukkan bahwa selama satu jam, dari pukul 17.10 hingga 18.10, terjadi 985 penarikan tanpa izin. Dompet penyerang menerima 28,6 juta POL, yang saat itu bernilai sekitar 2,64 juta dolar. Perusahaan analitik Bubblemaps dan Bitquery memperkirakan total kerugian sekitar 2,7 juta dolar, dengan lebih dari 700 akun terdampak. Perbedaan beberapa puluh ribu dolar muncul karena metode penghitungan yang berbeda, tetapi besarnya kerugian tidak diperdebatkan.
Pada pukul 14.05 hari itu, Polymarket mengubah situs internasionalnya ke mode hanya untuk membatalkan pesanan, lalu memulihkan perdagangan sekitar pukul 15.05. Pernyataan publik perusahaan hanya menyebut bahwa salah satu pemasok pihak ketiga telah diretas dan kasusnya sudah diserahkan kepada aparat penegak hukum. Pengguna yang terdampak akan mendapat penggantian penuh. Belakangan, perusahaan mengumumkan total kompensasi sekitar 3,9 juta dolar: sekitar 2,7 juta dolar untuk dompet yang uangnya dicuri secara langsung, dan sekitar 1,19 juta dolar untuk sekitar 5.500 dompet yang terdampak selama penghentian sementara. Pengguna tidak perlu mengajukan klaim sendiri. Situs AS beroperasi secara terpisah dan tidak terdampak kali ini. Hingga kini, belum ada penjelasan lengkap tentang bagaimana domain tersebut diubah.
Ada satu hal yang patut disoroti secara khusus. Dalam sampel yang diperiksa Hudson Rock, tidak ditemukan program yang secara terpisah mengirim frasa pemulihan atau kunci privat ke pihak luar. Pencurian kali ini tidak memerlukan pencurian kunci; sesi browser yang masih aktif itu sendiri sudah menjadi tiket masuk. Ini adalah kali kedua tahun ini Polymarket mengalami masalah akibat pihak ketiga; insiden pada Juni juga terjadi karena kode front-end diganti. Seaman apa pun dompet kontrak dikelola, kode milik pihak lain di halaman web tetap bisa lolos dari kendali.
Bagi investor ritel, kejadian ini mengubah butir pertama dalam daftar keamanan. Dulu daftarnya adalah memilih platform tepercaya, tidak mengeklik tautan phishing, dan menjaga frasa pemulihan. Sekarang perlu ditambahkan satu hal: halaman perdagangan itu sendiri juga bisa berubah tanpa sepengetahuanmu. Halaman perdagangan yang terus terbuka dan sesi masuk yang tersimpan di browser adalah hal-hal yang bisa disalahgunakan. Menyimpan uang semalaman di akun perdagangan dan menyimpannya di dompet milik sendiri memiliki risiko yang sama sekali berbeda.
Saya sendiri mencatat tiga pelajaran dari kejadian ini. Keluar dari akun setelah selesai berdagang; jangan biarkan halaman perdagangan terbuka di browser sepanjang hari. Jangan menyimpan dana besar dalam saldo akun perdagangan untuk waktu lama; setelah selesai digunakan, tarik dana ke tempat yang bisa kamu kendalikan sendiri. Jika halaman tiba-tiba mulai menjual posisimu sendiri atau menampilkan permintaan otorisasi yang tidak pernah kamu lihat, segera tutup halaman dan putuskan koneksi. Jangan terus mengeklik mengikuti instruksinya.
Pandangan saya sederhana: ke depannya, saat menilai sebuah platform, jangan hanya bertanya apakah kontraknya sudah diaudit. Tanyakan juga berapa banyak kode pihak lain yang berjalan di situsnya dan apakah semua kode itu bisa langsung dinonaktifkan jika terjadi masalah. Jika sebuah platform tidak bisa menjawabnya, saya tidak akan menyimpan banyak uang dalam keadaan masih masuk ke akun. Biasanya, setelah selesai berdagang, apakah kamu keluar dari akun atau membiarkan halamannya tetap terbuka?
—— Xiao Kai, investor ritel Web3
Artikel ini hanya membagikan pandangan pribadi dan bukan merupakan saran investasi. Sumber data berasal dari pernyataan publik Polymarket serta pelacakan publik oleh Hudson Rock, Bitquery, dan Bubblemaps. Nilai kerugian sedikit berbeda karena metode penghitungan yang berbeda. Silakan menilai risikonya sendiri.
#Polymarket #DeFi安全 #供应链攻击 #KeamananDompet