𝗬𝗼𝘂𝗿 𝗥𝗲𝗽𝗼 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗜𝘀 𝗔𝗻 𝗔𝘁𝘁𝗮𝗰𝗸 𝗦𝘂𝗿𝗳𝗮𝗰𝗲 𝗡𝗼𝘄
Keselamatan pengekodan AI adalah lebih daripada sekadar menghalang model daripada menulis kod yang buruk.
Risiko sebenar terletak pada apa yang dibaca oleh ejen sebelum ia menulis. Repositori anda bukan lagi sekadar tempat untuk kod. Ia kini merupakan aliran input untuk ejen AI.
Segala-galanya dalam repo anda boleh menjadi bahan panduan untuk ejen:
- Fail README lama
- Nota migrasi yang lapuk
- Dokumentasi yang ketinggalan zaman
- Konvensyen projek yang tersembunyi
- Fail arahan tempatan
- Skrip kebergantungan dan hook shell
Pembangun sering menganggap fail-fail ini sebagai sampah yang tidak berbahaya. Ejen AI tidak melihat konteks sosial. Ia melihat teks, alatan, dan corak. Jika dokumentasi anda lama atau tidak teratur, ejen tersebut akan menganggap kekacauan itu sebagai piawaian.
Konteks yang buruk datang dalam dua bentuk:
- Ralat yang membosankan:
- Arahan penyediaan yang lapuk
- Contoh menggunakan API yang telah usang (deprecated)
- Nota seni bina lama
- Serangan adversarial:
- Suntikan prompt (prompt injection) di dalam fail
- Skrip kebergantungan berniat jahat
- Contoh yang telah dicemari (poisoned) yang mendorong kod ke arah corak yang tidak selamat
Apabila anda memberi ejen kuasa untuk menjalankan ujian, mencari fail, atau membuka pull request, anda meningkatkan radius impak (blast radius). Sistem hook bukan lagi sekadar alat produktiviti. Ia adalah automasi. Anda mesti melayannya seperti automasi.
Ajukan soalan-soalan ini tentang aliran kerja anda:
- Siapa yang boleh menyunting hook?
- Pemboleh ubah persekitaran (environment variables) apakah yang boleh dilihat oleh ejen?
- Adakah ejen mewarisi kredensial pembangun?
- Adakah alatan tersebut menulis di luar repo?
Jangan anggap ejen sebagai kotak teks ajaib. Anggaplah mereka sebagai infrastruktur pembangun.
Cara untuk mengamankan aliran kerja ejen anda:
- Kecilkan skop: Jangan halakan ejen ke seluruh projek anda jika ia hanya memerlukan tiga fail.
- Bersihkan konteks: Padam atau baiki dokumen yang lapuk dan arahan lama.
- Perkukuh pelaksanaan: Jalankan tugas berisiko dalam sandbox. Hadkan skop kredensial.
- Tuntut keterlihatan: Ketahui dengan tepat apa yang dibaca oleh ejen, alatan apa yang dipanggilnya, dan arahan apa yang dijalankannya.
Ejen AI adalah seperti pembangun junior dengan akses shell dan kelajuan menaip yang tinggi. Anda tidak akan memberikan kredensial produksi penuh kepada pembangun junior baharu pada hari pertama. Anda akan memberikan mereka tugas-tugas kecil, konteks yang bersih, dan kebenaran yang terhad.
Layan ejen anda dengan cara yang sama.
Sumber: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj
Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi