𝗬𝗼𝘂𝗿 𝗥𝗲𝗽𝗼 𝗖𝗼𝗻𝘁𝗲𝘅𝘁 𝗜𝘀 𝗔𝗻 𝗔𝘁𝘁𝗮𝗰𝗸 𝗦𝘂𝗿𝗳𝗮𝗰𝗲 𝗡𝗼𝘄

Çoğu insan yapay zeka güvenliğinin, bir modelin kötü kod yazmasını engellemek anlamına geldiğini düşünür.

Bu bakış açısı çok dar.

Gerçek risk, yapay zekanın kod yazmadan önce okuduğu her şeydir. Deponuz (repository) artık sadece kodun bulunduğu bir yer değil. Bir yapay zeka ajanı için burası bir girdi akışıdır.

Bir ajan; README dosyanızı, eski taşıma (migration) notlarını, güncelliğini yitirmiş dokümantasyonu ve yerel talimat dosyalarını okur. Bağımlılık betiklerini, kabuk (shell) kancalarını (hooks) ve önceki kod değişikliklerini görür.

Geliştiriciler bu bağlamı genellikle nötr olarak görürler. Eski notları gereksiz kalabalık olarak görürler. Bir yapay zeka ajanı ise onları talimat olarak görür.

Eğer bir ajan, neyin normal olduğuna karar vermek için proje bağlamınızı kullanıyorsa, kötü bağlam sorunlara yol açabilir.

Kötü bağlam sıkıcı olabilir:

Kötü bağlam saldırgan olabilir:

Hata modu aynıdır. Ajan, sizin amaçlamadığınız bir önermeyi takip eder.

Bunu düzeltmek için ajanlara basit otomatik tamamlama araçları gibi davranmayı bırakmalısınız. Onlar birer otomasyondur. Onlara altyapı gibi davranın.

İş akışınızı güvence altına almak için şu adımları izleyin:

  1. Kapsamı sınırlayın Eğer bir ajanın sadece üç dosyaya ihtiyacı varsa, ona tüm sisteminize erişim vermeyin. Dar kapsamlı görevler ve geçici (disposable) çalışma ağaçları (worktrees) kullanın.

  2. Talimatlarınızı denetleyin Ajanınızın rehberlik için kullandığı dosyaları okuyun. Eğer dokümantasyon eskiyse, onu silin veya düzeltin. Eğer komutlar içeriyorsa, onlara sistem kodu gibi davranın.

  3. Yürütmeyi sıkılaştırın Riskli görevleri bir kum havuzunda (sandbox) çalıştırın. Kimlik bilgilerinizin kapsamını sınırlı tutun. Kanca (hook) yapılandırmalarını, CI süreçlerini inceler gibi inceleyin. Test çalıştırmanın, kabuğunuzdaki (shell) her türlü gizli bilgiye (secret) erişim sağlamadığından emin olun.

  4. Görünürlük talep edin Şu soruları yanıtlayabiliyor olmalısınız:

Bir yapay zeka ajanını, kabuk erişimi olan ve hızlı yazan bir junior geliştirici gibi düşünün. Yeni bir junior geliştiriciye ilk günden tüm üretim (production) ortamı kimlik bilgilerini vermezsiniz. Ona küçük görevler, temiz bir ortam ve sıkı bir inceleme süreci verirsiniz.

Yapay zeka ajanlarınıza da aynı şekilde davranın.

Bağlamınızı temizleyin. Kapsamınızı daraltın. Yürütmenizi izole edin. Her bir diff'i sanki bir insan yazmış gibi inceleyin.

Kaynak: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj