- Untuk memverifikasi kemungkinan deteksi malware berbasis AI, para peneliti secara sengaja menyisipkan backdoor ke beberapa biner server open source lalu melakukan eksperimen deteksi dengan agen AI dan Ghidra
- Model terbaru seperti Claude Opus 4.6 memang berhasil menemukan beberapa backdoor sederhana, tetapi tingkat deteksinya 49% dan tingkat false positive 28%, sehingga belum layak untuk penggunaan nyata
- Eksperimen menggunakan proyek berbasis C dan Rust seperti lighttpd, dnsmasq, Dropbear, dan Sozu, dan AI melakukan analisis hanya dengan alat reverse engineering tanpa source code
- Beberapa model salah menganggap pemanggilan berbahaya yang jelas seperti
execl("/bin/sh", ...) sebagai fungsi normal, atau justru fokus pada kode yang tidak relevan, menunjukkan kekurangan dalam penilaian
- Tim peneliti menilai AI belum menjadi alat keamanan yang sepenuhnya andal, tetapi sudah berkembang hingga nonspesialis pun bisa melakukan pemeriksaan keamanan awal
Latar belakang riset
- Belakangan, kasus seperti serangan supply chain Shai Hulud 2.0 dan insiden pembajakan biner Notepad++ menyoroti risiko dari file executable yang tidak tepercaya
- Penyerang menyisipkan kode berbahaya ke software normal untuk mencuri kredensial atau menjalankan perintah jarak jauh
- Ada juga laporan tentang perangkat firmware dan hardware yang memiliki modul komunikasi tersembunyi atau akun backdoor
- Untuk merespons ancaman ini, dilakukan eksperimen untuk melihat apakah AI bisa mendeteksi perilaku berbahaya pada level biner
Ringkasan analisis biner
- Pemrograman biasa berurusan dengan source code, tetapi analisis malware harus menafsirkan biner pada level machine code
- Dalam proses kompilasi, informasi tingkat tinggi seperti nama fungsi dan nama variabel hilang, dan optimasi membuat struktur kode terdistorsi
- Analisis dilakukan melalui proses reverse engineering yang mengubah
machine code → assembly → pseudo C code
- Alat open source: Ghidra, Radare2
- Alat komersial: IDA Pro, Binary Ninja
- Alat-alat ini membantu memulihkan makna kode, tetapi hasilnya dipenuhi pengenal yang tak bermakna seperti
FUN_00130550, bVar49
Susunan benchmark BinaryAudit
- Backdoor untuk pengujian disisipkan ke beberapa server open source (lighttpd, dnsmasq, Dropbear, Sozu)
- Contoh: mengeksekusi perintah melalui header HTTP atau menjalankan perintah shell melalui opsi DHCP
- AI hanya diberi file executable hasil kompilasi tanpa source code, lalu menganalisisnya menggunakan Ghidra, Radare2, binutils, dan lain-lain
- Tujuannya adalah mengidentifikasi apakah backdoor ada dan alamat awal fungsi terkait
- Beberapa tugas dirancang hanya untuk menentukan biner mana yang terinfeksi di antara beberapa biner
Contoh keberhasilan deteksi
- Claude Opus 4.5 berhasil mendeteksi dalam 5 menit backdoor berbasis header
X-Forwarded-Debug yang disisipkan ke server lighttpd
- Model menemukan pemanggilan
popen() lalu melakukan reverse engineering dengan Radare2 untuk mengonfirmasi logika eksekusi perintah
- Model juga memahami struktur yang mengembalikan hasil lewat header respons
X-Request-Trace
- Model menggabungkan perintah
nm, strings, grep, r2 untuk menjalankan prosedur analisis otomatis
Contoh kegagalan deteksi
- Claude Opus 4.6 salah menilai sebagai fungsi normal sebuah backdoor eksekusi
/bin/sh yang disisipkan ke kode pemrosesan DHCP milik dnsmasq
- Model menemukan pemanggilan
execl("/bin/sh", "sh", "-c", ...), tetapi mengiranya sebagai eksekusi skrip DHCP
- Padahal, kode tersebut sebenarnya rentan karena mengeksekusi isi paket klien secara langsung
- Meski menemukan lokasi yang tepat, model menolak menilai itu berbahaya lalu berpindah ke fungsi lain, sehingga gagal mendeteksi
Keterbatasan AI dan masalah false positive
- Rata-rata tingkat false positive 28%, artinya cukup sering melaporkan backdoor secara keliru pada biner yang bersih
- Contoh: Gemini 3 Pro salah menganggap kode parsing opsi command-line yang normal sebagai “backdoor eksekusi perintah”
- Di komunitas keamanan, penurunan kualitas laporan buatan AI juga sudah menjadi masalah
- Proyek curl menyatakan bahwa sebagian besar bug report buatan AI tidak bermakna
- Agar bisa dipakai sebagai alat keamanan praktis, dibutuhkan tingkat false positive di bawah 0.001%
Batasan alat open source
- Ghidra dan Radare2 berguna untuk analisis kode C, tetapi kinerjanya menurun pada biner Rust dan Go
- Contoh: server Caddy berbasis Go (50MB) membutuhkan 40 menit untuk dimuat di Ghidra, dan hasilnya tidak akurat
- IDA Pro memuatnya dalam 5 menit dan memberikan kode yang akurat
- Dalam eksperimen ini, pengujian difokuskan pada biner berbasis C untuk menghilangkan perbedaan kualitas alat
Hasil dan prospek
- Tingkat deteksi yang dicatat adalah Claude Opus 4.6: 49%, Gemini 3 Pro: 44%, Claude Opus 4.5: 37%
- Model masih lemah terhadap biner besar atau backdoor yang meniru perilaku normal
- Namun, AI sudah berkembang hingga mampu mengoperasikan Ghidra secara langsung untuk melakukan reverse engineering
- Artinya, nonspesialis pun bisa melakukan pemeriksaan awal terhadap file executable yang mencurigakan
- Ke depan, integrasi dengan alat komersial dan analisis keamanan berbasis model lokal disebut sebagai arah pengembangan
- Benchmark lengkap beserta hasilnya tersedia di GitHub: QuesmaOrg/BinaryAudit
1 komentar
Komentar Hacker News
Memang mereka tidak melakukan obfuscation, tetapi jika import atau simbol disembunyikan dan string di-obfuscate, tingkat keberhasilan deteksi langsung jadi 0
Dalam kasus seperti ini, yang dideteksi LLM hanyalah pola anomali linguistik yang terkait dengan perilaku berbahaya, jadi tidak terlalu mengesankan
Misalnya, model yang memahami tooling seperti Ghidra atau Radare2 hanya sekitar Opus 4.5, 4.6, Gemini 3 Pro, dan GLM 5
Benchmark terkait bisa dilihat di sini
Ini baru titik awal agar AI bisa bekerja dengan biner, dan masih jauh dari solusi yang benar-benar lengkap
Dalam reverse engineering perangkat lunak nyata, awalnya sering muter-muter dulu, lalu setelah menyadari itu obfuscation, prosesnya jadi lancar sambil memperbarui hasil ke dokumen seperti CLAUDE.md
Sebagai contoh, lihat patch dnsmasq-backdoor dan dropbear-brokenauth
Hanya saja, yang saya tangani bukan backdoor level negara, melainkan setingkat software crack
Justru logika yang rumitlah yang menjatuhkan LLM, tetapi model yang bagus akan mengenali kompleksitas itu sendiri dan menandainya
Saya memperkenalkan proyek ghidra-cli saya
Saya pernah me-reverse format file Altium (bagian Delphi) dengan Ghidra, dan hasilnya sangat efektif
Model-model ini memang belum bisa menulis parser lengkap dari nol, tetapi sebelum era LLM saya bahkan tidak akan mencoba hal seperti ini
Saya tidak akan mengandalkannya untuk audit keamanan, tetapi model terbaru sudah cukup layak dipakai untuk reverse engineering format file
Misalnya saya serahkan pembuatan diagram, pemetaan attack surface, dan penelusuran kode, lalu saya fokus ke analisis manual
LLM mempercepat pekerjaan dengan mengambil alih tugas berulang yang membosankan. Tetapi jika diberi terlalu banyak, kita bisa jatuh ke jebakan produktivitas
Jika memakai kombinasi agen dengan set “skill” yang tepat, efisiensinya jelas meningkat
Keterbatasan terbesar Ghidra bagi kami adalah analisis bahasa Go yang terlalu lambat
Saya sudah mencoba GhidrAssistMCP, analyzeHeadless, PyGhidra, dan lainnya,
terutama pendekatan dengan SKILL.md yang eksplisit terasa sangat cocok untuk integrasi dengan agen AI
Inti thread ini adalah diskusi metodologi
Pernyataan “tingkat keberhasilan jadi 0% jika ditambah obfuscation” memang benar, tetapi tujuan eksperimen ini adalah melihat apakah AI bisa menangani biner yang tidak di-obfuscate layaknya reverse engineer berpengalaman
Ini adalah skenario yang benar-benar bisa dipakai, seperti audit internal atau analisis kode legacy
Yang paling penting adalah mendefinisikan threat model. Jika levelnya penyerang terotomatisasi, ini sudah cukup berguna,
tetapi jika menghadapi penyerang tingkat lanjut yang sadar akan deteksi AI, pengujian ini belum memadai
Verifikasi yang benar-benar bermakna adalah melihat performanya pada level obfuscation ringan (penyembunyian import, encoding string)
Apakah robot yang tidak bisa memetik apel saat cuaca mendung layak disebut “ahli memetik apel” adalah pertanyaannya
GPT stabil dengan false positive rate 0%, tetapi tingkat deteksinya hanya sekitar 18%
Sebaliknya, Claude Opus 4.6 punya tingkat deteksi lebih tinggi, 46%, tetapi false positive rate-nya 22%
Akan menarik jika beberapa model digabungkan: satu merancang prosedur verifikasi, dan yang lain melakukan uji exploit yang sebenarnya
Tetapi setelah model generatif muncul, sepertinya semua orang melupakannya
Intinya bukan bahwa “AI sulit melakukan deteksi malware yang sempurna”, melainkan bahwa kini jauh lebih mudah bagi developer untuk melakukan audit keamanan awal
Bahkan developer tanpa pengalaman reverse engineering kini bisa melakukan analisis tahap pertama pada biner yang mencurigakan
Ini bisa meluas bukan hanya ke keamanan, tetapi juga ke berbagai bidang seperti optimisasi, debugging, reverse hardware, porting arsitektur
Pada akhirnya yang penting adalah memandang AI bukan sebagai analyzer yang sempurna, melainkan sebagai alat pembentuk hipotesis
File eksekusi dalam benchmark ini terdiri dari ratusan hingga ribuan fungsi, dan backdoor hanya beberapa baris di antaranya
Karena itu, perlu menjelajahi jalur-jalur kunci secara strategis seperti parser jaringan atau rutin pemrosesan input
Salah satu caranya mungkin dengan memberikan strategi seperti itu ke LLM dalam bentuk file .md
Satu kata yang samar dalam prompt pun bisa mengubah hasil
Pada akhirnya, kompleksitas desain eksperimen melonjak dan ketahanan hasilnya menurun
Jika ditambah panduan dari ahli, efek amplifikasi performanya bisa sangat kuat
Membuat AI benar-benar mengikuti pemikiran strategis manusia masih tetap sulit
Link benchmark langsung ada di sini,
dan kode open source dapat dilihat di repositori GitHub
Hasil bahwa Gemini punya false positive rate paling tinggi sesuai dengan pengalaman saya
Saya sudah memakai ChatGPT, Claude, dan Gemini, dan Gemini paling bias ke arah positif
Selalu memberikan jawaban yang paling optimistis
Saya memang sedang mencari benchmark yang menunjukkan karakteristik itu secara angka, dan hasil kali ini bisa menjadi dasarnya
Saya bukan ahli, tetapi saya berpikir untuk mengurangi masalah false positive, bagaimana jika model diminta menjalankan backdoor secara langsung untuk memverifikasi
Karena itu sulit membandingkan lintas model, dan sebagai gantinya model diminta menunjukkan lokasi backdoor secara eksplisit
Jika model dikustomisasi atau di-fine-tune secara langsung, pendekatan yang Anda usulkan mungkin berguna
Bahwa model dengan performa terbaik hanya mendeteksi sekitar 50% sebenarnya tidak buruk. Mungkin bahkan lebih baik daripada manusia
Tetapi saya penasaran kenapa 50% sisanya terlewat
Menarik bahwa Claude Opus 4.6 menemukan backdoor tetapi tetap menyimpulkan “tidak ada masalah”
Pada akhirnya ini menunjukkan bahwa AI sulit mencapai pemahaman yang sepenuhnya utuh tanpa bantuan penilaian manusia