Rehber
Yapay zekâ kodlama ajanı izinleri ve YOLO modu: daha güvenli bir kurulum
Claude Code, Codex ve Cursor’da izin modları, her şeyi atlayan modların gerçekte neyi atladığı, bir deponun neleri değiştirebildiği ve commit edilmemesi gereken ayarlar.
· 8 dk okuma · Yazan: vetkit ekibi


Üç araçta izin modları
Her yapay zekâ kodlama ajanı iki şeyi dengeler: sizi ne sıklıkla böldüğünü ve sormadan ne kadar iş yapabildiğini. Ayarların adı her araçta farklıdır ama yapısı aynıdır: soran bir mod, kararı otomatik bir denetleyiciye bırakan bir mod ve gayriresmî olarak YOLO modu denen, her şeyi atlayan bir mod.
| Araç | Modlar (dokümantasyonuna göre) | Her şeyi atlama ayarı |
|---|---|---|
| Claude Code | Manual, auto (eylemleri bir sınıflandırıcı inceler; etkileşimli oturumların başlangıç modu), acceptEdits, plan, dontAsk | bypassPermissions; --dangerously-skip-permissions bayrağıyla da başlatılabilir |
| OpenAI Codex | read-only, workspace-write, danger-full-access sandbox modları; on-request ya da never gibi bir onay politikasıyla birlikte | --dangerously-bypass-approvals-and-sandbox, takma adı --yolo |
| Cursor | Auto-review (önerilen varsayılan), Allowlist | Run Everything |
Her şeyi atlayan modlar gerçekte neyi atlıyor
Her şeyi atlayan modlar onay istemlerinden fazlasını kaldırır. Codex’te bu bayrak hem onayları hem de sandbox’ı kaldırır. Cursor, Run Everything’i her araç çağrısını sandbox ve denetleyici olmadan otomatik olarak çalıştırmak diye tanımlar. Claude Code’un bypass modu ise kendi .claude dizinine ve .git dizinine yazmalar için de onay istemez.
Sağlayıcılar bu modların nereye ait olduğu konusunda tutarlı: Claude Code bypass modunun yalnızca container’lar ya da sanal makineler gibi yalıtılmış ortamlarda kullanılmasını söylüyor, Codex de kendi bayrağını yüksek riskli ve önerilmez olarak işaretliyor. Bir container’ın içinde bile, içine bağlanan her şey (örneğin bir bulut kimlik bilgisi ya da bir SSH agent’ı) serbestçe erişilebilir durumdadır. Ajanların nelere erişebildiğini anlatan rehber bunun genellikle neleri kapsadığını sıralıyor.
Bir depo neleri değiştirebilir
Ajan yapılandırması giderek daha fazla depoda, kodun yanında duruyor: .claude/ ayarları, .codex/config.toml, .cursor/mcp.json, hook tanımları ve AGENTS.md ile CLAUDE.md gibi talimat dosyaları. Bu ekipler için pratiktir; aynı zamanda bir git clone işleminin bir ajanın davranışını değiştirebileceği anlamına gelir.
- Güven kapıları işe yarar. Codex bir projenin
.codex/katmanını ancak siz projeye güvendikten sonra yükler. Claude Code bir deponunallowkurallarını ancak her ekip arkadaşı klasöre güvendikten sonra uygular ve proje ayarlarında varsayılan mod olarak verilenbypassPermissionsdeğerini yok sayar. - Her şey aynı şekilde korunmuyor. Hook’lar, MCP sunucu tanımları ve talimat dosyaları yine depoyla birlikte gelir; MCP sunucularının kendi onay istemi vardır ve Cursor’ın workspace trust özelliği siz etkinleştirmedikçe kapalıdır.
- Eski sürümler farklı davranır. Güncel sürümlerin yok saydığı bir ayar, birinin makinesindeki eski bir istemci tarafından hâlâ uygulanabilir; ayrıca bu ayarın var olması, projenin ajanların gözetimsiz çalışmasını beklediğini gösterir.
Commit edilmemesi gereken ajan ayarları
Ana dala ulaşmadan önce code review’da yakalanmaya değer kalıplar şunlar:
- Kapatılmış onaylar: varsayılan mod olarak
bypassPermissions,permissionMode: bypassPermissionsayarlı bir subagent ya da bir ajanı--dangerously-skip-permissionsveya--dangerously-bypass-approvals-and-sandboxile başlatan bir paket script’i. - Her şeyi önceden onaylayan allow kuralları:
Bash(*)ya da shell’ler, yorumlayıcılar, paket çalıştırıcılar veBash(curl:*)veyaBash(npx:*)gibi ağ araçları üzerindeki joker karakterler. - Script indirip çalıştıran hook’lar, örneğin
curlçıktısını bir shell’e pipe etmek. - Sürümü sabitlenmemiş MCP sunucuları; uzaktaki bir script’ten başlatılanlar, düz HTTP üzerinden erişilenler ya da koda gömülü bir kimlik bilgisiyle yapılandırılanlar.
- Talimat dosyalarındaki gizli metinler:
AGENTS.mdya daCLAUDE.mdiçinde, inceleyenin göremediği ama ajanın okuduğu HTML yorumları veya görünmez Unicode karakterler.
{ "permissions": { "defaultMode": "bypassPermissions", "allow": ["Bash(*)", "Bash(curl:*)", "Bash(npx:*)"] }}Daha güvenli bir temel
- Dizüstülerde varsayılan ya da auto modunu kullanın; her şeyi atlayan modları kullanılıp atılacak ortamlara saklayın.
- Projenizin çalıştırdığı komutlar için birebir, dar allow kuralları commit edin ve gizli bilgilerin okunmasını engelleyin.
- MCP sunucularının sürümlerini sabitleyin ve kimlik bilgilerini dosyada değil, ortam değişkenlerinde tutun.
- Sandbox’ın isteğe bağlı olduğu yerlerde onu açın ve ağ erişimini bir izin listesiyle sınırlayın.
- Ajan yapılandırmasındaki ve talimat dosyalarındaki değişiklikleri code review’da güvenlikle ilgili değişiklikler olarak ele alın.
{ "permissions": { "allow": ["Bash(npm run test:*)", "Bash(npm run lint)"], "deny": ["Read(./.env)", "Read(./secrets/**)"] }}Joker karakterle biten allow kuralları, ancak öncesindeki komut kadar güvenlidir: npm run test için bir kural dardır, node ya da curl için bir kural değildir.
vetkit’in yeri
vetkit depo denetimi, yapay zekâ kodu riskleri paketinin bir parçası olarak commit edilmiş ajan yapılandırmasını kontrol eder: onayı atlayan ayarlar ve bayraklar, rastgele shell ya da ağ komutlarını önceden onaylayan allow kuralları, uzaktaki script’leri çalıştıran hook’lar, sürümü sabitlenmemiş ya da uzaktan başlatılan MCP sunucuları, düz HTTP üzerinden çalışan veya koda gömülü kimlik bilgisi içeren MCP sunucuları ve ajan talimat dosyalarındaki gizli yorumlar veya Unicode karakterler. Aynı kurallar @vetkit/mcp sunucusuyla ve ajanların ekip makinelerinde gerçekte ne yaptığını raporlayan Agent Watch ile paylaşılır; o tarafı izleme rehberi ele alıyor.
Kaynaklar
Her araçla ilgili ifadeleri tarihinde o aracın kendi dokümantasyonundan okuduk:
- Claude Code: izinler, ayarlar ve güvenlik
- OpenAI Codex: ajan onayları ve güvenlik ve yapılandırmanın temelleri
- Cursor: çalışma modları ve ajan güvenliği
Ürün adları ilgili sahiplerinin ticari markalarıdır. vetkit bu şirketlerle bağlantılı değildir; onlar tarafından onaylanmamış veya desteklenmemiştir. Güncelliğini yitirmiş bir şey mi fark ettiniz? contact@vetkit.dev adresine e-posta gönderin, düzeltelim.