Yazar, Claude Code'u --dangerously-skip-permissions bayrağıyla kullanırken karşılaşılan güvenlik risklerini ve bu riskleri nasıl yöneteceğini araştırıyor. Bu bayrak, Claude'un izin istemeden doğrudan dosya sistemi üzerinde işlem yapmasına olanak tanıyarak iş akışını hızlandırsa da, sistem bütünlüğü için ciddi bir tehdit oluşturuyor. Yazar, bu tehlikeli modu güvenli bir şekilde kullanabilmek için çeşitli izolasyon yöntemlerini değerlendiriyor.
İlk olarak Docker konteynerlerini düşünen yazar, Claude'un Docker imajları oluşturması ve çalıştırması gerektiği için "Docker-in-Docker" yaklaşımına ihtiyaç duyulduğunu belirtiyor. Ancak bu, --privileged modunu gerektirdiğinden sandboxing amacını tamamen ortadan kaldırıyor ve Claude'a konteyner runtime'ına kök düzeyinde erişim sağlıyor. Diğer seçenekler arasında doğrudan işletim sistemi üzerinde çalıştırma (çok riskli), ACL tabanlı sandbox'lar (kısıtlayıcı), firejail (Docker ile aynı sorunlar), manuel VM kurulumu (zahmetli) ve bulut VM'leri (maliyetli, gecikmeli) yer alıyor. Bu çözümlerin hiçbiri yazarın ihtiyaçlarını karşılamıyor.
Sonunda yazar, Docker popülerleşmeden önce kullandığı Vagrant'ı hatırlıyor. Vagrant, yeniden üretilebilir bir yapılandırma dosyasıyla tam VM izolasyonu sunuyor. Bu sayede, paylaşılan bir kernel olmadan, kolayca sıfırlanıp yeniden kurulabilen ve yerel gibi hissettiren paylaşımlı klasörlere sahip bir sanal makine ortamı sağlanıyor. Yazar, VirtualBox ile yaşadığı yüksek CPU kullanım sorununu bir regresyon hatası olarak tespit edip çözdükten sonra, Claude Code'u güvenli ve izole bir ortamda çalıştırmak için Vagrant'ı başarılı bir şekilde kullanıyor. Bu yaklaşım, AI ajanlarının geniş yetkilere sahip kodları güvenli bir şekilde yürütmesi için pratik bir çözüm sunuyor.
Yapay zeka ajanlarının geniş yetkilere sahip kodları güvenli ve izole bir ortamda çalıştırmak için etkili bir sanal makine çözümü sunuluyor.