Loading...

Agen AI adalah wakil yang kebingungan dengan kunci kerajaan Anda.

Awal Juni lalu, penyerang mengambil alih lebih dari dua puluh ribu akun Instagram, termasuk akun Gedung Putih era Obama yang tidak aktif, tanpa menulis eksploitasi atau menebak satu pun kata sandi. Mereka membuka obrolan dengan asisten dukungan AI Meta, memintanya untuk menghubungkan alamat email yang mereka kendalikan ke akun yang bukan milik mereka, dan meminta pengaturan ulang kata sandi ke alamat tersebut. Meta kemudian mengkonfirmasi apa yang sudah ditunjukkan oleh log: asisten tersebut berperilaku persis seperti yang dirancang, sementara bagian terpisah dari sistem seharusnya memverifikasi bahwa email tersebut milik akun tersebut, dan pemeriksaan itu tidak pernah dijalankan.

Menyebut ini sebagai kesalahan AI mengabaikan apa yang sebenarnya terjadi. Asisten tersebut menjalankan serangkaian operasi yang sah dan diizinkan untuk siapa pun yang berbicara dengannya. Yang akan menghentikan serangan itu adalah seseorang: seorang petugas pendukung yang melihat orang asing mengalihkan email pemulihan seorang selebriti, merasakan ada sesuatu yang salah, dan menolak.

Sebagian besar otorisasi di dunia nyata sebenarnya tidak pernah ditulis sebagai perangkat lunak sama sekali. Sebaliknya, otorisasi tersebut berada di bawah wewenang siapa pun yang berada di antara permintaan dan sistem, dan segala sesuatu di baliknya dibangun dengan asumsi bahwa wewenang tersebut akan selalu ada. Tempatkan seorang agen di posisi itu dan wewenang tersebut akan hilang, sementara tidak ada seorang pun di hilir yang menyadarinya. Agen tersebut tidak melewati model keamanan Anda, tetapi hanya mengekspos bagian dari model tersebut yang sebelumnya merupakan manusia.

Seorang wakil sheriff yang kebingungan dengan jendela obrolan.

Keamanan memiliki istilah yang tepat untuk apa yang dialami Meta: wakil yang bingung . Suatu proses yang memegang hak akses sebenarnya dibujuk oleh pihak yang memiliki hak akses lebih rendah untuk menggunakan hak akses tersebut atas namanya. Ini seperti penjaga malam yang membuka brankas untuk siapa pun yang menelepon dan mengatakan bos yang mengirim mereka: dia punya kuncinya, mereka punya cerita yang bagus. Kasus kanonik tahun 1988 adalah sebuah kompiler yang dapat menulis ke file penagihan yang dilindungi. Seorang pengguna yang tidak dapat menulis di sana meminta kompiler untuk melakukannya untuk mereka, dan kompiler menurutinya, karena ia memiliki wewenang dan tidak pernah bertanya permintaan siapa yang dilayaninya.

Agen LLM adalah salah satu contohnya. Antarmukanya adalah bahasa alami, yang tidak mengandung konsep siapa yang berwenang melakukan apa, dan seluruh tugas model ini adalah mengubah kalimat yang terdengar masuk akal menjadi panggilan alat. Permintaan API langsung setidaknya membawa identitas pemanggil bersamanya. Sebuah kalimat tidak, jadi kecuali identitas tersebut dilampirkan kembali sebelum panggilan dilakukan, agen bertindak atas wewenangnya sendiri dan izin pemohon tidak pernah diperhitungkan.

Agen juga tidak dapat secara andal memisahkan instruksi dari data. Segala sesuatu di jendela konteks dapat dibaca sebagai instruksi potensial: pesan pengguna, dokumen yang diambil, isi email yang diminta agen untuk diringkas. Bot dukungan yang mengatur ulang kata sandi karena obrolan yang meyakinkan menyuruhnya untuk melakukannya akan dengan mudah mengikuti perintah yang tersembunyi di dalam file yang diberikan untuk diproses. Trik VPN yang mengalahkan pemeriksaan geolokasi Meta adalah versi kasar dari hal ini. Versi yang lebih canggih, di mana instruksi berbahaya diselundupkan melalui konten yang diserap agen, sudah didokumentasikan sebagai kelas serangan agen yang dominan.

Radius ledakan akan segera berlipat ganda.

Bot Instagram dapat mengatur ulang kata sandi, dan itu merupakan pelanggaran serius, tetapi terbatas. Agen yang beroperasi saat ini tidak terbatas seperti itu. Pada minggu yang sama Meta menonaktifkan alat dukungan, mereka meluncurkan Business Agent, yang memesan janji temu, mengkualifikasi prospek, menutup penjualan, menerima pembayaran, dan terhubung ke sistem seperti Shopify dan Zendesk untuk bertindak atas nama perusahaan. Jalankan logika yang sama melalui API pembayaran dan CRM, dan kegagalannya bukan lagi akun yang dicuri. Itu adalah pengembalian dana yang dikirim ke pihak yang salah, pesanan yang dialihkan, harga yang diubah, catatan pelanggan yang diedit, masing-masing merupakan operasi sah yang diizinkan agen untuk dilakukan bagi siapa pun yang memintanya.

