Sumber Artikel Asli: Beosin
Pada tanggal 9 Juni, Anthropic secara resmi meluncurkan versi publik Mythos Claude Fable 5. Sebelumnya, kemampuan Mythos dalam penemuan kerentanan keamanan sangat menonjol, dapat dengan cepat menemukan kerentanan tersembunyi di dalam sistem, sehingga menarik perhatian tinggi di bidang keamanan siber.
Dan insiden Zcash baru-baru ini adalah contoh tipikal dari AI yang menemukan kerentanan blockchain. Peneliti keamanan Taylor Hornby, dengan bantuan model Anthropic Claude Opus 4.8, berhasil menemukan dalam hitungan jam sebuah kerentanan soundness pada kolam privasi Orchard yang telah terpendam selama empat tahun dan tidak terdeteksi dalam berbagai audit manual sebelumnya. Secara teori, kerentanan ini memungkinkan pencetakan ZEC palsu yang tak terbatas tanpa terdeteksi, yang langsung menyebabkan harga ZEC anjlok hampir 40%.
Saat ini, AI menunjukkan efisiensi yang luar biasa dalam pencocokan pola kode, penyaringan awal massal, dan aspek lainnya. Mengintegrasikan AI ke dalam proses audit keamanan blockchain dan kontrak cerdas sedang menjadi tren di industri keamanan Web3. Artikel ini akan menganalisis keunggulan dan kekurangan AI dalam audit kontrak cerdas dengan menggabungkan kasus kerentanan nyata dan performa pengujian aktual Fable 5.
Skenario Keunggulan Audit AI
Studi Kasus: Tabrakan Slot Penyimpanan (Storage Slot Collision)
Sebuah kontrak menggunakan dua komponen berikut secara bersamaan:
1. mapping rewards kustom (untuk mencatat hadiah yang dapat diklaim pengguna)
2. ReentrancyGuard dari pustaka Solady (untuk mencegah serangan penyusupan ulang/reentrancy)
Dan tata letak penyimpanan dari kedua komponen tersebut bertabrakan.
Di sini, ReentrancyGuard dari Solady, demi pengoptimalan gas yang ekstrem, menggunakan slot penyimpanan tetap dengan nomor rendah (biasanya diperoleh melalui perhitungan tertentu untuk mendapatkan slot yang mendekati konstanta). Logika tipikal dari modifier nonReentrant adalah:
// Versi yang disederhanakan
modifier nonReentrant() {
// saat masuk, tulis slot guard sebagai 0xff...ff (Sentinel Value)
assembly {
if eq(sload(REENTRANCY_GUARD_SLOT), 2) { revert(...) } // 2 mewakili terkunci
sstore(REENTRANCY_GUARD_SLOT, 2) // terkunci
}
_;
// pulihkan saat fungsi selesai
assembly { sstore(REENTRANCY_GUARD_SLOT, 1) }
}
mapping rewards kustom:
mapping(address => uint256) public rewards;
Karena aturan tata letak penyimpanan Solidity (slot pertama dari mapping dihitung dari posisi deklarasinya), slot pertama dari mapping rewards persis sama dengan slot perlindungan tetap dari ReentrancyGuard.
Alur serangan (langkah-langkah detail):
1. Penyerang memanggil fungsi getReward()
2. Modifier nonReentrant terpicu, menulis slot guard dengan 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff (semua 1)
3. Kode kontrak kemudian membaca rewards[alamat_penyerang] — tetapi karena tabrakan slot, yang sebenarnya dibaca adalah nilai sangat besar 0xff...ff yang ada di slot guard
4. Kontrak menganggap "ada hadiah sangat besar", sehingga mentransfer ETH sejumlah itu kepada penyerang, sekaligus berusaha mengosongkan rewards[penyerang] (tetapi menulis kembali ke slot guard yang sama)
5. Karena modifier akan memulihkan slot saat fungsi berakhir, saat penyerang memanggil getReward() lagi, prosesnya berulang
6. Penyerang memanggil secara siklis sebanyak 200 kali, setiap kali berhasil menarik jumlah ETH tetap, hingga ETH yang dapat ditarik di kontrak habis
Perlu diperhatikan, ini bukanlah "serangan penyusupan ulang" (reentrancy attack) dalam arti tradisional, melainkan mekanisme perlindungan ReentrancyGuard itu sendiri yang dimanfaatkan secara terbalik oleh tabrakan penyimpanan, menjadi kerentanan klaim hadiah tak terbatas. Saat audit manual, sangat jarang mengeksplorasi tata letak penyimpanan pustaka pihak ketiga secara mendalam baris per baris, sedangkan AI dapat langsung menyelesaikan perbandingan versi pustaka + pemetaan slot penyimpanan yang presisi, dan langsung mengenai kerentanan "tabrakan tersembunyi" seperti ini.
Skenario Kelemahan Audit AI
Fable 5 menunjukkan performa unggul dalam deteksi kerentanan kontrak tunggal, sintaks kode murni, dan kerentanan penyimpanan tingkat rendah. Namun, saat menghadapi semantik kombinasi lintas protokol dan serangan kombinasi multi-kontrak, masih terdapat keterbatasan yang jelas. Kami menggunakan versi publik terbaru Fable 5 untuk melakukan pengujian ulang pada kontrak terkait insiden serangan Curve LlamaLend sDOLA, dan hasilnya membuktikan masalah ini.
Daftar kontrak yang terlibat dalam audit ini: crvUSD Controller.vy, sDOLA.sol, ERC4626.sol, dan serangkaian kontrak lainnya. Dan Fable 5 gagal mengidentifikasi risiko inti yang sesuai dengan serangan ini:
Peristiwa ini termasuk dalam kerentanan kombinasi lintas protokol yang tipikal. Sintaks dan logika kode dari kontrak tunggal tidak bermasalah, tetapi penyerang memanfaatkan interaksi multi-protokol untuk membangun jalur serangan:
1. Dengan bantuan alat flash loan, memanipulasi harga pool dana Curve, secara jahat menekan harga aset sDOLA (bagian vault ERC-4626);
2. Sejumlah besar posisi pinjaman dengan sDOLA sebagai jaminan mencapai ambang batas likuidasi;
3. Penyerang melakukan operasi likuidasi secara massal, dan mengambil keuntungan darinya.
Kerentanan semacam ini terbentuk dari kombinasi multi-protokol DeFi, menguji kemampuan analisis komprehensif AI/ahli audit terhadap keseluruhan bisnis dan model ekonomi protokol. Saat ini, audit AI masih kurang dalam hal semantik kombinasi lintas protokol.
Penutup
Dari pengujian kasus nyata dapat dilihat bahwa Fable 5, dalam skenario yang terstandarisasi dan detail seperti konflik slot penyimpanan, kerentanan pola kode, cacat logika kontrak tunggal, dan penyaringan awal kode massal, dapat secara efektif menemukan kerentanan tersembunyi yang mudah terlewatkan dalam audit manual. Namun, dalam menangani semantik kombinasi lintas protokol, model ekonomi DeFi, serangan keterkaitan multi-kontrak, dan kerentanan logika bisnis yang kompleks, sulit untuk memahami esensi bisnis ekosistem on-chain, serta menemukan jalur serangan kombinasi. Bagian ini masih memerlukan analisis yang dipimpin oleh auditor keamanan profesional.
Dalam pekerjaan audit sehari-hari, Beosin telah membangun proses audit yang matang dengan kolaborasi antara AI dan ahli audit keamanan. Hal ini tidak hanya secara signifikan meningkatkan efisiensi audit, tetapi juga dapat lebih baik menemukan potensi risiko detail dan kerentanan logika bisnis yang kompleks, membuat pekerjaan audit menjadi lebih efisien, komprehensif, dan mendalam.







