Clawk: Kodlama Ajanlarına Sanal Bir Linux Makinesi Verin, Kendi Bilgisayarınızı Değil Siber Güvenlik

Clawk: Kodlama Ajanlarına Sanal Bir Linux Makinesi Verin, Kendi Bilgisayarınızı Değil

Clawk, kodlama ajanlarına kendi bilgisayarınıza erişmeden çalışabilecekleri tek kullanımlık bir Linux VM sağlar.

Yazılım geliştiriciler için yapay zeka tabanlı kodlama ajanları giderek daha popüler hale geliyor. Ancak bu ajanların gerçekten faydalı olabilmesi için onlara yetki vermeniz gerekir: paket kurulumu, kod çalıştırma, sunucu başlatma ve ağ kullanımı gibi işlemleri yapabilmeleri gerekir. Kendi bilgisayarınızda bu durum iki kötü seçenek sunar: ya her komutu onaylarsınız (ve her saniye bir uyarıyla ilgilenirsiniz) ya da '--dangerously-skip-permissions' gibi bir bayrak kullanarak her şeyi riske atarsınız. Clawk, bu ikileme üçüncü bir seçenek sunuyor.

Clawk, bir depoya gidip 'clawk' yazdığınızda, Claude Code, Codex veya bir kabuk gibi ajanların çalışabileceği tek kullanımlık bir Linux VM oluşturur. Kodunuz bu VM'e bağlanır, misafir işletim sisteminde root yetkisine sahip olur ve hiçbir izin istemi olmadan çalışır. Bu arada, sizin dosyalarınız, anahtarlarınız ve bilgisayarınızın geri kalanı güvende kalır. Ajan, sizin makineniz yerine kendi makinesine sahip olur.

Bu yaklaşımın en önemli özelliği, güvenlik sınırının bir uyarı metni veya bir kuraldan ibaret olmamasıdır. Ajan, ayrı bir makinede çalıştığı için, yalnızca sizin bağladığınız kaynaklara erişebilir. Örneğin, bir sanal alan içindeki kabuktan 'curl https://tracker.evil.example' komutunu çalıştırdığınızda, bu adres izin listesinde olmadığı için bağlantı engellenir. Ayrıca, SSH anahtarlarınız VM'e hiç girmez, bu nedenle 'cat ~/.ssh/id_rsa' komutu dosyanın bulunamadığı hatasını verir. Ancak, ssh-agent iletildiği için 'git push' gibi işlemler sorunsuz çalışır.

Clawk'ın güvenlik modeli, ajanın okuyabildiği her şeyi yayınlayabileceğini kabul eder. Bu nedenle, ağ izin listesi yalnızca bilinmeyen sunuculara bağlantıları engeller; izin verilen sunuculara (örneğin github.com) bağlantılara izin verilir. Eğer ajan VM'i bozarsa, 'clawk destroy && clawk' komutuyla yeni bir VM oluşturabilir ve '--resume' ile konuşmayı geri yükleyebilirsiniz. Bu, geliştirme sürecinde büyük bir esneklik sağlar.

Detaylar ve Etkileri

Clawk'ın öne çıkan özellikleri arasında, ajanın her şeyi yapmasına izin vermesi yer alır. Tek kullanımlık bir VM'de çalıştığı için, 'rm -rf', paket kurulumları ve güvenilmeyen kodlar ana makinenize, dosyalarınıza veya paylaşmadığınız hiçbir şeye erişemez. Ayrıca, tek bir komutla çalışır: bir depoya gidin ve 'clawk' yazın. Dockerfile, devcontainer veya kurulum dosyası gerektirmez. İlk açılışta rootfs oluşturulur, sonraki açılışlar saniyeler sürer. VM'i bozup yeniden oluşturmak serbesttir; kodunuz ve ajan konuşmaları ana makinede kalır, yalnızca VM diski kaybolur.

Gelecekte Ne Bekleniyor?

Clawk, gerçek bir Linux makinesi sunar ve herhangi bir OCI görüntüsünü rootfs olarak kullanabilir. Bu, projenizin ihtiyaç duyduğu tüm araçlarla dolu bir işletim sistemi anlamına gelir. Docker daemon gerektirmez. Sırlar (secrets) ana makinenizde kalır; giden trafik izin listesine tabidir ve ssh-agent iletildiği için anahtarlar VM'e girmeden git push çalışır. Ayrıca, proje veya görev başına bir sanal alan kullanabilir, birden fazla VM'i aynı anda çalıştırabilirsiniz. Boşta kalan VM'ler otomatik olarak belleği serbest bırakır ve diske uyku moduna geçer, böylece unutulan bir sanal alan neredeyse hiçbir maliyet oluşturmaz.

Clawk, genel amaçlı bir yerel ortam olarak tasarlanmıştır. VM kullanmasının nedeni, ajanın tam bir makineye sahip olmasını sağlamaktır. Misafir işletim sistemi kendi Linux çekirdeğini çalıştırır, böylece ana dosya sistemi asla bağlanmaz. Standart bir Linux ortamı sunar; araçlar, belgelerinde belirtildiği gibi çalışır. Misafirde root yetkisi vardır; sistem paketleri kurabilir, /etc dosyasını düzenleyebilir, modül yükleyebilir veya ayrıcalıklı bir bağlantı noktasına bağlanabilir. Bu, ajanın kendi kutusunu yeniden yapılandırmasına olanak tanır. Ayrıca, hipervizör sınırı sayesinde süreç sanal alanlarından daha güçlü bir izolasyon sağlar.

Önemli Gelişmeler

Clawk, macOS 14+ ve Apple silicon gerektirir. Linux desteği deneysel aşamadadır. Henüz 1.0 sürümüne ulaşmamış olan bu araç, hızlı bir şekilde gelişmektedir ve sürümler arasında büyük değişiklikler olabilir. Geliştiriciler, geri bildirimlerle 1.0 sürümünü şekillendirmeyi hedefliyor. Eğer siz de kodlama ajanlarınızı güvenli bir şekilde kullanmak istiyorsanız, Clawk'ı denemek için iyi bir zaman olabilir.

Kaynak: github.com

Paylaş: