Anda Tidak Bisa Mencegah Prompt Injection. Jadi Apa yang Harus Dilakukan?
Berhentilah mencoba membangun system message yang sempurna. Berhentilah menunggu versi model yang lebih baik untuk memperbaiki keamanan.
Prompt injection akan tetap terjadi. Tidak ada model yang secara andal menolak instruksi berbahaya ketika instruksi tersebut terlihat seperti perintah. Jika Anda merancang keamanan berdasarkan asumsi model yang sempurna, Anda akan gagal.
Alihkan fokus Anda. Jangan bertanya bagaimana cara mencegah injeksi. Bertanyalah apa yang dapat dilakukan agen Anda setelah injeksi berhasil dilakukan.
Ikuti aturan-aturan ini untuk membatasi kerusakan:
- Gunakan kredensial dengan cakupan kapabilitas (capability-scoped credentials). Berikan agen Anda hanya izin yang dibutuhkannya untuk tugas saat ini. Agen dengan akses read-only menyebabkan lebih sedikit kerusakan daripada agen dengan kunci admin.
- Batasi tindakan destruktif. Wajibkan faktor kedua atau pemeriksaan manual untuk tindakan seperti menghapus, membayar, atau memberikan akses. Jangan biarkan model memutuskan apakah tindakan tersebut aman.
- Anggap semua input eksternal sebagai tidak tepercaya. Ini termasuk pesan pengguna, halaman web, output alat, dan dokumen. Data sering kali berubah menjadi instruksi saat masuk ke dalam context window.
- Pantau output alat Anda. Banyak framework menyalurkan log alat secara langsung ke dalam konteks model. Sebuah studi terhadap 17.022 keahlian agen menemukan kebocoran kredensial melalui log debug dalam 73,5% kasus. Sensor informasi rahasia dari output alat sebelum mencapai model.
- Pantau perilaku, bukan hanya kualitas. Agen yang dibajak akan menghasilkan teks berkualitas tinggi sambil melakukan tindakan yang tidak sah. Anda harus menetapkan baseline untuk urutan tindakan normal dan memberikan peringatan jika terjadi penyimpangan.
Gunakan tiga tingkat pemantauan perilaku ini:
- Aturan statis: Tangkap perubahan yang jelas, seperti agen yang tiba-tiba mengirim email.
- Pola urutan: Tandai tindakan yang tidak sesuai dengan pola kerja normal agen.
- Peninjauan independen: Gunakan model kedua untuk menilai agen utama.
Jika agen Anda menggunakan memori, jaga agar tetap bersih. Satu injeksi saja dapat menulis fakta beracun (poisoned fact) yang berulang di setiap sesi. Batasi cakupan memori per instansi dan lacak dari mana setiap potongan informasi berasal.
Jika sebuah agen dibajak saat ini juga, apakah Anda akan melihatnya di log Anda? Atau apakah Anda sedang terbang buta?
Source: https://dev.to/brennhill/you-cant-prevent-prompt-injection-so-what-do-you-actually-do-1d37
Optional learning community: https://t.me/GyaanSetuAi
