- Linux ortamında AI ajanlarını yalıtılmış olarak çalıştırmak için kullanılan hafif bir araç; karmaşık konteyner ayarları olmadan tek bir komutla güvenli bir çalışma sınırı sağlar
- AI araçlarının gerçek dosya sistemine erişip verileri silmesi veya bozması yönündeki vakalar art arda yaşanırken, güvenli çalışma ortamı ihtiyacı öne çıkıyor
- Ev dizinini copy-on-write overlay ile korur ve
/tmp ile /var/tmp dizinlerini ayırarak özgün dosyaların değiştirilmesini engeller
- Güvenlik seviyesi ve erişim kapsamının seçilebilmesi için üç yalıtım modu sunar: Casual, Strict ve Bare
- Stanford araştırma ekibi tarafından geliştirilen açık kaynak proje, AI araçlarını daha güvenli kullanmak için pratik bir koruma yöntemi sunuyor
AI ajanlarının yalıtımı için hafif araç jai
- jai, Linux ortamında AI ajanlarını kolayca yalıtmak (containment) için tasarlanmış bir araçtır
- Karmaşık konteyner veya VM yapılandırmaları olmadan, tek bir komutla güvenli bir çalışma sınırı sağlar
- Kod yazma yardımcıları ya da script çalıştırma gibi mevcut iş akışlarına doğrudan uygulanabilir
-
Gerçek sorun örnekleri
- Birçok kullanıcı, AI araçlarını kullanırken dosya kaybı ve dizin silinmesi yaşadığını bildirdi
- Nick Davidov, terminal komutuyla 15 yıllık aile fotoğraflarının silindiğini bildirdi
- Anthropic'in Claude Code aracı, ev dizinini silerek geliştirme projelerinin kaybolmasına yol açtı
- Cursor'un çalışma ağacını boşalttığı ve “her şeyin kaybolduğu” bildirildi
- Bir Reddit kullanıcısı, Antigravity'nin tüm D sürücüsünü sildiğini belirtti
- Başka bir Cursor kullanıcısı ise 100 GB dosyanın silindiğini bildirdi
- Bu örnekler, AI araçlarına gerçek kullanıcı hesabı erişimi verildiğinde ortaya çıkan güvenlik boşluğunu gösteriyor
-
jai'nin temel özellikleri
- Çalıştırma hesabı ile ev dizini arasındaki sınırı otomatik olarak kurar
- Çalışma dizini tam okuma/yazma iznini korur
- Ev dizini, özgün dosyaların değişmemesi için copy-on-write overlay ile korunur
/tmp ve /var/tmp bağımsız alanlara ayrılır, diğer dosyalar ise salt okunur olarak sınırlandırılır
- Komutun başına yalnızca
jai ekleyerek yalıtılmış çalıştırma mümkündür
- Örnek:
jai codex, jai claude veya yalnızca jai ile shell çalıştırma
- Dockerfile ya da imaj derleme süreci olmadan hemen kullanılabilir
- Karmaşık
bwrap bayrakları ayarlamaya veya script yazmaya gerek yoktur
-
Yalıtım modu seçimi
- Üç mod sunulur: Casual / Strict / Bare
- Casual: Ev dizinini copy-on-write ile korur, dosyaların çoğu okunabilir
- Strict: Ayrı bir
jai kullanıcısı olarak çalışır, boş bir ev diziniyle güçlü yalıtım sağlar
- Bare: Ev dizini boş başlar ama kullanıcı UID'si korunur
- Her modun gizlilik (confidentiality), bütünlük (integrity) ve NFS desteği farklıdır
- Strict modu en güçlü yalıtımı sağlar, ancak NFS home desteği yoktur
-
Alternatif araçlarla karşılaştırma
- Docker
- İmaj tabanlı ortamların yeniden üretimi için uygundur, ancak host araçlarının geçici sandbox'ı için ağır kalır
- Ev dizini overlay özelliği yoktur
- bubblewrap
- Güçlü bir namespace sandbox'ıdır, ancak dosya sistemi yapısının elle tanımlanmasını gerektirir
- jai bu karmaşıklığı ortadan kaldırır
- chroot
- Bir güvenlik yalıtım aracı değildir; mount, PID namespace ve ayrıcalık ayrımı özellikleri olmadığından Linux'ta da sandbox amacıyla önerilmez
-
Güvenlik sınırları
- jai, tam güvenliği garanti etmez
- Bir “casual sandbox” olarak hasarın kapsamını azaltır, ancak tüm saldırıları engellemez
- Casual modu gizlilik korumasında zayıftır; Strict modu da konteyner veya VM düzeyinde bir yalıtımla aynı değildir
- Çok kiracılı ortamlarda veya yüksek riskli durumlarda konteyner ya da sanal makine kullanılması önerilir
-
Projenin arka planı
- Stanford Secure Computer Systems(SCS) araştırma grubu ile Future of Digital Currency Initiative(FDCI) tarafından ortak geliştirildi
- Ücretsiz açık kaynak yazılım olarak sunuluyor ve kullanıcıların AI'ı daha güvenli şekilde kullanmasına yardımcı olmayı amaçlıyor
1 yorum
Hacker News yorumları
.claude/settings.jsondosyasına aşağıdaki ayarı eklemek yeterliDış dizinlere erişime izin vermek için
allowReadkısmını değiştirmek yeterliBu özellik 10 gün önce eklenen yeni bir sandbox seçeneği
rm -rf *gibi komutlar çalıştırdığını gördümNeyse ki ikisi aynı anda olmadı, ama düşüncesi bile ürkütücü
Sandbox fikri iyi, ama etkili olabilmesi için alt seviyede zorunlu olarak uygulanması gerekiyor
Claude'un kendisi de yapay zeka tarafından üretilmiş devasa bir program olduğu için, insanların doğrudan yazdığı 3000 satırdan kısa bir güvenlik katmanı eklemek anlamlı bir savunma olabilir
Bu yüzden insanlar ayrı sandbox yazılımlarını tercih edebilir
/silinmesini engelleyen şaka yollu bir ayar örneği paylaşıldı/dev/nvidia*aygıt erişimine izin veren bu yapılandırma, veri sızıntısını göze alan hicivli bir ayarClaude'u sınırlı yetkilere sahip bir kullanıcı olarak çalıştırırsanız, izolasyon alt süreçlere de otomatik olarak miras kalır
İlgili issue açılmış durumda
bubblewrap ve seatbelt tek başlarına düzgün çalışıyor, ancak claude-code üzerinden çalıştırıldıklarında devre dışıymış gibi görünüyor
İnsanların AI agent'ları kişisel bilgisayarlarına bu kadar kolay kurması şaşırtıcı
On yıllardır sistem güvenliğini koruduk, sonra bir anda tüm yetkileri öngörülemez yazılımlara verdik
Kısa vadeli rahatlık, uzun vadeli güvenliğin önüne geçiyor
Benim uzak geliştirme VM'imde Claude'un görmesinde sakınca olmayan veriler var
Ama sektör kısa süre içinde güvenlik risklerini fark edip önlem aldı
Basit Unix yetki ayrımı da yeterli olabilir
İki kullanıcı hesabı açıp yalnızca AI ile paylaşılacak klasörleri aynı grupta toplamak yeterli
İlgili blog yazısına bakılabilir
Ana sayfada “körü körüne güvenmeyi bırakın” yazıyor, ama kurulum yöntemi
curl | bashyerine manuel derlememakepkg -iile kurmak çok daha güvenliPKGFILE yaklaşık 30 satır uzunluğunda ve build fonksiyonu da sadece 7 satır
Buna karşılık rustup (910 satır), claude (158 satır), opencode (460 satır) gibi script'ler çok daha karmaşık
curl | tar | makepkgşeklinde tek satırda zincirlemek güvenilir bir yöntem değilBu proje iyi tasarlanmış ve benim yöntemime göre biraz daha güvenli ve kullanışlı görünüyor
Ben agent'ı ayrı bir kullanıcı hesabı oluşturarak izole ediyorum
Yalnız bazen izinler karışıyor, onları da script ile düzeltiyorum
Sonuçta en sağlam yöntem ona tamamen ayrı bir laptop vermek
Fiziksel olarak ayrılmış donanım kadar güvenli bir şey yok
Agent'lar güvenlik sızma testi düzeyinde yeteneklere sahip olduğundan, basit kullanıcı ayrımı tek başına tedirgin edici olabiliyor
Container kullanınca agent kendi kendine container oluşturmaya çalıştığında kafası karışıyor
Site “vibe-coded” göründüğü için kalitesiz izlenimi veriyor, ama aracın kendisini bizzat bir Stanford profesörü geliştirmiş
SSS bağlantısına bakılabilir
Dokümandaki içeriği doğru şekilde düzelttim, o yüzden güvenilebilir
Siteyi AI'ın ürettiği haliyle bırakmış olmam da biraz ironik
Stanford Secure Computer Systems grubuna liderlik ediyor
Agent'ın proje dizinine yazma yetkisi varsa kalıcı exploit mümkün olması endişe verici
.pyc,.venv,.git/hooksgibi dosyalar üzerinden sandbox dışından çalıştırma yapılabilirChatGPT konuşmasında da bu tür açıklar doğrulandı
Bu yüzden en güvenli yöntem git patch tabanlı dosya aktarımı
Sandbox içinde değiştirilen dosyaların yalnızca git'e commit edilmiş olanlarını dışarı aktarmak gerekiyor
.git/dizinini salt okunur yapacak bir seçenek eklemek iyi olabilirjai -Dile CWD bir overlay'e dönüştürülebiliyor, ama değişiklikleri birleştirmek zahmetliAgent ayrı bir git worktree branch'inde çalışıyor ve ancak incelemeden sonra birleştiriliyor
Böylece inceleme temelli güvenlik akışı korunabiliyor
Basit bir alternatif olarak agent'ı ayrı bir kullanıcı hesabında ssh üzerinden çalıştırıyorum
Proje dizinini bind mount ederek erişimi kontrol ediyorum
VSCode'un ssh remote özelliğiyle iyi uyum sağlıyor
Karmaşık güvenlik sistemlerinden çok daha basit ve verimli bir izolasyon yöntemi
Gerçekte sorunlar
rm -rf'ten çok daha ince olabiliyorclaude-code bir SVG kaydetmek için
/public/blog/klasörünü oluşturdu ve Apache routing bozulduBu bir silme ya da izin sorunu değildi, ama istenmeyen bir davranış yüzünden blog 404 döndürmeye başladı
jai bu tür büyük hataları önleyebilir, ama böyle ince sorunlar hâlâ zor
Harika bir proje ama başlık zayıf
Mevcut dizine tam erişim, geri kalanına salt okunur erişim ve home dizinine copy-on-write uygulanması fikri hoşuma gidiyor
Bu yaklaşım AI agent'lar için varsayılan güvenlik modeli olmalı