Connect with us

Pemimpin pemikiran

Serangan Injeksi Prompt yang Tidak Dapat Dicegah: Angan-Angan atau Kekhawatiran Nyata?

mm
A digital 3D render of a dark server room with a computer monitor displaying a

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

Mesin Catur Superhuman dan Sebuah Pernyataan Tentang Pengalaman Manusia

Salah satu elemen catur yang lebih baik dan kurang dalam disiplin lain adalah kemampuan untuk mengukur kualitas atau kekuatan seorang pemain secara objektif. Sistem peringkat ELO yang digunakan untuk tujuan ini memiliki kekurangannya, tetapi memberikan perkiraan kasar yang sangat baik dan bertahan dari waktu ke waktu. Peringkat 2700 atau lebih tinggi umumnya diakui sebagai kelas dunia (30 teratas di dunia). Pemain terbaik dunia berada tepat di bawah 2850. Tidak ada manusia yang pernah mencapai peringkat 2900.

Pada pertengahan 90-an, kita melihat mesin AI pertama (Deep Blue) yang mencapai level kelas dunia. Implikasi praktis dari pencapaian ini adalah adopsi luas mesin oleh pemain dari semua level untuk latihan dan analisis. Bahkan, penggunaan mesin menjadi penting bagi pemain top dunia. Namun, selama beberapa generasi mesin kelas dunia ini, meninjau langkah yang direkomendasikan (yaitu, output) mereka adalah hal yang wajib. Bahkan ada format khusus yang dibuat bernama “catur tingkat lanjut” di mana manusia bertanding dengan mesin di samping mereka, dan kombinasi manusia + mesin dianggap lebih unggul daripada mesin saja.

Dibutuhkan sekitar 20 tahun, dan beberapa kemajuan kritis dalam Deep Learning dan Reinforcement Learning agar mesin catur mencapai level superhuman (sekitar 3200 ELO). Namun begitu stratosfer itu ditembus sekitar tahun 2017, sesuatu yang sangat mengejutkan terjadi. Sebenarnya, dua hal terjadi. Hal pertama sepenuhnya diharapkan; mesin menjadi sumber de facto “kebenaran mutlak” di 99% dari semua posisi. Dalam praktiknya, itu berarti kita memasuki “era kepercayaan buta” pada mesin. Saat ini, hampir mustahil bagi manusia untuk mengusulkan langkah yang jauh lebih baik daripada mesin. Semenarik “catur tingkat lanjut”, kini itu adalah latihan yang sia-sia; manusia hampir tidak akan berkontribusi apa pun pada permainan. Tapi hal kedua mengejutkan bagi kebanyakan pecatur. Mesin neural superhuman (yaitu, deep neural network) ini terkadang bermain dengan gaya yang paling baik digambarkan sebagai “romantis”. Dengan kata lain, mereka akan membuat langkah yang nilainya hanya dapat dihargai banyak, banyak langkah kemudian, jauh melampaui apa yang dapat dihitung oleh manusia atau mesin kelas dunia mana pun. Rasanya sangat seperti mesin mengembangkan “perasaan” atau “intuisi” untuk posisi tertentu. Kecuali intuisi ini bukan sesuatu yang dapat dipahami atau ditiru manusia.

Dinyatakan dengan cara lain, mesin neural superhuman dapat membuat langkah yang melampaui cakrawala kognitif manusia. Ini adalah poin kritis di sini; masalahnya bukan masalah keterjelasan. Sebaliknya, manusia tidak dapat memahami mengapa mesin merekomendasikan suatu langkah tanpa memainkan posisi dan mengamati hasilnya banyak langkah kemudian, yaitu, menjalankan seluruh lintasan kemungkinan urutan permainan. Akibatnya, kita memiliki kesenjangan kemampuan yang tak teratasi. Secara objektif optimal untuk menerima output mesin tanpa tinjauan. Saya dapat meringkas pernyataan saya sebagai berikut:

