Bir AI Agent’a shell erişimi verdiğimizde artık sadece metin ve kod üreten basit bir araçtan söz etmiyoruz. Agent; dosyaları değiştirebilir, command çalıştırabilir, network’e ve hassas bilgilere erişebilir.

OpenAI model’larının bir güvenlik testi sırasında izole edilmiş ortamdan çıkıp Hugging Face altyapısına ulaşmasının ardından Anthropic de kendi değerlendirmelerini incelemeye başladı ve model’ların gerçek sistemlere eriştiği üç olay tespit etti.

Benim dikkatimi çeken nokta şuydu: Bu testlerde Claude’a bir simülasyon ortamında olduğu ve internet erişiminin bulunmadığı söylenmişti. Ancak konfigürasyondaki bir hata nedeniyle internet erişimi aslında açıktı.

🔐 Prompt, internet erişimi olmadığını söylüyordu; ama altyapı bu sınırı gerçekten uygulamıyordu.

Bu noktada yalnızca prompt’a veya izin config’lerine güvenmek yeterli değil. Bu tür kısıtlamaların Agent’ın dışında, işletim sistemi seviyesinde uygulanması gerekiyor.

Aslında bu, AI’dan yıllar önce de yaşadığımız problemin aynısı: Birine “lütfen buraya dokunma” deyip sonra buna uymasını beklemek.

Bu yüzden Agent’ı yalnızca bizim açıkça izin verdiğimiz kaynaklara erişebileceği şekilde izole etmemiz gerekiyor.

Daha önce sandbox hakkında yazmış ve farklı yöntemleri test etmemiz gerektiğini söylemiştim. Bu arada ben de bunlardan birkaçını denedim.

📦 Akla ilk gelen seçenek container kullanmak. Ancak Agent’ı yalnızca bir container içine koymak, otomatik olarak uygun bir sandbox oluşturduğumuz anlamına gelmiyor. Network açıksa, hassas dizinler mount edilmişse veya credential gibi hassas bilgiler container’ın içindeyse Agent hala proje sınırlarının dışına çıkabilir.

🖥 Sanal makine (VM) daha güçlü bir isolation sağlıyor, ancak günlük workflow için genellikle ağır ve gereğinden fazla genel bir çözüm. Üstelik VM içinde Agent’a credential’ları, interneti veya production erişimini hiçbir sınır koymadan verirsek yalnızca host sistemi korumuş oluruz; dış servisleri değil.

🔒 Sonunda daha önce de bahsettiğim nono’ya geliyoruz.

nono’yu benim için çekici kılan şey, container veya VM kullanmadan Agent’ın erişimini işletim sistemi seviyesinde sınırlandırabilmesi. Yani Agent’a “bunu yapma” demek yerine, Agent’ı o işi en baştan yapamayacak hale getiriyoruz.

Bir diğer önemli avantajı ise nono’nun dosya işlemlerini, network bağlantılarını ve çalıştırılan command’ları audit log’a kaydedebilmesi.

Rollback etkinleştirildiğinde sandbox kapsamındaki dosyaların session öncesi ve sonrası snapshot’larını alıyor. Böylece tam olarak nelerin değiştiğini görebiliyor veya dosyaları önceki durumlarına döndürebiliyoruz.

Tabii nono da mucize değil. Policy’yi yanlış tanımlarsak yeniden aynı sorunlarla karşılaşabiliriz.

Ama hassas projelerde teknik olarak uygulanabilen ve test edilebilen bir sınır koymak; prompt’a, denylist’e veya harness’ın kendi “permission dialog” güvenmekten çok daha iyi.

🔗 Anthropic’in raporu: https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals

🔗 nono’nun web sitesi: https://nono.sh