Sebuah pendekatan baru memaksa agen pentest berbasis LLM untuk membuktikan adanya pembobolan alih-alih hanya mengklaimnya, menggunakan nonce challenge-response yang menghilangkan false positive. Teknik ini, yang didemonstrasikan dalam framework HALO, mengubah “sepertinya kita mendapatkan shell” menjadi “kita benar-benar memiliki shell”.

Mengapa pembobolan false-positive itu penting

Mesin eksploitasi otomatis yang dibangun di atas large language models dapat menghasilkan puluhan kompromi port yang “berhasil” dalam satu kali jalan. Banyak layanan menampilkan string seperti “uid=0” dalam banner, dan target yang telah dimanipulasi dapat meniru output tersebut tanpa pernah mengeksekusi kode penyerang. Ketika agen memercayai echo tersebut, setiap keputusan berikutnya—apakah untuk pivot, eksfiltrasi data, atau bergerak secara lateral—berdasarkan sebuah kebohongan. Tim keamanan membuang waktu berjam-jam mengejar pijakan semu (phantom footholds), dan tim respons insiden mungkin salah dalam memprioritaskan ancaman nyata.

Mengubah klaim menjadi bukti

Solusinya mengadopsi trik autentikasi klasik. Sebelum meluncurkan eksploitasi, sistem penyerang menghasilkan token unik, atau nonce, dan menyematkannya ke dalam payload. Eksploitasi tersebut harus mengembalikan token yang tepat agar pengontrol dapat menerima hasilnya sebagai pembobolan yang asli. Banner palsu tidak dapat menebak nonce tersebut; ia harus mengeksekusi kode penyerang untuk menyematkan token ke dalam respons. Jika data yang dikembalikan tidak memiliki nonce yang cocok, upaya tersebut dibuang sebagai false positive.

Pergeseran ini mengubah model verifikasi dari “output terlihat benar” menjadi “output membuktikan eksekusi”. Hal ini menghilangkan bias optimisme yang sering menghantui alat ofensif otonom.

Membangun tangga pengiriman yang andal

Mengirimkan payload ke target tetap memerlukan rantai pengiriman yang solid. HALO mengklasifikasikan tiga jalur umum:

  • Reverse shells – host yang terkompromi memulai koneksi kembali ke listener yang dikendalikan penyerang. Berguna ketika lalu lintas masuk (inbound) diblokir.
  • Bind shells – penyerang terhubung langsung ke layanan yang sedang mendengarkan (listening service) pada target. Berhasil ketika filter keluar (outbound) longgar.
  • Blind callbacks – sinyal satu arah (misalnya, permintaan DNS) yang mengonfirmasi eksekusi di lingkungan yang sangat terbatas di mana tidak ada saluran langsung yang dapat dibuka.

Setiap langkah dalam tangga tersebut harus mempertahankan nonce, atau langkah pembuktian akan gagal di tahap selanjutnya (downstream).

Memastikan eksploitasi yang mandiri (self-contained)

Sumber kepercayaan palsu lainnya adalah ketergantungan pada pustaka (library) eksternal yang mungkin tidak ada pada target. HALO membundel setiap komponen yang diperlukan ke dalam satu file sebelum dikirimkan. Bundel tersebut kemudian diuji dalam sandbox yang sengaja tidak memiliki dependensi aslinya. Jika eksploitasi tetap berjalan, artefak tersebut benar-benar mandiri (self-contained) dan dapat dipercaya pada sistem yang sangat ketat (locked-down).

Membersihkan jejak pengembangan

Saat mempersiapkan rilis publik, penulis menemukan alamat IP asli yang masih tersisa dalam riwayat Git. Working tree yang bersih tidak menghapus catatan tersebut; Git menyimpan setiap commit. Penulis menulis ulang repositori menjadi satu commit bersih dan mengganti alamat yang bocor dengan rentang khusus dokumentasi yang ditentukan oleh RFC 5737 (misalnya, 192.0.2.0/24). Hal ini mencegah paparan infrastruktur produksi secara tidak sengaja saat alat tersebut dibagikan.

Aturan praktis untuk perangkat keamanan

  • Gunakan rentang IP khusus dokumentasi dalam setiap test fixture.
  • Hapus rahasia (secrets) dan file cakupan (scope files) dari commit awal.
  • Terapkan nonce challenge-response untuk memverifikasi setiap klaim pembobolan.
  • Validasi file yang tepat yang akan dikirimkan, bukan skrip yang hanya berkaitan secara longgar.

Bukti mengalahkan optimisme. Dengan memaksa agen pentest otonom untuk menyajikan token yang dapat diverifikasi, HALO menunjukkan bahwa sebuah pembobolan hanyalah pembobolan jika target dapat membuktikan bahwa ia telah menjalankan kode penyerang. Gerbang dibangun terlebih dahulu; hal lainnya menyusul.