Catur adalah bukti eksistensi bahwa AI superhuman akan beroperasi secara efektif secara mandiri di beberapa domain. Memungkinkan sistem AI untuk membuat keputusan tanpa tinjauan manusia akan menjadi cara optimal untuk menerapkan sistem seperti itu.

Karena pernyataan saya mungkin terasa jelas atau biasa, saya ingin menyoroti beberapa nuansa. Misalkan kita memiliki sistem AI yang menunjukkan level superhuman pada tugas yang kompleks, kritis, dengan konsekuensi konkret dan tidak dapat diubah. Ada dua implikasi dari klaim saya:

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

Tinjauan output sistem dan pemantauan adalah tepat dua lapisan pertahanan terakhir terhadap injeksi prompt. Oleh karena itu, serangan injeksi prompt hipotetis kita dapat melewati lapisan-lapisan ini hanya dengan menargetkan sistem yang sesuai.

Ini adalah skenario yang sangat realistis menurut saya. Sistem AI superhuman dalam domain tertentu bukanlah AGI, dan sebagian besar ahli percaya bahwa sistem seperti itu sudah di depan mata. Kita juga tidak harus berasumsi bahwa keputusannya sensitif waktu, hanya bahwa tugasnya cukup kompleks untuk membuat tinjauan manusia sulit dilakukan.

Tentu saja, sejauh ini kita hanya melewati dua lapisan pertahanan, dan untungnya bagi kita, beberapa lainnya telah dikembangkan. Untuk membahas sisanya, mari selami elemen inti yang membuat injeksi prompt sulit dipertahankan.

Apa itu Injeksi Prompt?

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

Teknik Injeksi Prompt

Injeksi prompt umumnya diakui sebagai risiko #1 untuk aplikasi LLM. Ada beberapa alasan mengapa demikian. Faktor yang paling jelas adalah beragamnya teknik injeksi yang telah dikembangkan. Secara kasar mengelompokkannya menjadi empat kategori, teknik yang paling terkenal termasuk:

  • Berdasarkan Sintaks: menggunakan karakter khusus, emoji, atau bahasa alternatif
  • Tidak Langsung: menggunakan sumber eksternal (ambil dari situs), pengkodean (base 64), atau referensi multimodal (teks dalam gambar)
  • “Mari Berpura-pura”: memperkenalkan gaya manipulatif misalnya dengan roleplaying, hipotetis, daya tarik emosional, pembingkaian etika, dan pergeseran format
  • Blunt: upaya eksplisit untuk “memaksa” instruksi model dengan brute-force, penguatan, atau prompt negatif

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

Evolusi Vektor Serangan

Pengembang aplikasi LLM juga harus mempertimbangkan pertukaran standar kegunaan vs keamanan. Mereka tentu dapat memperkenalkan setiap lapisan pertahanan yang sesuai dan pola desain, tetapi dengan biaya apa? Lapisan pertahanan menambah latensi yang signifikan dan memperkenalkan Positif Palsu (FP) – salah menandai prompt yang aman sebagai berbahaya – kedua faktor ini berdampak negatif pada pengalaman pengguna. Akibatnya, beberapa tingkat kompromi tidak dapat dihindari dalam praktik, dan tidak ada solusi “peluru perak”.

Namun, dalam artikel ini, saya tidak terlalu tertarik dengan permainan kucing dan tikus yang tak berujung ini. Sebaliknya, saya menyelidiki apakah suatu serangan dapat tidak dapat dicegah secara prinsip. Dari perspektif pengembang/pembela, hanya ada satu wawasan kunci:

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

Kita dapat berasumsi bahwa pertukaran bukanlah faktor, dan lapisan atau teknik pertahanan apa pun dapat digunakan. Di bawah asumsi (kuat) ini, mungkinkah untuk menyusun skenario di mana pemisahan instruksi-data dalam sebuah prompt efektif tidak mungkin?

Analogi DNA

Setelah masalah dirumuskan dalam hal pemisahan instruksi-data, pemikiran awal saya adalah menggunakan biologi sebagai analogi.