Pasar berkembang lebih cepat daripada model keamanan. Gartner memproyeksikan bahwa 40% aplikasi perusahaan akan menyertakan agen AI khusus tugas pada akhir tahun 2026 , naik dari kurang dari 5% pada awal tahun tersebut. Sebagian besar penerapan tersebut akan mewarisi asumsi yang sama seperti Meta, yaitu bahwa apa pun yang berada di ujung tindakan istimewa memiliki kemampuan untuk mengambil keputusan.

Mengapa model yang lebih baik tidak memperbaiki masalah ini?

Model yang lebih mumpuni di balik alur kerja yang sama akan menyerahkan akun yang sama dengan tata bahasa yang lebih baik, dan itulah mengapa model tersebut tidak dapat menjadi tempat otorisasi berada, karena merupakan bagian yang dikendalikan oleh penyerang. Keputusan untuk mengizinkan suatu tindakan harus dibuat di luar model tersebut, oleh lapisan kebijakan yang memeriksa siapa sebenarnya yang berada di balik sesi tersebut sebelum sesuatu dijalankan. Asisten Meta tidak pernah memastikan bahwa orang yang diajak bicara memiliki akun tersebut sebelum mengirimkan kembali email pemulihan mereka.

Dalam beberapa baris kode, apa yang dikirimkan tampak seperti ini. Agen dapat memanggil fungsi tersebut, dan kemampuan untuk memanggilnya adalah keseluruhan otorisasi:

def add_recovery_email(account, new_email):
    account.recovery_email = new_email      # nothing here ties to the caller
    send_reset_link(new_email)

Perbaikannya bukanlah model yang lebih cerdas atau perintah yang lebih baik. Ini adalah pemeriksaan utama yang hilang, yang diputuskan di luar pengaruh apa pun yang dapat diberikan oleh obrolan:

pythondef add_recovery_email(account, new_email, principal):
    if not principal.owns(account):         # who is actually asking, verified
        raise Unauthorized("session not authenticated as the account owner")
    account.recovery_email = new_email
    send_reset_link(new_email)


Penyerang mengendalikan percakapan, tetapi principalberasal dari sesi yang terautentikasi, bukan dari obrolan, sehingga tidak ada rangkaian pesan yang meyakinkan yang dapat memenuhi persyaratan tersebut.

Agen seharusnya memiliki wewenang yang terbatas dan berumur pendek, bukan akses permanen. Token yang dibuat untuk meringkas tiket terbuka pelanggan seharusnya tidak berguna untuk mengembalikan dana pesanan terakhir mereka. Itu adalah prinsip hak akses minimal, tetapi harus diterapkan per tindakan dan per sumber daya, bukan diberikan sekali saat sesi dibuka dan dipercaya sejak saat itu, karena agen akan dibujuk untuk menggunakan semua yang diizinkan oleh kredensialnya.

Segala sesuatu yang tidak dapat dibatalkan membutuhkan gerbang yang tidak dapat dilewati oleh agen. Konfirmasi yang dapat dipenuhi oleh model dengan menghasilkan kata-kata yang tepat bukanlah kontrol, melainkan hanya tambahan yang tidak penting. Pembayaran, penghapusan, perubahan izin, dan pemulihan akun harus berada di balik persetujuan manusia atau aturan kebijakan yang ketat, diklasifikasikan berdasarkan seberapa besar kerusakan yang dapat ditimbulkannya, bukan hanya dilewatkan begitu saja seperti pencarian rutin.

Setiap tindakan yang dilakukan agen harus memiliki asal-usulnya, artinya prinsipal, sesi, dan perintah yang memicunya, sehingga Anda dapat mengaudit apa yang terjadi dan mencabutnya ketika sesuatu dieksploitasi. Mengingat serangan Instagram berlangsung selama kurang lebih enam minggu, jarak antara insiden yang terkendali dan dua puluh ribu akun yang dicuri seringkali hanya terletak pada apakah seseorang dapat melihat, hampir secara real-time, bahwa satu tindakan istimewa dijalankan berulang kali untuk akun-akun yang tidak memiliki kesamaan apa pun.

Mengimplementasikan putusan ke dalam kode.

Semua ini bukanlah alasan untuk menjauhkan agen dari sistem nyata. Agen layak dibangun, dan apa yang salah di Meta adalah celah rekayasa biasa, bukan sifat AI yang harus kita takuti. Setiap perbaikan di sini adalah sesuatu yang sudah diketahui tim cara melakukannya: membatasi kredensial, memverifikasi prinsipal, membatasi tindakan yang tidak dapat dibatalkan, dan menyimpan catatan tentang apa yang dijalankan.

Satu kebiasaan mengikat mereka bersama. Sebelum Anda menghubungkan agen ke hal apa pun yang penting, tanyakan apa yang biasa diperiksa oleh orang dalam siklus tersebut. Penilaian itu adalah pekerjaan nyata, dan sekarang harus ada sebagai kode, karena agen tidak akan mengimprovisasinya untuk Anda. Lakukan itu, dan kepatuhan berhenti menjadi beban. Agen yang melakukan persis apa yang diizinkan untuk dilakukannya adalah persis apa yang Anda inginkan, selama Anda telah melakukan pekerjaan untuk memutuskan apa yang diizinkan untuk dilakukannya.

Get 50% Discount.

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Exercitationem, facere nesciunt doloremque nobis debitis sint?