Akhir pekan ini, seorang penyerang berhasil mencuri 186,4 juta ZEAL dan 54,4 miliar NACHO dari dompet jembatan Kaspa KRC-20 tanpa memiliki kunci pribadinya, lalu mendaur ulang token-token tersebut melalui jaringan lapisan dua (L2) dan menjualnya ke kolam likuiditas. Yang anehnya, Kaspa sendiri tidak diretas. Lima transaksi yang tampak sah berhasil menipu sebuah indeksator off-chain sehingga mengenali transfer yang sebenarnya tidak ditandatangani oleh siapa pun, sehingga token yang di-bridge menjadi tidak memiliki jaminan dan beberapa kolam kehilangan hingga 99,6% dari nilai sisi KAS-nya.
Kasplex KRC-20 Indexer Signature Menguras Dua Kolam Token

Poin-Poin Penting
- Seorang penyerang memindahkan 54,4 miliar NACHO tanpa memiliki kunci pribadi dompet jembatan tersebut.
- Kolam Zealous Swap kehilangan 94% hingga 99,6% dari nilai sisi KAS-nya setelah transfer palsu tersebut.
- Igra menangguhkan penarikan utama sementara operator KRC-20 bersiap untuk memperbaiki dan mengindeks ulang sistem.
Lima Transaksi, Tanpa Kunci Pribadi
Kunci pribadi seharusnya menjadi batas antara memiliki kripto dan sekadar mengetahui di mana kripto tersebut berada. Pada 20 September, seseorang menemukan cara untuk mengelabui asumsi tersebut pada token KRC-20 tanpa merusak rantai dasar Kaspa sama sekali.
Penyerang memindahkan 186.425.259 ZEAL dan 54.397.983.246 NACHO dari alamat kustodi jembatan, meskipun mereka tidak mengendalikan kunci pribadinya. Token-token tersebut kemudian dikirim kembali ke alamat kustodi yang sama sebagai setoran jembatan biasa, dicetak di lapisan EVM Igra Labs dan Kasplex L2, serta dituangkan ke dalam kolam likuiditas Zealous Swap.
Setelah situasi mereda, saldo L2 ZEAL dan NACHO milik penyerang menjadi kosong, sementara kolam likuiditas yang terkena dampak kehilangan antara 94% hingga 99,6% dari nilai sisi KAS-nya. Inilah intinya: lapisan pertama (L1) Kaspa justru melakukan apa yang seharusnya dilakukan.
Tanda Tangan Kosong yang Tetap Diterima
Kepemilikan token KRC-20 tidak ditegakkan secara langsung oleh konsensus Kaspa. Instruksi token disertakan dalam transaksi Kaspa, sementara indekser Kasplex di luar rantai (off-chain) membaca instruksi tersebut dan menentukan siapa yang memiliki apa. Biasanya, transfer KRC-20 berisi kunci publik, instruksi token, dan tanda tangan yang valid. Penyerang mempertahankan struktur yang sudah dikenal tersebut, tetapi memberikan tanda tangan kosong dan menambahkan OP_NOT setelah OP_ENDIF.

Tanda tangan kosong menyebabkan OP_CHECKSIG mengembalikan nilai false alih-alih langsung membatalkan transaksi. OP_NOT tambahan membalikkan hasil tersebut kembali menjadi true, sehingga Kaspa menganggap transaksi tersebut valid. Tidak ada yang salah di lapisan konsensus. Namun, halnya berbeda dengan pengindeks. Pengindeks mengenali amplop KRC-20 tetapi tidak mensyaratkan skrip tersebut harus persis sesuai dengan format kanonik. Akibatnya, pengindeks menganggap transfer palsu tersebut sebagai transaksi yang sah. Bahkan API Kasplex sendiri mengembalikan opAccept: 1 pada transaksi ZEAL palsu pertama.
Siapa Pun Dapat Membuat Pemalsuan
Hal yang paling parah adalah penyerang tidak perlu menemukan kredensial tersembunyi apa pun. Alamat Kaspa standar memaparkan kunci publik yang diperlukan untuk membuat operasi KRC-20 palsu. Artinya, memindahkan token ke alamat lain tidak menyelesaikan masalah mendasar. Sampai pengindeks diperbaiki dan riwayatnya diindeks ulang, celah yang sama secara teoritis dapat dimanfaatkan untuk menyerang saldo KRC-20 di tempat lain.
Lima transaksi memalsukan transfer ZEAL dan NACHO. Sebaliknya, sembilan penarikan kecil sebesar satu unit benar-benar ditandatangani oleh penyimpanan dan tampaknya merupakan uji coba untuk memastikan apakah rute keluar berfungsi. Menariknya, transaksi yang sah justru adalah yang bernilai kecil. Dompet penyimpanan tersebut menyimpan sekitar 50 token KRC-20 lainnya. Penyerang memilih dua di antaranya.
Token-Tokennya Masih Ada, tetapi Jaminan Nilai Aslinya Hilang
Pada Minggu pagi, Igra mengatakan seluruh kepemilikan ZEAL dan NACHO di dompet penyimpanan telah diambil, sehingga menyisakan 97.651.212 ZEAL dan 42.570.879.908 NACHO di jaringan Layer 2 tanpa dukungan penuh dari L1. Sebanyak 4,5 miliar NACHO lainnya tetap berada di tangan penyerang di L1.
Igra menghentikan sementara penarikan iKAS ke Kaspa L1 dan transfer Hyperlane, sementara pengguna diperingatkan untuk tidak melakukan bridging token KRC-20, membeli ZEAL atau NACHO di bursa terdesentralisasi (DEX) L2, atau menambahkan likuiditas ke kolam yang terpengaruh. Aset KAS asli, konsensus Kaspa, dan aset Igra yang bukan berupa token KRC-20 yang di-bridge dinyatakan tidak terpengaruh.
Memperbaiki perangkat lunak saja tidak akan menyelesaikan masalah ini. Zealous Swap menyatakan bahwa operator perlu memperbaiki indexer dan mengindeks ulang riwayatnya, serta menolak tanda tangan kosong, tag yang tidak valid, dan skrip yang berlanjut melampaui OP_ENDIF. Sementara itu, Nacho the Kat mengatakan bahwa komunitas berencana beralih ke KCC-20, sebuah standar yang dirancang untuk memasukkan aturan token ke dalam skrip yang ditegakkan oleh jaringan itu sendiri.
Masalah ini terjadi setelah serangkaian eksploitasi, bug, peretasan, dan pelanggaran data selama beberapa minggu terakhir. Pada hari Sabtu, penyedia infrastruktur Lightning Network baik yang bersifat kustodian maupun non-kustodian, Blink Wallet, mengungkapkan bahwa “beberapa lusin” akun kustodian telah dikosongkan. Perusahaan keamanan siber DCENT juga mengalami penggelapan dana dari DCENT App Wallets minggu ini. Hal ini terjadi di tengah meningkatnya serangan siber, dan beberapa pihak menduga bahwa AI turut mendukung gelombang eksploitasi ini.
Artikel ini diterjemahkan dari bahasa Inggris menggunakan AI. Versi asli berbahasa Inggris adalah sumber yang berwenang; terjemahan otomatis dapat mengandung ketidakakuratan, terutama dalam terminologi hukum dan peraturan.











