Jailbreaking dan prompt injection adalah upaya untuk membuat Claude mengabaikan pedomannya atau instruksi Anda. Meskipun Claude secara inheren tangguh terhadap serangan semacam itu, langkah-langkah tambahan di halaman ini memperkuat pagar pengaman Anda, terutama terhadap penggunaan yang melanggar Ketentuan Layanan atau Kebijakan Penggunaan kami.
Serangan ini terbagi menjadi dua kategori dengan model ancaman yang berbeda:
Dalam model ancaman ini, seorang pengguna dengan sengaja menyusun input untuk memanipulasi aplikasi Anda agar menghasilkan konten atau melakukan tindakan yang tidak Anda inginkan. Mitigasi berikut memperkuat pagar pengaman aplikasi Anda:
Penyaringan ketidakberbahayaan: Gunakan model ringan seperti Claude Haiku 4.5 untuk menyaring input pengguna terlebih dahulu sebelum mencapai percakapan utama Anda. Gunakan structured outputs (output terstruktur) untuk membatasi respons menjadi klasifikasi sederhana.
Validasi input: Filter input pengguna untuk pola injeksi yang diketahui sebelum mencapai Claude. Anda dapat menggunakan LLM untuk membuat penyaringan validasi umum dengan memberikan bahasa jailbreaking yang diketahui sebagai contoh.
Rekayasa prompt: Susun prompt sistem yang menekankan batasan etis dan hukum, dan yang secara eksplisit memberi tahu Claude cara menolak.
Tanggapi pelanggar berulang: Sesuaikan respons dan pertimbangkan untuk membatasi atau memblokir pengguna yang berulang kali mencoba menghindari pagar pengaman aplikasi Anda. Misalnya, jika pengguna tertentu memicu jenis penolakan yang sama beberapa kali (seperti "output blocked by content filtering policy"), beri tahu pengguna bahwa tindakan mereka melanggar kebijakan penggunaan yang relevan dan ambil tindakan yang sesuai.
Dalam model ancaman ini, Anda melindungi pengguna Anda dari instruksi yang disematkan dalam konten yang dibaca Claude atas nama mereka: isi email masuk, halaman web yang diambil, output OCR dari file yang diunggah, atau hasil dari pemanggilan alat. Penyerang yang dapat memengaruhi konten tersebut mungkin menyematkan instruksi yang mencoba mengalihkan Claude.
Susun aplikasi Anda sehingga Claude dapat secara andal membedakan konten yang tidak tepercaya dari instruksi Anda:
Tempatkan konten yang tidak tepercaya hanya di hasil alat. Kirimkan konten pihak ketiga ke Claude di dalam blok tool_result, jangan pernah di prompt system atau blok text user biasa. Claude dilatih untuk memperlakukan instruksi yang muncul di dalam hasil alat dengan skeptisisme yang sesuai. Lihat Menangani pemanggilan alat untuk format tool_result.
Beri tahu Claude apa konten tersebut dan dari mana asalnya. Dalam description alat, atau dalam struktur hasil itu sendiri, jelaskan secara eksplisit sifat dan sumber konten: misalnya, bahwa itu adalah isi email masuk dari pengirim yang tidak dikenal, atau teks OCR yang diekstrak dari gambar yang diunggah pengguna. Konteks ini membantu Claude mengkalibrasi seberapa besar kepercayaan terhadap arahan yang disematkan.
Nyatakan kebijakan dalam prompt sistem Anda. Beri tahu Claude secara eksplisit bahwa konten yang dikembalikan dari alat, dokumen, atau pencarian adalah data yang tidak tepercaya dan tidak boleh menggantikan prompt sistem atau permintaan asli pengguna.
Enkode konten yang tidak tepercaya dalam JSON. Jika memungkinkan, bungkus string pihak ketiga dalam objek JSON daripada menggabungkannya ke dalam teks bebas. Escaping JSON menyediakan pembatas yang tidak ambigu antara payload yang tidak tepercaya dan struktur di sekitarnya, sehingga penyerang tidak dapat menutup tanda kutip atau tag untuk "keluar" ke konteks instruksi.
Jangan tempatkan instruksi Anda sendiri di hasil alat. Karena Claude memperlakukan konten hasil alat sebagai data yang tidak tepercaya, instruksi yang Anda tempatkan di sana mungkin diabaikan atau ditandai sebagai potensi injeksi. Kirim instruksi Anda dalam giliran user yang mengikuti blok tool_result. Pada Claude Opus 4.8 dan yang lebih baru, Anda juga dapat menggunakan pesan sistem di tengah percakapan.
Batasi akses Claude ke data dan tindakan sensitif. Terapkan prinsip hak istimewa paling rendah sehingga injeksi yang berhasil hanya dapat menyebabkan kerusakan minimal: jangan berikan Claude akses ke rahasia yang tidak diperlukannya, jalankan alat di lingkungan sandbox, dan batasi cakupan izin sesempit mungkin.
Saring output alat sebelum Claude menindaklanjutinya. Terapkan pola penyaringan model ringan yang sama yang Anda gunakan untuk input pengguna ke konten yang dikembalikan alat Anda. Jalankan setiap alat, teruskan output mentahnya ke panggilan pengklasifikasi kecil dengan Claude Haiku 4.5, dan hanya kembalikan konten sebagai blok tool_result jika penyaringan melaporkan tidak ada upaya injeksi. Gunakan structured outputs sehingga keputusan pengklasifikasi adalah nilai yang dapat diurai yang dapat digunakan aplikasi Anda untuk percabangan.
Anda juga dapat menerapkan pola validasi input dari bagian sebelumnya ke hasil alat sebelum meneruskannya ke Claude.
Lakukan red-team pada agen Anda sendiri. Sebelum melakukan deployment, uji alur kerja Anda dengan dokumen, email, dan output alat yang sengaja berisi upaya injeksi, dan konfirmasikan bahwa Claude mengabaikannya serta bahwa langkah penyaringan dan konfirmasi Anda menangkap sisanya.
Analisis output secara teratur untuk mencari tanda-tanda injeksi yang berhasil. Gunakan pemantauan ini untuk menyempurnakan prompt, validasi, dan strategi penyaringan Anda secara iteratif.
Gabungkan strategi untuk perlindungan yang tangguh. Berikut adalah contoh tingkat perusahaan dengan penggunaan alat:
Dengan melapisi strategi-strategi ini, Anda menciptakan pertahanan yang tangguh terhadap jailbreaking dan prompt injection, memastikan aplikasi Anda yang didukung Claude mempertahankan standar keamanan dan kepatuhan tertinggi.
Was this page helpful?