Menghabiskan ratusan ribu untuk mencari tim outsourcing mengembangkan proyek Web3, proyek susah payah akhirnya live, tetapi karena pihak pengembang menyematkan backdoor teknis, aset pengguna dicuri, dan proyek langsung ambruk—contoh nyata seperti ini tidak sedikit di industri ini. Banyak pihak proyek mengira mendapatkan kode sumber berarti proyek sudah sepenuhnya selesai diserahkan, padahal mereka mengabaikan risiko izin dan backdoor. Akhirnya, proyek yang sudah susah payah dibangun bisa lenyap dalam semalam. Sebenarnya, kita tidak perlu jago dan paham membaca kode yang rumit; dengan menguasai empat titik pemeriksaan inti, kita bisa menghindari sebagian besar risiko teknis yang dengan sengaja ditinggalkan oleh pihak manusia.
Pertama, lakukan verifikasi ketat terhadap izin smart contract, cabut hak administrator, hak super, dan izin upgrade kontrak. Banyak tim pengembang saat menulis kontrak akan secara default menyisakan hak administrator. Contoh kasus nyata: setelah peluncuran sebuah proyek RWA, pihak pengembang memegang hak admin kontrak dan langsung memanggil fungsi backend untuk memindahkan aset staking pengguna di dalam kontrak. Pihak proyek sama sekali tidak punya kemampuan untuk mengintervensi. Setelah kontrak dideploy, hal pertama yang harus dilakukan pihak proyek adalah memastikan hak administrator, hak operasi tingkat super, serta hak proxy upgrade kontrak semuanya diserahterimakan atau dimusnahkan. Jangan biarkan hak akses tertinggi kontrak tetap berada di tangan tim pengembang; hentikan sejak awal kemungkinan pihak tersebut memodifikasi aturan dari belakang layar atau memindahkan aset.

Kedua, kendalikan secara ketat seluruh dompet proyek; kunci privat dan hak penandatanganan (signing) wajib sepenuhnya Anda pegang sendiri. Proyek akan melibatkan tiga jenis dompet inti: dompet untuk deployment, dompet pool dana, dan dompet multisig untuk manajemen. Banyak proyek memilih jalan pintas: langsung meminta tim pengembang menyimpan kunci privat dompet. Pernah ada proyek game/chain yang mengalami masalah: dompet dana disimpan oleh tim pengembang; setelah proyek beroperasi beberapa waktu, pengembang langsung membawa kabur dana puluhan ribu USDT di dalam pool. Pihak proyek tidak punya dasar untuk menempuh upaya hukum. Apa pun seberapa tepercaya pihak lain, kunci privat dan hak signing untuk dompet deployment, dompet dana, serta dompet multisig—tidak boleh diserahkan kepada tim pengembang. Semua operasi penandatanganan harus dilakukan sendiri oleh pihak proyek; jangan delegasikan pengelolaan pintu masuk aset kepada pihak pengembang.
Ketiga, kosongkan secara menyeluruh hak akses pada server backend; otoritas tertinggi harus ada di tangan Anda sendiri. Banyak DApp dan platform berjalan di server yang disediakan oleh pihak pengembang. Beberapa tim outsourcing diam-diam menyimpan akun login server dan akses backend database. Meskipun kode sumber sudah diserahkan, selama pihak tersebut masih memiliki akses server, mereka tetap dapat mengubah halaman frontend, memalsukan/menyabotase data backend, dan mencuri informasi pengguna terkait. Pada tahap penyerahan proyek, pastikan semua akun administrator tertinggi untuk server, backend, dan database diubah semuanya; hapus semua akun login milik tim pengembang, kunci SSH, serta izin operasi backend. Setelah itu, login dan lakukan verifikasi ulang sendiri untuk memastikan tidak ada akun backdoor yang tersisa.

Keempat, verifikasi kode on-chain dan kode yang berjalan secara online, bandingkan dengan kode sumber yang diserahkan, lalu libatkan pihak ketiga untuk audit guna menelusuri potensi risiko tersembunyi. Di sini sangat mudah terjebak: kode sumber yang diberikan kepada Anda oleh pengembang, dan kode yang benar-benar dijalankan di blockchain, tidak selalu berasal dari paket yang sama. Sebagian tim menyerahkan file kode sumber yang tampak bersih, tetapi versi yang dideploy di chain diam-diam menyisipkan alamat hitam khusus dan fungsi tersembunyi untuk memindahkan aset. Hanya melihat kode sumber yang diserahkan tidak ada gunanya; Anda harus membandingkan apakah bytecode kontrak yang sudah dideploy di chain sesuai dengan hasil kompilasi dari kode sumber. Tim/penanggung jawab proyek biasa sulit menyelesaikan pekerjaan ini, sebaiknya serahkan perbandingan kode kepada lembaga audit pihak ketiga untuk mendeteksi backdoor tersembunyi dan alamat berisiko tinggi khusus.
Di sini perlu diingatkan kepada semua pihak proyek: penyerahan proyek tidak berarti selesai hanya dengan menerima kode sumber. Kode sumber hanyalah salah satu dari item yang diserahkan. Verifikasi keempat hal berikut semuanya harus tuntas dan dikuasai penuh oleh pihak proyek: otorisasi kontrak pintar, kunci privat berbagai jenis dompet, izin server backend, serta konsistensi kode di chain. Jika keempatnya sudah diverifikasi semuanya dan semuanya berada dalam kontrol pihak proyek, barulah bisa dianggap sebagai penyerahan yang benar-benar lengkap.
Di industri ini banyak tragedi yang bukan karena kontraknya sendiri memiliki celah, melainkan karena kecelakaan yang ditimbulkan secara sengaja akibat penyalahgunaan hak/izin yang dibiarkan tetap ada. Banyak pihak proyek pada tahap awal memfokuskan energi pada implementasi fitur, mengabaikan verifikasi keamanan di tahap serah-terima/penyelesaian. Baru setelah aset dicuri, barulah menyesal.
Risiko aset pada proyek Web3 sangat tinggi; jangan bertaruh pada kepercayaan terhadap integritas profesional tim pengembang. Secara proses, tarik kembali semua izin (permissions), pastikan pekerjaan verifikasi benar-benar dilakukan, barulah bisa mencegah tim pengembang mengendalikan proyek setelahnya dan menjaga batas aman terhadap keamanan aset proyek.
