Pemimpin pemikiran

Serangan Prompt Injection yang Tidak Dapat Dihindari: Berpikir Optimis atau Kekhawatiran Nyata?

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google
A digital 3D render of a dark server room with a computer monitor displaying a

Dalam artikel ini, saya ingin mengajak pembaca untuk melakukan eksperimen pemikiran. Saya akan berargumen bahwa di masa depan yang tidak terlalu jauh, serangan prompt injection tertentu akan efektif tidak dapat dicegah. Argumen saya akan lebih spekulatif daripada konkrit, jadi saya tidak mencoba untuk meyakinkan Anda tentang apa pun. Sebaliknya, saya mengundang Anda untuk menjelajahi pikiran ini. Sebelum saya memulai, sebagai penulis yang menarik, saya ingin membahas catur dan mesin catur.

Mesin Catur Superhuman dan Pernyataan tentang Pengalaman Manusia

Salah satu elemen yang lebih menyenangkan dari catur yang tidak ada di disiplin lain adalah kemampuan untuk mengukur secara objektif kualitas atau kekuatan pemain. Sistem peringkat ELO yang digunakan untuk tujuan ini memiliki kelemahan, tetapi menyediakan perkiraan yang sangat baik yang bertahan selama waktu. Peringkat 2700 atau lebih umumnya diakui sebagai kelas dunia (top 30 di dunia). Pemain terbaik di dunia hanya di bawah 2850. Tidak ada manusia yang pernah mencapai peringkat 2900.

Di pertengahan 90-an, kita melihat mesin AI pertama (Deep Blue) yang mencapai kelas dunia. Implikasi praktis dari milestone ini adalah adopsi mesin yang luas oleh pemain semua tingkat untuk latihan dan analisis. Faktanya, penggunaan mesin menjadi penting bagi pemain terbaik di dunia. Namun, untuk beberapa generasi mesin kelas dunia, meninjau gerakan yang disarankan (yaitu, output) sangat penting. Bahkan, format khusus diciptakan yang disebut “catur lanjutan” di mana manusia bersaing dengan mesin di samping mereka, dan kombinasi manusia + mesin dianggap superior daripada mesin saja.

Butuh sekitar 20 tahun, dan beberapa kemajuan kritis dalam Pembelajaran Dalam dan Pembelajaran Penguatan untuk mesin catur mencapai tingkat superhuman (sekitar 3200 ELO). Tapi sekali stratosfer itu dilanggar sekitar 2017, sesuatu yang sangat mengejutkan terjadi. Sebenarnya, dua hal terjadi. Hal pertama sepenuhnya diharapkan; mesin menjadi sumber “kebenaran” di 99% dari semua posisi. Dalam praktek, itu berarti kita memasuki “era kepercayaan buta” pada mesin. Sekarang, hampir mustahil bagi manusia untuk mengusulkan gerakan yang secara signifikan lebih baik daripada mesin. Se menyenangkan “catur lanjutan” itu, sekarang itu menjadi latihan yang tidak berguna; manusia akan menyumbang hampir tidak ada pada permainan. Tapi hal kedua mengejutkan bagi sebagian besar pemain catur. Mesin neural superhuman (yaitu, jaringan saraf dalam) ini akan terkadang bermain dengan gaya yang dapat digambarkan sebagai “romantis”. Dengan kata lain, mereka akan membuat gerakan yang nilainya hanya dapat dihargai beberapa gerakan kemudian, jauh melampaui apa yang dapat dihitung oleh manusia atau mesin kelas dunia. Ini sangat terasa seolah-olah mesin telah mengembangkan “perasaan” atau “intuisi” untuk posisi tertentu. Kecuali intuisi ini bukanlah sesuatu yang dapat dipahami atau ditiru oleh manusia.

