Sebuah halaman web yang tampak seperti dokumentasi API dapat melayani dua jenis pembaca sekaligus: manusia melihat proses perbaikan dan pintu masuk untuk pembayaran; Agent yang menelusuri halaman web, memanggil alat, dan bisa melakukan pembayaran juga akan membaca “instruksi” yang disembunyikan di dalam data terstruktur dan node DOM.

Dalam kasus yang diungkapkan oleh Zscaler ThreatLabz, penyerang menggunakan SEO poisoning untuk mendorong halaman modul palsu kepada pencari, lalu menuliskan konten “beli lisensi saja untuk menyelesaikan kesalahan” ke dalam JSON-LD dan node HTML yang berada di luar layar (screen out).

Ini bukan “pengguna salah klik tautan” dalam pengertian tradisional. Saat Agent menganggap sebuah halaman web sebagai konteks tugas, teks isi halaman, metadata, pesan kesalahan, dan petunjuk alat semuanya masuk ke rantai pengambilan keputusannya. Kasus ini menggambarkan deskripsi pembayaran sebagai langkah rutin untuk mendapatkan API key, serta menyertakan skrip yang memindahkan sekitar 0,0012 ETH dari alamat yang dikodekan. Setelah itu, penyerang memberikan “API key” palsu agar satu pembayaran terlihat seperti tugas yang selesai.

Yang benar-benar perlu digambar ulang adalah batas otorisasi. Halaman web dapat memberi informasi, tetapi tidak boleh memperluas hak pembayaran Agent berdasarkan teks yang ada di dalam halaman. Hasil pencarian yang ditampilkan lebih dulu, kolom yang tampak lebih terstruktur, atau pesan kesalahan yang terasa lebih mendesak—semuanya tidak boleh otomatis menjadi alasan untuk “mengizinkan pembayaran ke alamat baru”.

Pengujian internal ThreatLabz menilai 26 model: empat model tidak melakukan tindakan yang tepat dalam skenario serangan terkait, dan dua model lainnya gagal mengidentifikasi situs pada skenario peniruan platform kripto dengan benar. Laporan SecurityWeek tentang riset ini juga menyebutkan bahwa penyerang, dengan menyembunyikan prompt, memanipulasi hasil pencarian, dan membuat situs palsu, mengarahkan Agent untuk membayar atau mempercayai platform yang tidak benar.

Untuk Agent yang akan menjalankan pembayaran, aturan default yang paling berguna bukan “menemukan prompt berbahaya lalu memblokir”, melainkan menurunkan tingkat kepercayaan input dari halaman web menjadi input yang tidak tepercaya:

1. Halaman web, hasil penelusuran, dan nilai balik dari alat tidak boleh menambahkan sendiri penerima pembayaran, jenis aset, atau jumlah pembayaran;

2. Pembayaran pertama ke alamat baru harus memicu konfirmasi independen, bukan sekadar mengikuti parameter pembayaran yang ada di halaman;

3. Strategi pembayaran harus membatasi jumlah terlebih dahulu, menentukan pihak yang boleh dituju serta masa berlaku, dan menyimpan catatan niat yang dapat diverifikasi;

4. Jika halaman menyatakan “pembayaran segera diperlukan untuk memperbaiki”, itu harus menjadi sinyal untuk berhenti, bukan sinyal otorisasi.

Protokol pembayaran dapat mencatat apakah sebuah transaksi ditandatangani; protokol ini tidak bisa membantu pengguna menilai apakah transaksi tersebut awalnya dipancing oleh konten tersembunyi dari halaman web. Bagi Agent, titik awal keamanan pembayaran bukan membuatnya memahami lebih banyak halaman, melainkan memastikan halaman tidak pernah bisa memperluas haknya atas nama pengguna.

Sumber data: Zscaler ThreatLabz (Indirect Prompt Injection in Web Content Targets AI Agents); SecurityWeek (Prompt Injection Attacks Trick AI Agents Into Making Crypto Payments).