Penulis: BitsLab
Move, sebagai salah satu bahasa yang tidak boleh diabaikan oleh para pengembang Web3, memiliki sistem tipe yang kuat dan semantik sumber daya, sangat "hardcore" dalam hal kepemilikan aset, transfer ilegal, serta kompetisi data.
Ekosistem seperti Sui dan Aptos menempatkan semakin banyak aset penting dan protokol inti pada Move, juga karena karakteristik inti bahasa Move yang memungkinkan pembangunan smart contract yang lebih aman dan berisiko lebih kecil.
Namun, dalam praktik audit dan pertahanan jangka panjang, kami melihat kenyataan bahwa sebagian besar masalah sulit seringkali tidak terjadi pada "kesalahan sintaks" atau "ketidakcocokan tipe" yang mencolok, melainkan pada tingkat sistem yang lebih kompleks dan nyata—interaksi antar modul, asumsi hak akses, batas mesin status, serta urutan pemanggilan yang tampak wajar secara terpisah namun dapat dimanfaatkan jika digabungkan.
Karena itu, meskipun bahasa Move memiliki paradigma keamanan yang lebih baik, tetap saja pernah terjadi insiden serangan besar di ekosistemnya. Jelas, penelitian keamanan Move masih perlu ditingkatkan.
Kami menemukan satu masalah inti: dalam bahasa Move, belum ada alat fuzzing yang efektif. Karena batasan Move lebih ketat, fuzzing smart contract tradisional menghadapi tantangan besar di skenario Move: menghasilkan urutan transaksi yang "benar secara tipe" dan "tercapai secara semantik" sangatlah kompleks. Jika input tidak cukup tepat, pemanggilan tidak dapat dilakukan; jika tidak dapat dipanggil, maka tidak dapat mencakup cabang yang dalam atau mencapai status penting, sehingga lebih mudah melewatkan jalur yang benar-benar dapat memicu kerentanan.
Berdasarkan masalah jangka panjang ini, kami bekerja sama dengan tim riset universitas untuk bersama-sama menyelesaikan dan merilis hasil penelitian:
《Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts》
arXiv:2512.02918 (preprint)
Tautan makalah:
Makalah ini saat ini diterbitkan di arXiv sebagai preprint, artinya komunitas dapat lebih cepat melihat perkembangan riset dan memberikan umpan balik. Kami sedang mengirimkan karya ini ke PLDI’26 dan menunggu proses peer review. Setelah hasil pengajuan dikonfirmasi dan peer review selesai, kami juga akan segera memperbarui perkembangan terkait.
Membuat Fuzzing Benar-Benar "Masuk" ke Move: Dari Trial and Error Acak ke Panduan Tipe
Inti dari Belobog sangat langsung: karena sistem tipe Move adalah batasan dasarnya, maka fuzzing juga harus menggunakan tipe sebagai panduan, bukan sebagai hambatan.
Cara tradisional sering kali mengandalkan generasi dan mutasi acak, namun di Move, ini dengan cepat menghasilkan banyak sampel tidak valid: tipe tidak cocok, sumber daya tidak dapat dijangkau, parameter tidak dapat dibangun dengan benar, rantai pemanggilan terhambat—akhirnya yang Anda dapatkan bukan cakupan pengujian, melainkan serangkaian "gagal sejak awal".
Metode Belobog lebih seperti memasang "peta" pada Fuzzer. Ia memulai dari sistem tipe Move, membangun type graph berbasis semantik tipe untuk kontrak target, lalu menggunakan grafik ini untuk menghasilkan atau memutasi urutan transaksi. Dengan kata lain, ia tidak secara membabi buta menggabungkan pemanggilan, melainkan membangun kombinasi pemanggilan yang lebih masuk akal, dapat dieksekusi, dan lebih mudah menembus ruang status berdasarkan hubungan tipe.
Bagi penelitian keamanan, perubahan ini bukanlah "algoritma yang lebih mewah", melainkan manfaat yang sangat sederhana namun penting:
Proporsi sampel valid lebih tinggi, efisiensi eksplorasi lebih baik, dan lebih berpeluang mencapai jalur dalam di mana kerentanan nyata sering muncul.
Menghadapi Batasan Kompleks: Belobog Mengadopsi Concolic Execution untuk "Membuka Pintu"
Dalam kontrak Move nyata, logika penting sering kali dikelilingi oleh berbagai pemeriksaan, asersi, dan batasan. Jika hanya mengandalkan mutasi tradisional, Anda akan sering terjebak di "pintu masuk": kondisi tidak pernah terpenuhi, cabang tidak pernah dimasuki, status tidak pernah tercapai.
Untuk mengatasi masalah ini, Belobog lebih lanjut merancang dan mengimplementasikan concolic execution (eksekusi konkret + deduksi simbolik secara hybrid). Secara sederhana:
Di satu sisi, ia mempertahankan eksekusi konkret yang "bisa dijalankan", di sisi lain menggunakan deduksi simbolik untuk lebih terarah mendekati kondisi cabang, sehingga lebih efektif menembus pemeriksaan kompleks dan memperdalam cakupan.
Hal ini sangat penting untuk ekosistem Move, karena "rasa aman" kontrak Move sering dibangun di atas banyak lapisan batasan, sementara masalah nyata sering tersembunyi di celah-celah antara batasan tersebut. Belobog bertujuan untuk mendorong pengujian ke area-area celah tersebut.
Menyelaraskan dengan Dunia Nyata: Bukan Sekadar Demo, Tapi Mendekati Jalur Serangan Sebenarnya
Kami tidak ingin pekerjaan seperti ini hanya berhenti pada "bisa menjalankan demo". Evaluasi Belobog langsung mengarah pada proyek nyata dan hasil kerentanan nyata. Berdasarkan hasil eksperimen dalam makalah: Belobog dievaluasi pada 109 proyek smart contract Move dunia nyata, hasil eksperimen menunjukkan bahwa Belobog dapat mendeteksi 100% kerentanan Kritis dan 79% kerentanan Major yang telah dikonfirmasi oleh auditor keamanan manusia.
Yang lebih patut diperhatikan: Belobog, tanpa mengandalkan pengetahuan kerentanan sebelumnya, mampu mereproduksi serangan penuh (full exploits) pada insiden nyata di blockchain. Nilai dari kemampuan ini adalah, ia lebih mendekati situasi yang kita hadapi dalam pertahanan nyata: penyerang tidak hanya berhasil karena "kesalahan fungsi tunggal", tetapi karena jalur lengkap dan evolusi status.
Yang Ingin Disampaikan dari Pekerjaan Ini Bukan Hanya "Membuat Sebuah Alat"
Alasan makalah ini layak dibaca bukan hanya karena mengusulkan kerangka kerja baru, tetapi karena mewakili arah yang lebih pragmatis: mengabstraksikan pengalaman keamanan garis depan menjadi metode yang dapat digunakan kembali, dan mewujudkannya dengan implementasi rekayasa yang dapat diverifikasi.
Kami percaya bahwa makna Belobog bukan pada "satu lagi Fuzzer", melainkan karena ia membuat Fuzzing di Move lebih mendekati kenyataan—bisa masuk, bisa menembus lebih dalam, dan lebih dekat dengan jalur serangan nyata. Belobog bukanlah alat tertutup yang dirancang untuk segelintir pakar keamanan, melainkan kerangka kerja yang ramah pengembang: ia berupaya menurunkan ambang penggunaan, memungkinkan pengembang secara berkelanjutan memasukkan pengujian keamanan dalam alur pengembangan yang sudah dikenal, bukan menjadikan Fuzzing sebagai pekerjaan satu kali atau pasca kejadian.
Kami juga akan merilis Belobog secara open source, berharap ia menjadi infrastruktur yang dapat digunakan, dikembangkan, dan dievolusi bersama oleh komunitas, bukan hanya proyek eksperimental di "tingkat alat".
Makalah (preprint):
(Saat ini juga sedang diajukan ke PLDI’26, menunggu peer review.)
Tentang MoveBit
MoveBit (Mobi Security), sub-merek di bawah BitsLab, adalah perusahaan keamanan blockchain yang berfokus pada ekosistem Move, yang menjadikan ekosistem Move sebagai ekosistem Web3 paling aman dengan memelopori penggunaan verifikasi formal. MoveBit telah bekerja sama dengan banyak proyek terkenal di seluruh dunia, dan menyediakan layanan audit keamanan menyeluruh bagi mitra. Tim MoveBit terdiri dari pakar keamanan akademik dan pemimpin keamanan industri, memiliki pengalaman keamanan selama 10 tahun, dan telah menerbitkan hasil penelitian keamanan di konferensi akademik keamanan internasional terkemuka seperti NDSS dan CCS. Mereka juga merupakan kontributor awal ekosistem Move, bersama pengembang Move merumuskan standar aplikasi Move yang aman.