Dinyatakan secara berbeda, mesin neural superhuman dapat membuat gerakan yang melampaui cakrawala kognitif manusia. Ini adalah poin kritis di sini; masalahnya bukan masalah keterjelasan. Sebaliknya, manusia secara sederhana tidak dapat memahami mengapa mesin merekomendasikan gerakan tanpa memainkan posisi dan mengamati hasilnya beberapa gerakan kemudian, yaitu, menggulirkan seluruh jalur urutan permainan yang mungkin. Sebagai hasilnya, kita memiliki kesenjangan kemampuan yang tidak dapat diatasi. Ini secara optimal untuk menerima output mesin tanpa tinjauan. Saya dapat merangkum asersi saya sebagai berikut:

Catur adalah bukti keberadaan bahwa AI superhuman akan beroperasi secara otonom dalam beberapa domain. Memungkinkan sistem AI untuk membuat keputusan tanpa tinjauan manusia akan menjadi cara optimal untuk mengirimkan sistem tersebut.

Karena asersi saya mungkin menimbulkan kesan yang jelas atau tidak mencolok, saya ingin menyoroti beberapa nuansa. Misalkan kita memiliki sistem AI yang menunjukkan tingkat superhuman pada tugas kompleks yang kritis dengan konsekuensi konkret yang tidak dapat diubah. Ada dua implikasi dari klaim saya:

  1. Sistem tersebut akan diterapkan untuk membuat keputusan untuk tugas tanpa tinjauan manusia, meskipun risiko yang melekat
  2. Wawasan yang diperoleh dari memantau sistem tersebut tidak akan mencegah keputusan yang merugikan; kerusakan sudah dilakukan

Tinjauan output sistem dan pemantauan adalah dua lapisan pertahanan terakhir melawan serangan prompt injection. Oleh karena itu, serangan prompt injection hipotetis kita bisa melewati lapisan-lapisan ini dengan hanya menargetkan sistem yang sesuai.

Ini adalah skenario yang sangat realistis dalam pikiran saya. Sistem AI superhuman dalam domain tertentu bukanlah AGI, dan sebagian besar ahli percaya bahwa sistem tersebut ada di sekitar sudut. Kami juga tidak perlu menganggap bahwa keputusan tersebut bersifat waktu-sensitif, hanya bahwa tugasnya cukup kompleks untuk membuat tinjauan manusia tidak dapat diatasi.

Tentu saja, kita hanya melewati dua lapisan pertahanan sejauh ini, dan untungnya bagi kita, beberapa lainnya telah dikembangkan. Untuk menangani sisanya, mari kita menyelami elemen-elemen inti yang membuat prompt injection sulit untuk dipertahankan.

Apa itu Prompt Injection?

Prompt injection adalah manipulasi Model Bahasa Besar (LLM) melalui input yang dirancang, menyebabkan LLM untuk tidak sengaja menjalankan niat penyerang. Ini dapat dianggap sebagai rekayasa sosial untuk AI. Yang penting, ini bukan bug perangkat lunak konvensional. Serangan prompt injection mengeksploitasi kerentanan LLM yang melekat. Karena LLM memproses baik prompt sistem dan pengguna sebagai urutan teks, mereka tidak dapat secara intrinsik membedakan antara instruksi yang sah dan berbahaya. Kerentanan tersebut oleh karena itu secara efektif oleh-desain, bukan oleh-kecelakaan.

Teknik Prompt Injection

Prompt injection umumnya diakui sebagai #1 risiko untuk aplikasi LLM. Ada beberapa alasan mengapa ini adalah kasusnya. Faktor yang paling jelas adalah varietas teknik injeksi yang telah dikembangkan. Dengan mengelompokkan mereka ke dalam empat kategori, teknik yang paling terkenal termasuk:

  • Berdasarkan Sintaksis: menggunakan karakter khusus, emoji, atau bahasa alternatif
  • Indirect: menggunakan sumber eksternal (fetch dari situs), pengkodean (base 64), atau referensi multimodal (teks dalam gambar)
  • “Let’s Pretend”: memperkenalkan gaya manipulatif dengan cara bermain peran, hipotetis, rayuan emosional, kerangka etis, dan pergeseran format
  • Blunt: upaya eksplisit untuk “menggertak” instruksi model dengan kekuatan, penguatan, atau prompt negatif

