Membatasi hak akses dan tindakan agen AI
Agen boleh mengusulkan tindakan; layanan eksekusi memeriksa izin dan persetujuannya. Identitas, objek, parameter dan batas waktu harus diperiksa sebelum efek dijalankan.
Di halaman ini
Agen boleh melakukan apa?
Beri agen hanya tool dan hak akses yang dibutuhkan, lalu periksa setiap tindakan di layanan eksekusi. Jawaban model atau persetujuan pengguna tidak boleh memberikan hak yang sebelumnya tidak dimiliki pengguna tersebut.
Agen AI dapat memakai tool untuk membaca tiket, mencari dokumen atau mengirim pesan. Risiko meningkat saat agen mengubah data, membuat transaksi atau mengirim informasi ke luar. Pisahkan tindakan membaca, membuat draf dan menjalankan perubahan; nama tool yang terdengar aman belum menjelaskan seluruh efeknya.
Gunakan identitas dari server
Catat pengguna, organisasi pelanggan, peran, sesi dan layanan yang bertindak. Identitas tersebut berasal dari autentikasi serta data server; jangan mengambil tenant, peran atau hak administrator dari parameter yang dibuat model.
Periksa izin pada objek tujuan, bukan hanya nama tool. Tool read_ticket perlu membuktikan tiket milik organisasi yang boleh diakses pengguna. Akun layanan bersama yang memiliki akses luas tidak boleh menghapus batas pengguna peminta.
Mulai dengan peta izin tool. Catat tool yang tersedia, parameter yang diterima, objek, penerima, efek samping dan kasus yang wajib ditolak. Tool tak dikenal atau skema yang tidak cocok ditolak.
Pisahkan usulan, persetujuan dan eksekusi
Urutan kerja yang disarankan:
- Agen membuat usulan dengan parameter terstruktur.
- Server memvalidasi skema, hak pengguna, objek, penerima dan batas tindakan.
- Untuk tindakan berdampak, tampilkan isi yang akan dijalankan kepada pihak yang berwenang menyetujui.
- Server mencatat persetujuan untuk tindakan tersebut, bukan izin umum bagi semua tindakan berikutnya.
- Saat eksekusi, periksa lagi izin saat ini, masa berlaku, pembatalan dan apakah persetujuan sudah digunakan.
- Jalankan satu efek yang sah dan catat hasilnya; kegagalan pemeriksaan menghentikan tindakan.
Persetujuan pengiriman pesan perlu terikat pada pengguna/organisasi, tool, objek, penerima, isi yang sudah dinormalisasi, versi kebijakan dan tenggat. Bila isi atau penerima berubah, minta persetujuan baru. Jangan memakai tombol “setuju” yang kemudian menjalankan parameter berbeda.
Untuk pemulihan akun, pembayaran atau perubahan hak penting, nilai kebutuhan autentikasi tambahan. Layanan tetap harus menolak tindakan di luar kewenangan pengguna walaupun pengguna menekan setuju.
Cegah tindakan berulang dan sediakan pembatalan
Pengulangan permintaan akibat timeout tidak boleh membuat pembayaran atau pesan kedua tanpa sengaja. Gunakan ID operasi dan penanganan idempotensi: permintaan ulang dengan ID yang sama tidak membuat efek baru. Simpan keadaan eksekusi di tempat yang tahan kegagalan, termasuk saat proses berjalan bersamaan.
Bedakan membatalkan usulan yang belum dijalankan dari membatalkan efek yang sudah terjadi. Pesan yang sudah dikirim belum tentu bisa ditarik; catat status sebenarnya. Siapkan penghentian akses tool, batas jumlah langkah, waktu dan biaya serta eskalasi ke petugas.
Jika pemeriksaan izin atau persetujuan gagal, jangan melanjutkan dengan izin bawaan yang lebih luas. Simpan alasan penolakan secukupnya; log tidak perlu menyalin token atau seluruh data sensitif.
Pisahkan memori dan konteks pengguna
Riwayat percakapan, ringkasan, cache dan memori jangka panjang dapat membawa data maupun instruksi dari sesi sebelumnya. Batasi berdasarkan pengguna, pelanggan, tujuan dan masa simpan. Jangan memasukkan ringkasan organisasi B ke sesi organisasi A hanya karena pertanyaannya serupa.
Perubahan izin juga memengaruhi konteks yang sudah disiapkan. Periksa akses sebelum konteks digunakan kembali; batalkan atau bangun ulang pekerjaan tertunda yang tidak lagi berwenang. Dokumen sumber tetap data, bukan pemberi izin bagi agen. Pengelolaan potongan dan cache dijelaskan pada keamanan RAG.
Contoh yang dijalankan: satu pesan yang disetujui
Lab keamanan AI 1.0 memakai Node 24.21.0, identitas A/B dan pesan buatan. Dijalankan 1 Oktober 2026; 25 assertion agen/RAG lolos. Bagian agen memeriksa 15 kasus berikut dalam kelompok:
| Permintaan | Hasil teramati |
|---|---|
| Baca objek sendiri / pelanggan lain | FAKE_A / ACCESS_DENIED. |
| Tool tidak dikenal / tambahan parameter tenant | SCHEMA_DENIED; identitas tidak dapat diganti lewat usulan. |
| Kirim tanpa persetujuan | APPROVAL_REQUIRED. |
| Isi berubah / penerima di luar izin | APPROVAL_MISMATCH / ACTION_DENIED. |
| Persetujuan dibatalkan / tepat pada tenggat | CANCELLED / EXPIRED. |
| Hak dicabut / versi hak berubah | ACTION_DENIED / APPROVAL_MISMATCH. |
| Identitas lain memakai persetujuan A | APPROVAL_MISMATCH. |
| Tindakan persis yang disetujui | QUEUED_LOCAL; satu item di array lokal. |
| Permintaan yang sama diulang | REPLAY_DENIED; jumlah efek tetap satu. |
Jalankan source yang diunduh dengan:
node agent-rag-lab.mjs
Lab tidak menjalankan LLM atau mengirim email. Usulan dibuat langsung untuk memeriksa batas layanan; hasil tidak membuktikan ketahanan prompt injection, autentikasi, keamanan model atau integrasi agen. Eksekusi satu proses sinkron juga belum menguji race, crash atau transaksi produksi. ID persetujuan dan data buatan bukan pola token autentikasi untuk digunakan langsung.
Bukti yang perlu dibawa ke evaluasi
Catat versi model/tool/kebijakan, identitas uji, objek, parameter yang disetujui, hasil eksekusi, penolakan serta jumlah efek. Sertakan uji izin dicabut, tenggat, pembatalan dan pengulangan; keberhasilan tindakan sah tetap perlu diperiksa.
Lanjutkan ke evaluasi fitur AI untuk kriteria rilis. Pengantar risiko mengikuti OWASP LLM; daftar risiko bukan sertifikasi layanan.
Penjelasan kontrol mengadaptasi OWASP AI Agent Security Cheat Sheet, diubah ke bahasa Indonesia dengan contoh orisinal, dengan CC BY-SA 4.0. Source lab orisinal tersedia sebagai CC0 dan memiliki batas pemeriksaan di README.
Periksa perubahan izin di sepanjang pekerjaan
Lab operasi AI, 2 Oktober 2026, memeriksa konteks yang telah disiapkan lalu izinnya dicabut; fungsi pengiriman konteks menolak sumber itu. Dokumen berbahaya masih dapat ditemukan melalui pencarian berizin, tetapi usulan tool yang ditulis langsung oleh fixture ditolak. Nol efek eksternal tidak membuktikan model tahan prompt injection: model tidak dijalankan.
Tinjauan manusia atas isi keputusan berbeda dari persetujuan tool yang terikat parameter di halaman ini. Catat perubahan izin/tool dan kriteria uji pada lembar perubahan AI. Gate satu proses belum menguji race, pencabutan terdistribusi atau autentikasi nyata.
Sumber rujukan
- AI Agent Security Cheat Sheet ↗OWASP Foundation; panduan teknis · Bagian 1, 3–6 dan 9: least privilege, memory, action-bound approval, replay protection, output dan evaluasi.
- OWASP GenAI LLM Top 10 2026 — halaman resmi dan PDF edisi 2026 ↗OWASP Foundation; daftar risiko teknis, bukan sertifikasi atau hukum Indonesia · LLM03:2026 Excessive Agency; konteks fungsi, izin dan otonomi agen.
Baca naskah lengkap untuk melihat syarat dan pengecualiannya. Sesuaikan dengan layanan dan bidang usaha Anda.
Perlu membahas kebutuhan tim Anda?
Ceritakan penggunaan AI di tim Anda dan hal yang ingin dipersiapkan.
Konsultasikan kebutuhan Anda