4 poin oleh GN⁺ 2026-02-24 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2026-02-24
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

    • Saya salah satu penulis makalah ini. Tugas-tugas kali ini adalah pekerjaan tingkat pemula, dan yang mengejutkan adalah ternyata ada model yang bisa menangkap sebagian pola hanya dengan melihat kode biner
      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
    • Saat saya mengembangkan tool ghidra-cli untuk LLM, saya memakai crackme sebagai pengujian, dan jika diberi tahu lewat prompt, kode yang di-obfuscate pun bisa dilewati dengan baik
      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
    • Di artikel juga disebutkan bahwa simbol sudah dihapus. Backdoor nyata pada praktiknya memang sudah di-obfuscate dengan kode seminimal mungkin
      Sebagai contoh, lihat patch dnsmasq-backdoor dan dropbear-brokenauth
    • Saya pernah sepenuhnya me-reverse malware yang di-obfuscate memakai Opus 4.5 dan 4.6 dengan plugin Ghidra untuk Claude Code
      Hanya saja, yang saya tangani bukan backdoor level negara, melainkan setingkat software crack
    • Saya pernah melihat LLM cukup bagus mengenali pola-pola aneh seperti ini. Itu karena mereka telah belajar beragam teknik enkripsi dan obfuscation
      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

    • Akhir-akhir ini saya melihat cara memakai agen sebagai alat bantu. Bukan untuk diandalkan sepenuhnya, melainkan untuk memperluas kemampuan
      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
    • Kami memakai PyGhidra, tetapi aksesibilitas CLI mungkin bisa lebih baik
      Keterbatasan terbesar Ghidra bagi kami adalah analisis bahasa Go yang terlalu lambat
    • Ini proyek yang benar-benar keren. Jauh lebih canggih daripada yang pernah saya lakukan dengan Ghidra + LLM
    • Ekosistem terkait sangat aktif. Baru-baru ini juga ada contoh server MCP
      Saya sudah mencoba GhidrAssistMCP, analyzeHeadless, PyGhidra, dan lainnya,
      terutama pendekatan dengan SKILL.md yang eksplisit terasa sangat cocok untuk integrasi dengan agen AI
    • Saya penasaran bagaimana pendekatan ini dibandingkan dengan berbagai server Ghidra MCP lainnya
  • 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)

    • Tetapi jika tidak bisa mengenali biner yang di-obfuscate, itu seperti tidak bisa melewati CAPTCHA
      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

    • Sebenarnya, metodologi pengukuran performa klasifikasi biner seperti ini sudah ada sejak 100 tahun lalu
      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

    • Tetapi jika begitu, eksperimennya bisa terkontaminasi. Begitu kita memberi tahu bahwa “mungkin ada backdoor”, itu sendiri sudah memberikan petunjuk
      Satu kata yang samar dalam prompt pun bisa mengubah hasil
      Pada akhirnya, kompleksitas desain eksperimen melonjak dan ketahanan hasilnya menurun
    • Meski begitu, mengingat pengaturan tugas dalam riset ini memang sederhana, hasilnya sudah mengesankan
      Jika ditambah panduan dari ahli, efek amplifikasi performanya bisa sangat kuat
    • Hanya saja, jika strategi diberikan sebagai dokumen, model sering kali cuma menirunya mentah-mentah dan berpura-pura melakukan “pemikiran strategis”
      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

    • Namun kebanyakan model menolak perilaku seperti itu karena kebijakan keamanan
      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