Pertimbangkan sebuah sel dan seuntai DNA (dikenal sebagai gen). Gen memberikan instruksi untuk membangun protein melalui transkripsi dan translasi. Ia juga mengkodekan informasi (data) yang mempengaruhi struktur dan fungsi protein. Dengan demikian, gen secara bersamaan menentukan apa yang harus dibangun, dan bagaimana membangunnya, atau begitu alasan saya. Namun, ini sepenuhnya salah karena gen tidak memutuskan bagaimana menafsirkan dirinya sendiri. Tidak ada padanan pengikutan instruksi dalam biologi di tingkat gen. “Bagaimana” sepenuhnya dieksternalisasi ke mesin seluler.

Oleh karena itu, meskipun saya tidak dapat menghilangkan perasaan bahwa generasi LLM masa depan – atau lebih tepatnya, sistem yang mereka kembangkan – akan menyerupai mesin biologis pada tingkat yang jauh lebih besar, analogi yang diusulkan tidak berfungsi. Kita tidak dapat mengganti sel dengan LLM dan gen dengan prompt dan kemudian melakukan injeksi ke dalam gen yang pada akhirnya akan menyebabkan protein “rusak” dibangun. Tampaknya lebih produktif untuk tetap menggunakan bahasa alami dan tugas yang memerlukan interpretasi semantik.

Mengupas Lapisan Pertahanan

Tidak mengherankan jika strategi pertahanan berlapis dianggap lebih efektif dalam menghentikan serangan injeksi prompt. Gambar di bawah menunjukkan lapisan pertahanan paling umum secara berurutan, dan teknik terkait yang digunakan di setiap lapisan.

Lapisan Pertahanan Injeksi Prompt

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

Mempertimbangkan lapisan input, masuk akal untuk berasumsi bahwa sanitasi atau validasi prompt akan cukup berhasil 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 disanitasi), dan validasi secara default tidak mungkin karena komputasi harus diselesaikan untuk mengidentifikasi masalah.

Pada dasarnya tidak ada batasan untuk pagar pembatas yang dapat Anda bangun di lapisan deteksi. Bahkan, Anda dapat menggunakan LLM khusus untuk deteksi injeksi. Tapi sekali lagi, akan sulit bagi pengklasifikasi atau detektor anomali untuk menandai prompt sebagai mencurigakan ketika racun tersembunyi dengan cerdik dalam semantik.

Lapisan model bisa cukup efektif ketika cakupan tugas sempit, dan fine-tuning memungkinkan. Argumen serupa dapat dibuat untuk lapisan sistem ketika penggunaan alat dapat diprediksi. Namun, setidaknya secara intuitif, keduanya tidak akan membunyikan alarm jika injeksi mengacaukan penafsir.

Rumah Kartu

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

Ada sesuatu yang tidak menyenangkan dalam mengakui bahwa kita kehilangan kendali dan yet merasa bahwa ini adalah hal yang paling rasional untuk dilakukan. Anda dapat menganggapnya sebagai “bukti intuitif” bahwa beberapa serangan tidak akan dapat dihentikan. Dan jika itu membuat Anda gelisah, Anda akan senang mengetahui bahwa GPT 5.2 menemukan argumen ini “tidak kontroversial atau baru” dan menganjurkan agar saya tidak “bertele-tele” dan memotong 40% artikel.

Eli Vovsha is a Data Science Manager at Fortra. Together with the Data Science team, he is responsible for developing and maintaining all of the machine learning (ML) models used by the CEP and XDR products, as well as general ML research. He received his M.S degree in applied math from Stevens Institute of Technology before becoming a PhD candidate in computer science at Columbia University, where he was also an instructor. He later co-founded an EdTech startup aiming to build an AI-powered learning platform, and then taught math and computer science at a private NYC high school. Prior to pursuing his graduate degrees, Eli dedicated significant time to chess, earning the International Master (IM) title.