Korumalı Alan
Korumalı alanın ChatGPT ve Codex istemcilerinde nasıl çalıştığı
Korumalı alan, ajana makinenize sınırsız erişim vermeden özerk biçimde hareket etmesini sağlayan sınırdır. Yerel bir sohbet ChatGPT masaüstü uygulamasında, Codex CLI'da veya IDE uzantısında komut çalıştırdığında bu komutlar, varsayılan olarak tam erişimle çalışmak yerine kısıtlı bir ortamda çalışır.
Bu ortam, ajanın kendi başına neler yapabileceğini; örneğin hangi dosyaları değiştirebileceğini ve komutların ağı kullanıp kullanamayacağını tanımlar. Bir görev bu sınırlar içinde kaldığında ajan, onay almak için durmadan ilerlemeyi sürdürebilir. Bu sınırların ötesine geçmesi gerektiğinde onay akışı devreye girer.
Korumalı alan ne yapar?
Korumalı alan yalnızca yerleşik dosya işlemlerine değil, başlatılan komutlara da
uygulanır. Ajan git gibi araçları, paket yöneticilerini veya test çalıştırıcılarını çalıştırırsa
bu komutlar aynı korumalı alan sınırlarını devralır.
Codex, her işletim sisteminde platformun yerel güvenlik mekanizmalarını kullanır. Uygulama macOS, Linux, WSL2 ve yerel Windows arasında farklılık gösterse de tüm arayüzlerdeki temel fikir aynıdır: rutin görevlerin açıkça belirlenmiş sınırlar içinde özerk biçimde çalışabilmesi için ajana sınırlandırılmış bir çalışma alanı sağlamak.
Neden önemlidir?
Korumalı alan, onay yorgunluğunu azaltır. Ajan, düşük riskli her komutu onaylamanızı istemek yerine dosyaları okuyabilir, düzenlemeler yapabilir ve daha önce onayladığınız sınırlar içinde rutin proje komutlarını çalıştırabilir.
Ayrıca ajan tabanlı çalışmalar için daha anlaşılır bir güven modeli sağlar. Yalnızca ajanın niyetlerine güvenmezsiniz; ajanın zorunlu kılınan sınırlar içinde çalıştığına da güvenirsiniz. Böylece ajanı bağımsız çalışmaya bırakırken ne zaman durup yardım isteyeceğini bilmek kolaylaşır.
Başlarken
Varsayılan izin modu, korumalı alanı otomatik olarak uygular.
Ön koşullar
macOS'te korumalı alan, yerleşik Seatbelt çerçevesi kullanılarak herhangi bir ek ayar gerektirmeden çalışır.
Windows'ta Codex, PowerShell'de çalıştırdığınızda yerel Windows korumalı alanını, WSL2'de çalıştırdığınızda ise Linux korumalı alan uygulamasını kullanır.
Linux ve WSL2'de önce paket yöneticinizle bubblewrap kurun:
Ubuntu/Debian
sudo apt install bubblewrapFedora
sudo dnf install bubblewrapCodex, PATH üzerinde bulduğu ilk bwrap yürütülebilir dosyasını kullanır. Kullanılabilir bir bwrap
yürütülebilir dosyası yoksa Codex paketle birlikte gelen bir yardımcıya geri döner; ancak bu yardımcı,
yetkisiz kullanıcı ad alanı oluşturma desteği gerektirir. bwrap sağlayan
dağıtım paketini kurmak, bu yapılandırmanın güvenilir kalmasını sağlar.
Codex, bwrap eksik olduğunda veya yardımcı gerekli kullanıcı ad alanını
oluşturamadığında başlangıçta bir uyarı gösterir. Bu AppArmor ayarını kısıtlayan
dağıtımlarda, kısıtlamayı sistem genelinde devre dışı bırakmadan bwrap çalışmaya
devam edebilsin diye tercihen bwrap AppArmor profilini yükleyin.
İzinler nasıl çalışır?
Codex'in yerel işlemleri nasıl ele alacağını değiştirmek için kullandığınız arayüzün izin denetimini kullanın.
Onaylar, Codex'in bir işlemden önce ne zaman duraklayacağını; korumalı alan ise komutların hangi dosyalara ve ağ kaynaklarına erişebileceğini belirler. Bir onay, tek seferlik veya oturum boyunca onaylama gibi farklı kapsamlar sunuyorsa görevin devam etmesini sağlayan en dar kapsamı seçin. Varsayılan olarak proje sınırını koruyun; ilgisiz depolar arasındaki erişimi genişletmek yerine ayrı projeler veya çalışma ağaçları kullanın.
ChatGPT masaüstü uygulamasında, yazma alanının altındaki izin denetimini kullanın. Yapılandırmanıza bağlı olarak menüde Onay iste, uygun onay istekleri için Benim için onayla, Tam erişim ve adlandırılmış ya da özel izin profilleri bulunabilir.
Varsayılanları yapılandırma
Her seferinde aynı davranışla başlamak için varsayılanları config.toml içinde ayarlayın.
Yapılandırma temelleri bunun nasıl çalıştığını açıklar; Yapılandırma başvurusu ise
sandbox_mode, approval_policy, approvals_reviewer ve
sandbox_workspace_write.writable_roots için tam anahtarları belgeler. Ajanın varsayılan olarak ne kadar
özerkliğe sahip olacağını, hangi dizinlere yazabileceğini, onay için ne zaman
duraklaması gerektiğini ve uygun onay isteklerini kimin inceleyeceğini belirlemek için bu ayarları kullanın.
Genel olarak yaygın korumalı alan modları şunlardır:
read-only: Ajan dosyaları inceleyebilir ancak onay almadan dosyaları düzenleyemez veya komut çalıştıramaz.workspace-write: Ajan dosyaları okuyabilir, çalışma alanı içinde düzenleme yapabilir ve bu sınır içinde rutin yerel komutları çalıştırabilir. Bu, yerel çalışmalar için varsayılan ve düşük sürtünmeli moddur.danger-full-access: Ajan, korumalı alan kısıtlamaları olmadan çalışır. Bu mod dosya sistemi ve ağ sınırlarını kaldırır; yalnızca ajanın tam erişimle hareket etmesini istediğinizde kullanılmalıdır.
Yaygın onay politikaları şunlardır:
untrusted: Ajan, güvenilen kümesinde bulunmayan komutları çalıştırmadan önce izin ister.on-request: Ajan varsayılan olarak korumalı alan içinde çalışır ve bu sınırın ötesine geçmesi gerektiğinde izin ister.never: Ajan onay istemek için durmaz.
Onaylar etkileşimliyken approvals_reviewer ile bunları kimin inceleyeceğini de
seçebilirsiniz:
user: Onay istemleri kullanıcıya gösterilir. Bu varsayılan seçenektir.auto_review: Uygun onay istemleri bir inceleyici ajana gider (bkz. otomatik inceleme).
Tam erişim, sandbox_mode = "danger-full-access" ile
approval_policy = "never" öğelerinin birlikte kullanılması anlamına gelir. Buna karşılık, daha düşük riskli yerel otomasyon
ön ayarı sandbox_mode = "workspace-write" ile
approval_policy = "on-request" öğelerini veya bunlara karşılık gelen CLI bayraklarını
--sandbox workspace-write --ask-for-approval on-request birlikte kullanır. Ardından manuel onaylar için
approvals_reviewer = "user" değerini koruyabilir veya otomatik onay incelemesi için
approvals_reviewer = "auto_review" değerini ayarlayabilirsiniz.
Ajanın birden fazla dizinde çalışması gerekiyorsa yazılabilir kökler, korumalı alanı tamamen kaldırmadan değiştirebileceği konumları genişletmenizi sağlar. Daha geniş veya daha dar bir güven sınırına ihtiyacınız varsa tek seferlik istisnalara güvenmek yerine varsayılan korumalı alan modunu ve onay politikasını ayarlayın.
Bir iş akışı belirli bir istisna gerektiriyorsa kuralları kullanın. Kurallar, korumalı alan dışındaki komut ön eklerine izin vermenizi, bunlar için onay istemenizi veya bunları yasaklamanızı sağlar; bu yaklaşım çoğu zaman erişimi genel olarak genişletmekten daha uygundur. IDE'ye özgü ayar giriş noktaları için Codex IDE uzantısı ayarları sayfasına bakın.
Otomatik inceleme kullanılabilir olduğunda korumalı alan sınırını değiştirmez. Korumalı alan
yetki yükseltmeleri, engellenen ağ erişimi veya hâlâ onay gerektiren yan etkili araç çağrıları
gibi bu sınırdaki onay istekleri için kullanılabilecek approvals_reviewer seçeneklerinden biridir.
Korumalı alan içinde zaten izin verilen işlemler ek inceleme olmadan çalışır. İnceleyicinin yaşam
döngüsü, tetikleyici türleri, ret semantiği ve yapılandırma ayrıntıları için
otomatik inceleme sayfasına bakın.
Platform ayrıntıları, platforma özgü belgelerde yer alır. Yerel Windows kurulumu, davranışı ve sorun giderme bilgileri için Windows sayfasına bakın. Korumalı alan ve onaylara ilişkin yönetici gereksinimleri ile kuruluş düzeyindeki kısıtlamalar için Ajan onayları ve güvenlik sayfasına bakın.