Izin dan sandbox
Batas workspace, persetujuan, dan rahasia yang tidak boleh diserahkan.
Alat bash menjalankan perintah dengan hak aksesmu. Kalau kamu bisa menghapus folder, membaca
kunci SSH, atau mengirim data ke internet, agenmu juga bisa. Biasanya agen tidak berniat jahat,
tapi model bisa keliru, dan teks dari luar bisa menyusupkan instruksi. Batas harus dipasang
sebelum sesuatu terjadi.
Batas workspace
Alat berkas sebaiknya hanya bisa menyentuh folder proyek. Caranya: ubah setiap path menjadi path absolut yang sudah dinormalisasi, lalu tolak kalau hasilnya keluar dari workspace.
import path from "node:path";
function pathAman(workspace: string, masukan: string): string {
const lengkap = path.resolve(workspace, masukan);
if (lengkap !== workspace && !lengkap.startsWith(workspace + path.sep)) {
throw new Error(`Ditolak: ${masukan} berada di luar workspace`);
}
return lengkap;
}Error itu dikembalikan ke model sebagai hasil alat, seperti error lainnya.
Fungsi ini seharusnya menolak path di luar workspace, tapi ../../.ssh/id_ed25519 lolos. Baris mana penyebabnya?
Latihan 1/3Ketuk baris yang bermasalah.
Persetujuan untuk perintah berisiko
Tidak semua perintah perlu ditanyakan. Perintah yang hanya membaca, seperti git status, ls,
atau menjalankan tes, aman dijalankan otomatis. Perintah yang mengubah sesuatu di luar workspace,
menghapus data, memasang paket, atau mengirim sesuatu ke internet sebaiknya menunggu persetujuanmu.
Agen produksi menyediakan daftar izin seperti ini, dan kamu bisa menyetelnya per proyek.
Lapisan yang lebih kuat adalah sandbox: menjalankan agen di container atau mesin terpisah, tanpa akses ke berkas dan jaringan yang tidak diperlukan.
Perintah mana yang aman disetujui otomatis untuk agen di repo warung?
Latihan 2/3Pilih 2 jawaban.
Rahasia tidak masuk ke konteks
Apa pun yang masuk ke context window dikirim ke penyedia model dan bisa tersimpan di log. Jangan
tempel token, kata sandi, atau isi .env ke chat. Kalau alat butuh kredensial, alat itu yang
membacanya dari lingkungan, dengan izin sekecil mungkin.
Agen meminta kredensial. Apa langkahmu?
Latihan 3/3Agen menunggu. Apa langkahmu?
Yang perlu dibawa
- Alat berjalan dengan hak aksesmu, jadi batasnya harus ditegakkan program.
- Normalisasi path sebelum memeriksanya.
Izin otomatis untuk membaca, persetujuan untuk yang berisiko, dan rahasia tidak pernah masuk chat.