𝗞𝗼𝗻𝘁𝗲𝗸𝘀 𝗥𝗲𝗽𝗼 𝗔𝗻𝗱𝗮 𝗞𝗶𝗻𝗶 𝗠𝗲𝗻𝗷𝗮𝗱𝗶 𝗣𝗲𝗿𝗺𝘂𝗸𝗮𝗮𝗻 𝗦𝗲𝗿𝗮𝗻𝗴𝗮𝗻
Kebanyakan orang mengira keamanan AI berarti menghentikan model agar tidak menulis kode yang buruk.
Pandangan tersebut terlalu sempit.
Risiko sebenarnya adalah segala sesuatu yang dibaca AI sebelum ia menulis kode. Repositori Anda bukan lagi sekadar tempat untuk kode. Bagi agen AI, repositori adalah aliran input.
Seorang agen membaca README Anda, catatan migrasi lama, dokumentasi usang, dan file instruksi lokal. Ia melihat skrip dependensi, shell hooks, dan perubahan kode sebelumnya.
Pengembang sering menganggap konteks ini netral. Mereka melihat catatan lama sebagai sampah. Agen AI melihatnya sebagai instruksi.
Jika seorang agen menggunakan konteks proyek Anda untuk memutuskan apa yang normal, konteks yang buruk dapat menyebabkan masalah.
Konteks yang buruk bisa membosankan:
- Panduan pengaturan yang kedaluwarsa
- Contoh yang menggunakan API lama
- Catatan arsitektur yang tidak lagi sesuai dengan realitas
- File pengujian dengan asumsi yang tidak aman
Konteks yang buruk bisa bermusuhan:
- Instruksi prompt injection yang tersembunyi di dalam file
- Skrip dependensi yang menjalankan perintah tambahan
- Konfigurasi hook yang memperluas jalur eksekusi
- Contoh yang diracuni (poisoned) yang menggiring AI ke arah pola yang tidak aman
Mode kegagalannya sama. Agen tersebut mengikuti premis yang tidak Anda maksudkan.
Untuk memperbaikinya, Anda harus berhenti memperlakukan agen seperti alat autocomplete sederhana. Mereka adalah otomatisasi. Perlakukan mereka seperti infrastruktur.
Ikuti langkah-langkah ini untuk mengamankan alur kerja Anda:
Batasi cakupan Jangan berikan agen akses ke seluruh sistem Anda jika ia hanya membutuhkan tiga file. Gunakan tugas yang sempit dan worktree yang bersifat sementara (disposable).
Audit instruksi Anda Baca file yang digunakan agen Anda sebagai panduan. Jika dokumentasi sudah lama, hapus atau perbaiki. Jika berisi perintah, perlakukan sebagai kode sistem.
Perkuat eksekusi Jalankan tugas berisiko di dalam sandbox. Batasi cakupan kredensial Anda. Tinjau konfigurasi hook seperti Anda meninjau pipeline CI. Pastikan menjalankan pengujian tidak memberikan akses ke setiap secret di shell Anda.
Tuntut visibilitas Anda harus dapat menjawab pertanyaan-pertanyaan ini:
- Apa yang dibaca oleh agen tersebut?
- Alat apa yang ia panggil?
- File apa yang ia ubah?
- Perintah apa yang dijalankan?
- Asumsi apa yang ia buat?
Anggaplah agen AI sebagai pengembang junior dengan akses shell dan keterampilan mengetik yang cepat. Anda tidak akan memberikan kredensial produksi penuh kepada pengembang junior baru pada hari pertama. Anda akan memberi mereka tugas-tugas kecil, lingkungan yang bersih, dan proses peninjauan yang ketat.
Perlakukan agen AI Anda dengan cara yang sama.
Bersihkan konteks Anda. Persempit cakupan Anda. Isolasi eksekusi Anda dalam sandbox. Tinjau setiap diff seolah-olah ditulis oleh manusia.
Sumber: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj