Asisten yang merangkum tiket dukungan perlu membaca tiket. Biasanya ia tidak perlu menutup akun, mengunduh seluruh lampiran, atau mengirim email ke alamat sembarang. Namun, integrasi yang praktis bisa memberikan semua kemampuan itu melalui satu kredensial.

Prinsip hak akses minimum dimulai dengan menjelaskan tugas secara cukup spesifik agar kemampuan yang tidak diperlukan bisa dihapus. Prompt dapat menjelaskan batasnya. Aplikasi, identitas layanan, dan lingkungan eksekusi harus menegakkannya.

Panduan ini memakai asisten dukungan fiktif. Terapkan pemeriksaan hanya pada sistem milik sendiri atau yang pengujiannya telah diizinkan, dengan data sintetis sebelum memberikan akses produksi.

Tulis tugasnya sebelum memilih alat

Gunakan kalimat konkret: “Baca tiket terbuka milik pelanggan yang ditugaskan dan siapkan balasan untuk ditinjau petugas dukungan.” Lalu catat tindakan yang tidak diizinkan: mengakses tiket pelanggan lain, mengubah status akun, atau mengirim balasan.

Pembedaan ini berguna ketika dependensi gagal. Jika layanan tiket mengembalikan kesalahan, hasil yang diperbolehkan adalah tugas terhenti dengan penjelasan. Agen tidak boleh mencari data pada tenant lain atau beralih ke akun pegawai yang memiliki akses lebih luas.

Simpan pemilik tugas, cakupan data, tindakan yang diizinkan, dan kondisi berhenti dalam catatan tinjauan yang sama. Peninjau seharusnya dapat menentukan apakah suatu pemanggilan alat sesuai tugas tanpa harus menafsirkan seluruh percakapan.

Pisahkan kemampuan pada batas eksekusi

Alat bernama manage_customer bisa menyembunyikan terlalu banyak tindakan. Pisahkan operasi berdasarkan akibatnya, meskipun semuanya memakai layanan dasar yang sama.

Kemampuan Yang diizinkan untuk tugas ini Pemeriksaan wajib
Membaca tiket Pelanggan yang ditugaskan, tiket terbuka Server memeriksa cakupan tenant dan pelanggan
Menyiapkan balasan Membuat draf di ruang kerja saat ini Kredensial pengiriman tidak tersedia
Mengirim balasan Hanya setelah disetujui petugas berwenang Periksa isi akhir, penerima, dan persetujuan
Mengubah akun Tidak diizinkan Operasi tidak tersedia bagi identitas ini

Menyembunyikan tombol atau tidak mencantumkan alat dalam prompt belum cukup jika agen masih dapat memanggil operasi dasarnya melalui klien HTTP umum atau shell. Tinjau seluruh jalur yang tersedia menuju kemampuan yang sama.

Jika layanan hulu hanya menyediakan kredensial berizin luas, simpan kredensial tersebut pada perantara tepercaya yang hanya menyediakan operasi terbatas. Perantara harus mengautentikasi pemanggil dan menegakkan cakupan. Sekadar meneruskan permintaan model akan mengulang masalah awal.

Ambil identitas dan cakupan dari sumber tepercaya

Jangan biarkan tenantId yang diberikan model menentukan data yang boleh terlihat. Ambil tenant dan penugasan dari sesi terautentikasi atau catatan pekerjaan yang sudah diverifikasi, lalu batasi kueri ke cakupan itu. Perlakukan ID objek dalam pemanggilan alat sebagai input tidak tepercaya.

Gunakan identitas layanan khusus, bukan akun pengembang. Batasi izin dan masa berlaku kredensial sesuai pekerjaan. Simpan kredensial di luar konteks yang dapat dibaca model dan samarkan nilainya pada keluaran alat serta log.

Masa berlaku pendek tidak sama dengan pencabutan akses. Tindakan dalam antrean bisa masih memegang kredensial yang berlaku setelah tugas dibatalkan. Periksa status tugas dan otorisasi saat tindakan dijalankan, bukan hanya ketika rencana dibuat.

Batasi berkas dan tujuan jaringan

Untuk agen pemrograman, gunakan ruang kerja sementara yang hanya memuat repository dan fixture yang diperlukan. Hindari memasang seluruh direktori home pengembang atau tempat penyimpanan kredensial produksi. Jadikan berkas sumber hanya-baca jika tugasnya pemeriksaan, bukan penyuntingan.

Untuk agen yang memakai jaringan, izinkan layanan yang diperlukan dan tolak tujuan lain melalui kontrol yang benar-benar dapat menegakkannya. Periksa pengalihan URL dan alamat tujuan setelah resolusi DNS sebagai bagian dari kontrol jaringan. Membandingkan teks URL dengan hostname yang diizinkan saja belum mencegah akses ke alamat jaringan privat atau tujuan pengalihan yang tidak diharapkan.

Proses terisolasi dengan akses internet keluar tanpa batas tetap dapat mengirim informasi. Izin berkas dan kebijakan jaringan menjawab pertanyaan berbeda; keduanya perlu sesuai dengan tugas.

Kaitkan persetujuan dengan objek yang spesifik

“Izinkan agen melanjutkan” terlalu luas untuk tindakan yang sulit dibatalkan. Persetujuan perlu mengidentifikasi operasi, penerima atau target, isi persis yang akan diproses, tugas, pemberi persetujuan berwenang, dan masa berlaku. Perubahan pesan atau tujuan memerlukan keputusan baru.

Konsumsi persetujuan secara atomik bersama perubahan status operasi agar beberapa worker tidak dapat memakainya bersamaan. Untuk pengiriman jarak jauh, gunakan mekanisme idempotensi yang didukung penyedia dan catat hasil yang belum pasti untuk dicocokkan kembali. Mengulang setelah timeout tanpa memeriksa hasil sebelumnya bisa menggandakan tindakan nyata.

Pembahasan privasi agen sebelumnya menjelaskan mengapa izin membaca data belum menentukan ke mana data itu boleh dikirim. Persetujuan merupakan salah satu cara menegakkan pembedaan tersebut untuk tindakan keluar.

Verifikasi alur terkecil yang tetap berguna

Jalankan tugas yang diperbolehkan terlebih dahulu. Asisten seharusnya mengambil tiket pelanggan yang ditugaskan dan membuat draf. Lalu uji ID pelanggan lain, pengiriman tanpa persetujuan, persetujuan kedaluwarsa, dan tugas yang aksesnya dicabut. Pastikan layanan yang dilindungi tidak mencatat pembacaan atau pengiriman tanpa izin.

Simpan bukti ringkas: konfigurasi yang diuji, identitas pelaksana, hasil yang diharapkan, respons alat, dan akibat tindakan yang teramati. Jika tindakan yang ditolak masih berhasil melalui alat lain, batasnya belum bekerja dengan benar.

Mulai dengan menghapus satu kemampuan yang tidak pernah dibutuhkan tugas. Pastikan alur sah tetap berjalan, lalu ulangi. Cara ini menjaga model izin tetap terkait pekerjaan nyata, alih-alih menumpuk pengecualian pada akun yang bisa melakukan semuanya.

Bacaan lanjutan: OWASP Excessive Agency dan laporan Anthropic tentang tindakan di luar batas tugas. Contoh dan rekomendasi merupakan panduan editorial Linmas.