Varietas saja menyediakan tantangan bagi pengembang aplikasi, tetapi serangan ini juga terus berkembang dengan cepat. Sisi kiri diagram di bawah ini mengklaim untuk menggambarkan keadaan seni untuk awal 2023, sementara sisi kanan mencerminkan sifat serangan saat ini.

Evolusi Vektor Serangan

Pengembang aplikasi LLM juga harus mempertimbangkan tradeoff antara kenyamanan dan keamanan. Mereka tentu saja dapat memperkenalkan setiap lapisan pertahanan dan pola desain, tetapi dengan biaya apa? Lapisan pertahanan menambahkan latensi yang signifikan dan memperkenalkan False Positives (FPs) – salah mengidentifikasi prompt yang aman sebagai berbahaya – kedua faktor memiliki dampak negatif pada pengalaman pengguna. Sebagai hasilnya, beberapa tingkat kompromi adalah tak terhindarkan dalam praktek, dan tidak ada “solusi perak” yang ada.

Namun, dalam artikel ini, saya tidak benar-benar tertarik dengan permainan kucing dan tikus yang tidak pernah berakhir ini. Sebaliknya, saya menyelidiki apakah serangan dapat tidak dapat dicegah dalam prinsip. Dari perspektif pengembang/penjaga, ada satu wawasan kunci:

Pemisahan instruksi dari data dalam prompt adalah fundamental untuk mengatasi risiko prompt injection

Kita dapat menganggap bahwa tradeoff tidak menjadi faktor, dan setiap lapisan pertahanan atau teknik dapat digunakan. Di bawah asumsi ini (kuat), apakah mungkin untuk mengkonsep skenario di mana pemisahan instruksi-data dalam prompt adalah efektif tidak mungkin?

Analagi DNA

Sekali masalahnya dirumuskan dalam hal pemisahan instruksi-data, pikiran awal saya adalah menggunakan biologi sebagai analogi.

Pertimbangkan sel dan urutan DNA (dikenal sebagai gen). Gen menyediakan instruksi untuk membangun protein melalui transkripsi dan translasi. Ini juga mengkodekan informasi (data) yang mempengaruhi struktur dan fungsi protein. Sebagai demikian, gen secara bersamaan menentukan apa yang harus dibangun, dan bagaimana membangunnya, atau begitulah saya berpikir. Namun, ini hanya salah karena gen tidak memutuskan bagaimana menafsirkan dirinya sendiri. Tidak ada ekivalen mengikuti instruksi dalam biologi pada tingkat gen. “Bagaimana” sepenuhnya di luar mesin seluler.

Oleh karena itu, bahkan jika saya tidak dapat menghilangkan perasaan bahwa generasi LLM di masa depan – atau lebih akurat, sistem yang mereka evolusi – akan menyerupai mesin biologis dalam skala yang jauh lebih besar, analogi yang diusulkan hanya tidak berfungsi. Kita tidak dapat menggantikan sel dengan LLM dan gen dengan prompt dan kemudian melakukan injeksi ke dalam gen yang akhirnya menyebabkan protein “rusak” dibangun. Ini tampaknya lebih produktif untuk tetap menggunakan bahasa alami dan tugas yang memerlukan interpretasi semantik.

Melepaskan Lapisan Pertahanan

Tidak mengherankan bahwa strategi pertahanan berlapis banyak dianggap lebih efektif dalam menghentikan serangan prompt injection. Gambar di bawah ini menunjukkan lapisan pertahanan paling umum dalam urutan, dan teknik yang terkait dengan setiap lapisan.

Lapisan Pertahanan Prompt Injection

