Güvenilir klasörler
Güvenilir klasör güvenliğiyle hangi projelerin Bob Shell'in tüm özelliklerini kullanabileceğini kontrol et.
Güvenilir klasörler, hangi projelerin Bob Shell ile kullanılabileceği üzerinde sana kontrol sağlar. Bob Shell'in projeye özgü yapılandırmaları yüklemesinden önce bir klasörü onaylaman gerekir; bu da seni potansiyel olarak zararlı kodlardan korur.
Güvenilir klasörler özelliği varsayılan olarak devre dışıdır. Etkinleştirmek için /settings menüsünü aç ve Folder Trust değerini true olarak ayarla. Değişikliğin etkili olması için yeniden başlatma gerekir.
Güvenilir klasörler nasıl çalışır
Bob Shell'i bir klasörden ilk kez çalıştırdığında, senden bir seçim yapmanı isteyen bir güven iletişim kutusu otomatik olarak açılır:
- Klasöre güven: Mevcut klasöre tam güven ver (örneğin
benim-projem) - Üst klasöre güven: Üst dizine (örneğin
guvenli-projeler) güven ver; bu, tüm alt dizinlere otomatik olarak güvenir. Tüm güvenli projelerini tek bir konumda saklıyorsan bu seçeneği kullan - Güvenme: Klasörü güvenilmez olarak işaretle. Bob Shell kısıtlı güvenli modda çalışır
Seçimin ~/.bob/trustedFolders.json dosyasına kaydedilir; bu yüzden her klasör için yalnızca bir kez sorulursun.
Güven düzeyleri
~/.bob/trustedFolders.json dosyası her klasör için bir güven kaydı saklar. Her kayıt üç güven düzeyinden birini kullanır:
| Güven düzeyi | Etki |
|---|---|
TRUST_FOLDER | Tam klasör yoluna tam güven verir. Proje ayarları, hook'lar, modlar, skill'ler ve MCP sunucuları normal şekilde yüklenir. |
TRUST_PARENT | Belirtilen dizine ve altındaki tüm alt dizinlere tam güven verir. Birden fazla repo içeren bir workspace kökünü kapsamak için bu düzeyi kullan. |
DONT_TRUST | Klasörü güvenilmez olarak işaretler. Bob Shell kısıtlı güvenli modda çalışır ve projeye özgü tüm yapılandırmaları engeller. Bkz. Güvenilmez klasörlerin etkisi. |
~/.bob/trustedFolders.json dosyasında kaydı bulunmayan klasörler çözümlenmemiş olarak adlandırılır. Bob Shell'in çözümlenmemiş klasörlere nasıl davrandığı, güvenilir klasörler özelliğinin etkin olup olmadığına göre değişir. Ayrıntılar için bkz. Etkileşimsiz oturumlar.
Güvenilmez klasörlerin etkisi
Bir klasör güvenilmez olduğunda Bob Shell kısıtlı güvenli modda çalışır. Aşağıdaki özellikler devre dışı bırakılır veya yok sayılır:
| Özellik | Güvenli moddaki davranış |
|---|---|
| Proje ayarları | .bob/settings.json yüklenmez. Özel araçlar ve potansiyel olarak tehlikeli yapılandırmalar engellenir. |
| Araç otomatik onayı | Otomatik onayı global olarak etkinleştirmiş olsan bile, herhangi bir araç çalışmadan önce her zaman onayın istenir. |
| MCP sunucuları | Bob Shell hiçbir MCP sunucusuna bağlanmaya çalışmaz. |
| Özel modlar | Proje klasöründe tanımlanan modlar kullanılamaz. Yalnızca yerleşik modlar ve global olarak tanımladığın modlar kullanılabilir. |
| Skills | Projeyle birlikte gelen skill'ler yüklenmez. Yalnızca global olarak kullanılabilen skill'ler ve yerleşik yetenekler etkin kalır. |
| Subagents | Proje klasöründeki özel subagent'lar kullanılamaz. Ajan, işi proje tarafından sağlanan yardımcı araçlara devredemez. |
| Proje talimatları | AGENTS.md gibi yönlendirme dosyaları ve özel proje kuralları okunmaz. Ajan, projenin özel talimatları olmadan çalışır. |
Bir klasöre güven verilmesi, o çalışma alanı için Bob Shell'in tüm işlevselliğini açar.
Güven ayarlarını yönetme
- Güven nasıl çözülür
- Bob Shell, mevcut klasör için önceden verilmiş bir karar olup olmadığını görmek üzere
~/.bob/trustedFolders.jsondosyasını kontrol eder. - Mevcut klasörün güvenini değiştirme
- Bob Shell içinden
/permissionseğik çizgi komutunu çalıştır. İnteraktif iletişim kutusu açılır ve mevcut klasörün güven düzeyini değiştirmene olanak tanır. - Tüm güven kurallarını görüntüleme
- Tüm güvenilir ve güvenilmez klasör kurallarının tam listesini görmek için ana dizinindeki
~/.bob/trustedFolders.jsondosyasını incele.
Etkileşimsiz oturumlar
İnteraktif modun aksine, etkileşimsiz oturumlar (bob run) hiçbir zaman güven iletişim kutusunu göstermez. Bob Shell, önceden alınmış güven kararlarına göre sessizce çalışır.
Özellik devre dışıyken varsayılan davranış
Güvenilir klasörler özelliği devre dışıyken (varsayılan), Bob Shell her klasörü güvenilir olarak kabul eder. Proje ayarları, hook'lar, modlar, skill'ler ve MCP sunucuları, ~/.bob/trustedFolders.json dosyasında bir kayıt olup olmadığına bakılmaksızın her klasör için kısıtlama olmaksızın yüklenir.
Özellik etkinken davranış
Güvenilir klasörler özelliği etkinken, Bob Shell projeye özgü içerik yüklemeden önce çalışma klasörünün güven düzeyini değerlendirir:
- Çözümlenmemiş klasör (
~/.bob/trustedFolders.jsondosyasında kayıt yok): Klasör güvenilir olarak kabul edilir. Proje ayarları ve hook'lar normal şekilde yüklenir. TRUST_FOLDERveyaTRUST_PARENTkaydı: Klasör güvenilirdir. Tüm işlevsellik kullanılabilir.DONT_TRUSTkaydı: Bob Shell hata verir ve çalışmaz:<folder> is not a trusted folder. Pass --trust to run in this folder, or run Bob Shell interactively and choose a trust level.
Güvenilir klasörler özelliğini etkinleştirmek tek başına, güven kararı olmayan klasörler için hook çalıştırılmasını engellemez. Çözümlenmemiş bir klasör — örneğin CI/CD sürecinde ilk kez klonlanan bir repository — güvenilir olarak kabul edilir. Yalnızca açık bir DONT_TRUST kaydı, hook'ların ve proje ayarlarının yüklenmesini engeller.
Başsız modda hook çalıştırma
~/.bob/settings/settings.json dosyasında tanımlanan global hook'lar, çözümlenmemiş klasörler dahil olmak üzere açıkça DONT_TRUST olarak işaretlenmemiş her klasör için çalıştırılır. Projenin içindeki .bob/settings.json dosyasında tanımlanan workspace hook'ları da klasör güvenine tabidir: yalnızca klasör güvenilir veya çözümlenmemiş olduğunda yüklenir, klasör DONT_TRUST olduğunda ise sessizce atlanır.
Tanıdık olmayan bir repository'ye karşı bob run çalıştırmadan önce hangi hook'ların yapılandırıldığını ve ne yaptıklarını anlamak için bkz. Lifecycle hooks.
Moda göre flag davranışı
--trust ve --auto-approve flag'leri, Bob Shell'in nasıl başlatıldığına bağlı olarak farklı davranır. İlgili davranışı görmek için modunu seç:
--trust- Klasör kalıcı olarak güvenilir şeklinde kaydedilir. Bob Shell, mevcut dizin için
~/.bob/trustedFolders.jsondosyasına güvenilir bir kayıt yazar ve ilk erişimdeki güven iletişim kutusunu atlar. Bu, klasörü açıp manuel olarak "Klasöre güven" seçeneğini seçmekle aynıdır. --auto-approve- Güvenilmeyen bir klasörde otomatik onay sessizce bastırılır. Yine de her araç çalıştırılmadan önce senden onay istenir.
--trust- Klasör yalnızca o çalıştırma için güvenilir kabul edilir. Güven kararı kalıcı olarak kaydedilmez ve güven deposuna hiçbir şey yazılmaz.
Otomasyon süreçlerini sertleştirme
Kontrol etmediğin repository'lere karşı — örneğin bir derleme sürecinin parçası olarak klonlanan üçüncü taraf veya açık kaynak repo'lara karşı — CI/CD sürecinde bob run çalıştırıyorsan, güvenilmez hook kodunun çalışmasını önlemek için aşağıdaki adımları uygula.
Başlamadan önce: ~/.bob/settings/settings.json dosyasında security.folderTrust.enabled değerini true olarak ayarlayarak güvenilir klasörler özelliğini etkinleştir. Değişikliğin etkili olması için yeniden başlatma gerekir.
- Hangi dizinleri kontrol ettiğine karar ver ve bunların her biri için
~/.bob/trustedFolders.jsondosyasına birTRUST_PARENTkaydı ekle. Bu, bilinen bir workspace kökünün altındaki tüm repository'leri kapsar ve bu ağacın dışındaki her şeyi çözümlenmemiş olarak bırakır.{ "/home/runner/work/my-org": "TRUST_PARENT" } - Harici veya güvenilmez bir kaynaktan klonladığın herhangi bir repository için
bob runçalıştırmadan önce birDONT_TRUSTkaydı ekle:{ "/home/runner/work/my-org": "TRUST_PARENT", "/home/runner/work/third-party-repo": "DONT_TRUST" } ~/.bob/settings/settings.jsondosyasında yapılandırılmış global hook'ları incele. Global hook'lar, birTRUST_PARENTkaydıyla kapsanan tüm repo'lar dahil olmak üzere güvenilir veya çözümlenmemiş her klasör için çalıştırılır. Güvenilmez koda karşı çalışmaması gereken hook'ları kaldır veya kapsamını sınırla.- Klonlanan herhangi bir repository'ye karşı
bob runçalıştırmadan önce, birMakefileveya CI yapılandırma dosyasını incelediğin gibi, o repository'nin içindeki.bob/settings.jsondosyasını workspace hook'ları için incele. Workspace hook'ları, güvenilir veya çözümlenmemiş herhangi bir klasörde yüklenir.
Bu adımları tamamladıktan sonra Bob Shell, DONT_TRUST kaydı olan herhangi bir klasör için proje ayarlarını ve hook'ları engeller; bob run ise kontrol ettiğin workspace'te normal şekilde çalışmaya devam eder.
En iyi uygulamalar
- Yalnızca kendi incelediğin veya oluşturduğun kodu içeren klasörlere güven
- Birden fazla güvenli proje içeren dizinler için bireysel klasör kayıtlarını yönetmekten kaçınmak amacıyla
TRUST_PARENTkullan - Hangi klasörlerin güvenilir olduğunu denetlemek için
~/.bob/trustedFolders.jsondosyasını düzenli olarak gözden geçir - Tanımadığın bir kodla çalışırken,
bob runçalıştırmadan önce klonlanan dizin için birDONT_TRUSTkaydı ekle ~/.bob/settings/settings.jsondosyasındaki global hook'ları periyodik olarak incele — güvenilir ve çözümlenmemiş her klasörde çalıştırılırlar