- Web platformu geliştiricisi Paul Kinlan, kodlama ajanları için güvenli bir çalışma ortamı olarak tarayıcının potansiyelini inceliyor
- Tarayıcının zaten güvenilmeyen kodu çalıştırmak için güçlü bir sandbox yapısına sahip olduğuna dikkat çekiyor
- Bunu doğrulamak için Co-do adlı bir demo hazırlayarak tarayıcı içinde dosya erişimi, ağ iletişimi ve kod çalıştırmayı test ediyor
- Co-do, File System Access API, CSP başlıkları ve
<iframe sandbox>, Web Workers içinde WebAssembly kullanıyor
- Bu, tarayıcının yerel container'lar olmadan da bir AI ajanı çalışma ortamına dönüşebileceğini gösteren bir örnek
Tarayıcıya sandbox olarak bakış
- Google'dan Paul Kinlan, kodlama ajanlarını çalıştırmak için güçlü bir sandbox ortamı gerektiğini düşünüyor
- Tarayıcının son 30 yılda kötü amaçlı yazılımları veya güvenilmeyen kodları güvenle çalıştırmak için gelişmiş bir platform olduğunu vurguluyor
- Bu özellik, tarayıcının bir ajan çalışma ortamı olarak kullanılabilmesi için temel oluşturuyor
Tarayıcı tabanlı sandbox'ın üç temel unsuru
- Kinlan, sandbox'ın üç temel unsuru olarak dosya sistemi erişimi, ağ erişim kontrolü ve güvenli kod çalıştırmayı öne çıkarıyor
- File System Access API, tarayıcıda yerel dosyalarla çalışma imkanı sunuyor ve şu anda yalnızca Chrome'a özel olarak biliniyor
- CSP(Content Security Policy) başlıkları ve
<iframe sandbox> niteliğiyle ağ erişimi kontrol edilebiliyor
- WebAssembly ve Web Workers kullanılarak kod izole bir ortamda çalıştırılabiliyor
Co-do demosunun yapısı ve işlevleri
- Kinlan'ın fikrini doğrulamak için Co-do adlı bir demo uygulaması hazırlandı
- Kullanıcı klasör seçiyor, ardından LLM sağlayıcısını ve API anahtarını ayarlıyor
- Co-do, CSP tarafından izin verilen API çağrıları üzerinden LLM ile etkileşime giriyor ve dosyalarla konuşabilen bir sohbet arayüzü sunuyor
- Bu yapı Claude Cowork'e benziyor, ancak büyük yerel container'lar olmadan yalnızca tarayıcıda çalışıyor
<iframe sandbox> ve güvenlik teknolojilerinin sınırları
- Ana sorunlardan biri,
<iframe sandbox> için dokümantasyonun yetersiz olması
- Tarayıcılar arasında uygulama farkları büyük ve ilgili kaynaklar sınırlı
- Kinlan, double-iframe tekniğiyle iç çerçeveye ağ kuralları uygulama yöntemini gösteriyor
Ek keşifler ve deneyler
<input type="file" webkitdirectory> niteliğinin Firefox, Safari ve Chrome üzerinde de çalıştığı doğrulandı
- Bu sayede tarayıcı, tüm dizine salt okunur erişim sağlayabiliyor
- Bunu denemek için bir webkitdirectory demosu hazırlandı ve gelecekteki projelerde de kullanılmasının planlandığı belirtiliyor
Sonuç
- Tarayıcı, güvenli izolasyon ve kod çalıştırma için yüksek olgunluğa ulaşmış bir platform haline gelmiş durumda
- Co-do örneği, tarayıcının AI kodlama ajanları için bir çalışma ortamı olarak genişleyebileceğini gösteren deneysel bir kanıt sunuyor
1 yorum
Hacker News yorumları
Bu, bağlantı blogumda yayımladığım bir yazı. Bağlamın tamamını anlamak için mutlaka özgün metin olan The Browser is the Sandbox yazısını okumak gerekir
Google'ın NaCl'ı yapma nedeninin doğrudan WebAssembly'nin sandbox standardizasyonuna uzandığını düşünüyorum. DOM, JS ve CSS de birer render sandbox'ı gibi çalışıyor. Tarayıcı, işlevleri sınırlayarak birleşik bir kullanıcı deneyimi sunmalı.
IE ve eski Edge'in başarısız olma sebebi de buydu. Flash, ActiveX, Java Applet ve Silverlight gibi harici sandbox'ların hepsi ortadan kayboldu; asm.js ve WebAssembly'nin oturmasıyla web çok daha temiz hale geldi. Bu arada Flash'ın ActionScript'i, ECMAScript ve TypeScript tasarımını da etkiledi
webkitdirectoryniteliğini ilk gördüğümde ben de şaşırdım. Yıllardır web uygulamaları geliştiriyorum ama bunu kaçırmışım. Tarayıcı sandbox'ı, milyarlarca insanın şüpheli bağlantılara tıklayarak doğruladığı bir güvenlik modeli.Her seferinde yeni bir container ayağa kaldırmaktan çok daha olgun bir yaklaşım. Yine de tarayıcının sistem çağrıları, ikili dosya çalıştırma ve donanım erişimi gibi konularda kısıtları var. Yapay zeka ile kodlama için yeterli ama bazı işler için sınırları mevcut
systemd ya da Linux'un kullanıcı izin sistemi gibi şeylerin sandbox tartışmalarında neredeyse hiç anılmaması ilginç. Oysa bunlar da oldukça güçlü ve düşük maliyetli izolasyon sağlıyor
File System Access API, web'in gelişiminde büyük bir dönüm noktası. co-do.xyz üzerinde bir dizin seçip yapay zekanın içindeki dosyalarla güvenli biçimde çalışmasını sağlayabiliyorsunuz. Bu API sayesinde web uygulamaları gerçekten üretkenlik araçları haline geldi
Tarayıcı tabanlı çalıştırma ilgi çekici ama çoğu gerçek iş uygulaması, bakım kolaylığı, güvenlik ve veri erişilebilirliği nedeniyle bulut merkezli yapıya geçti. Yerelde çalıştırma kişisel üretkenlik için iyi olabilir ama ana akım uygulamalar için sınırları var. Geçmişte AppleScript, COM ve DDE gibi masaüstü otomasyonu özelliklerinin ortadan kaybolmasının sebebi de bu
Tarayıcıda mümkün olan iki şeyi daha tanıtmak istiyorum
Teoride yalnızca bir URL ile oldukça tam bir ajan sistemi kurulabilir
Eskiden Chrome'da File System Access API ile bir dizin için okuma/yazma izni istenebiliyordu ama sekme yenilenince izin kayboluyordu. Şimdi düzelip düzelmediğini merak ediyorum
Bu yaklaşım yalnızca dosya sistemini sandbox içine alıyor. Oysa insanlar e-posta, takvim, sohbet, kaynak kodu ve finansal veriler gibi şeylere de bağlanmak istiyor. Dosya sistemi güvenliği sadece başlangıç; veri ekosisteminin tamamının güvenliği hâlâ çözülmesi gereken bir konu
Bu yaklaşımın sınırlarını merak ediyorum. Tarayıcıda Gemini CLI'yi daha iyi bir UX ile uygulamak mümkün mü? Yerel araçlarla da entegre olabilir mi?