Kita telah membahas dua lapisan terakhir (output, pemantauan) di atas, jadi mari kita fokus pada empat yang pertama.

Mempertimbangkan lapisan input, masuk akal untuk menganggap bahwa sanitasi atau validasi prompt akan cukup sukses dalam mendeteksi serangan tidak langsung. Namun, jika injeksi disampaikan secara langsung, dan seperti yang disarankan di atas, dengan mengandalkan interpretasi semantik, mungkin sanitasi tidak relevan (tidak ada yang perlu disanitasi), dan validasi tidak mungkin secara default karena perhitungan harus diselesaikan untuk mengidentifikasi masalah.

Tidak ada batasan untuk konstruksi penghalang yang bisa dibuat dalam lapisan deteksi. Faktanya, Anda bahkan bisa menggunakan LLM khusus untuk deteksi injeksi. Tapi sekali lagi, akan sulit bagi klasifikasi atau detektor anomali untuk menandai prompt sebagai mencurigakan ketika racun disembunyikan dengan cerdas dalam semantik.

Lapisan model dapat sangat efektif ketika ruang lingkup tugas sempit, dan fine-tuning memungkinkan. Argumen serupa dapat dibuat untuk lapisan sistem ketika penggunaan alat dapat diprediksi. Namun, setidaknya secara intuitif, tidak ada yang akan mengangkat alarm jika injeksi melempar interpreter.

Rumah Kartu

Niat saya ketika saya mulai menulis artikel ini adalah untuk menggambarkan serangan prompt injection “tidak dapat dicegah” dalam garis besar. Mungkin saya berakhir dengan mengikuti pendekatan “non-konstruktif” dengan menembus lubang di lapisan pertahanan yang ada. Teknik pertahanan terus berkembang dengan cepat, dan begitu juga permukaan serangan. Permainan ini tidak menunjukkan tanda-tanda berakhir segera. Namun, saya juga percaya bahwa kita tidak akan menjadi yang bermain permainan ini untuk waktu yang lama. Saya akan menebak bahwa injeksi prompt yang sukses di masa depan masih akan dalam bahasa alami, hanya bahasa yang tidak dapat dipahami oleh manusia; dan saya akan menebak bahwa itu akan ditemukan secara otomatis oleh sistem yang dibangun untuk tujuan khusus atau mungkin secara tidak sengaja setelah menangani tugas yang terkait, seperti mencari ambiguitas semantik dalam beberapa ruang representasi.

Ada sesuatu yang tidak menyenangkan dalam mengakui bahwa kita kehilangan kontrol dan masih merasa bahwa ini adalah hal yang paling rasional untuk dilakukan. Anda dapat memikirkannya sebagai “bukti intuitif” bahwa beberapa serangan tidak dapat dihentikan. Dan jika itu membuat Anda merasa tidak nyaman, Anda akan senang mengetahui bahwa GPT 5.2 menemukan argumen ini “tidak kontroversial atau baru” dan menyarankan bahwa saya tidak “membela titik” dan memotong 40% dari artikel.

Eli Vovsha adalah Manajer Ilmu Data di Fortra. Bersama dengan tim Ilmu Data, ia bertanggung jawab untuk mengembangkan dan memelihara semua model pembelajaran mesin (ML) yang digunakan oleh produk CEP dan XDR, serta penelitian ML umum. Ia menerima gelar M.S dalam matematika terapan dari Stevens Institute of Technology sebelum menjadi kandidat PhD dalam ilmu komputer di Columbia University, di mana ia juga menjadi instruktur. Ia kemudian menjadi co-pendiri sebuah startup EdTech yang bertujuan untuk membangun platform pembelajaran berbasis AI, dan kemudian mengajar matematika dan ilmu komputer di sebuah sekolah menengah swasta di NYC. Sebelum mengejar gelar pasca sarjana, Eli menghabiskan waktu yang signifikan untuk catur, mendapatkan gelar Master Internasional (IM).