Gizli bilgiler yönetimi
OpenClaw, desteklenen kimlik bilgilerinin yapılandırmada düz metin olarak saklanmasını gerektirmemesi için eklemeli SecretRef desteği sunar. Düz metin hâlâ çalışır. SecretRef’ler kimlik bilgisi başına isteğe bağlıdır.Hedefler ve çalışma zamanı modeli
Gizli bilgiler, bellek içi bir çalışma zamanı anlık görüntüsüne çözümlenir.- Çözümleme istek yolunda tembel değil, etkinleştirme sırasında eager olarak yapılır.
- Etkin olarak kullanılan bir SecretRef çözümlenemezse başlangıç hızlı şekilde başarısız olur.
- Yeniden yükleme atomik değişim kullanır: ya tam başarı ya da son bilinen iyi anlık görüntü korunur.
- SecretRef ilke ihlalleri (örneğin SecretRef girdisiyle birleştirilmiş OAuth modlu auth profilleri), çalışma zamanı değişiminden önce etkinleştirmeyi başarısız kılar.
- Çalışma zamanı istekleri yalnızca etkin bellek içi anlık görüntüden okur.
- İlk başarılı yapılandırma etkinleştirmesi/yüklemesinden sonra, başarılı bir yeniden yükleme onu değiştirene kadar çalışma zamanı kod yolları bu etkin bellek içi anlık görüntüden okumaya devam eder.
- Giden teslim yolları da bu etkin anlık görüntüden okur (örneğin Discord yanıt/iş parçacığı teslimi ve Telegram eylem gönderimleri); her gönderimde SecretRef’leri yeniden çözümlemezler.
Etkin yüzey filtreleme
SecretRef’ler yalnızca fiilen etkin yüzeylerde doğrulanır.- Etkin yüzeyler: çözümlenmemiş başvurular başlangıcı/yeniden yüklemeyi engeller.
- Etkin olmayan yüzeyler: çözümlenmemiş başvurular başlangıcı/yeniden yüklemeyi engellemez.
- Etkin olmayan başvurular,
SECRETS_REF_IGNORED_INACTIVE_SURFACEkoduyla ölümcül olmayan tanılamalar üretir.
- Devre dışı kanal/hesap girdileri.
- Hiçbir etkin hesabın devralmadığı üst düzey kanal kimlik bilgileri.
- Devre dışı araç/özellik yüzeyleri.
tools.web.search.providertarafından seçilmeyen web arama sağlayıcısına özgü anahtarlar. Otomatik modda (sağlayıcı ayarlı değilse), birisi çözümlenene kadar anahtarlar sağlayıcı otomatik algılaması için öncelik sırasına göre değerlendirilir. Seçimden sonra, seçilmeyen sağlayıcı anahtarları seçilene kadar etkin olmayan kabul edilir.- Sandbox SSH kimlik doğrulama malzemesi (
agents.defaults.sandbox.ssh.identityData,certificateData,knownHostsDatave agent başına geçersiz kılmalar) yalnızca varsayılan agent veya etkin bir agent için etkili sandbox backendssholduğunda etkindir. gateway.remote.token/gateway.remote.passwordSecretRef’leri şu koşullardan biri doğruysa etkindir:gateway.mode=remotegateway.remote.urlyapılandırılmışgateway.tailscale.modedeğeriserveveyafunnel- Yerel modda, bu uzak yüzeyler olmadan:
gateway.remote.token, token kimlik doğrulaması baskın olabiliyorsa ve hiçbir env/auth token yapılandırılmamışsa etkindir.gateway.remote.password, yalnızca parola kimlik doğrulaması baskın olabiliyorsa ve hiçbir env/auth parola yapılandırılmamışsa etkindir.
OPENCLAW_GATEWAY_TOKENayarlıysa,gateway.auth.tokenSecretRef başlangıç kimlik doğrulaması çözümlemesi için etkin değildir; çünkü bu çalışma zamanında env token girdisi önceliklidir.
Gateway kimlik doğrulama yüzeyi tanılamaları
gateway.auth.token, gateway.auth.password,
gateway.remote.token veya gateway.remote.password üzerinde bir SecretRef yapılandırıldığında, gateway başlangıcı/yeniden yükleme
yüzey durumunu açıkça günlüğe kaydeder:
active: SecretRef etkili kimlik doğrulama yüzeyinin bir parçasıdır ve çözümlenmelidir.inactive: SecretRef bu çalışma zamanı için yok sayılır; çünkü başka bir kimlik doğrulama yüzeyi baskındır veya uzak kimlik doğrulaması devre dışıdır/etkin değildir.
SECRETS_GATEWAY_AUTH_SURFACE ile günlüğe kaydedilir ve
etkin yüzey ilkesinin kullandığı gerekçeyi içerir; böylece bir kimlik bilgisinin neden etkin veya etkin olmayan kabul edildiğini görebilirsiniz.
Onboarding başvuru ön kontrolü
Onboarding etkileşimli modda çalıştığında ve SecretRef depolamayı seçtiğinizde, OpenClaw kaydetmeden önce ön doğrulama yapar:- Env başvuruları: env var adını doğrular ve kurulum sırasında boş olmayan bir değerin görünür olduğunu onaylar.
- Sağlayıcı başvuruları (
fileveyaexec): sağlayıcı seçimini doğrular,id’yi çözümler ve çözümlenen değer türünü denetler. - Hızlı başlangıç yeniden kullanım yolu:
gateway.auth.tokenzaten bir SecretRef ise, onboarding bunu prob/dashboard bootstrap öncesinde (env,fileveexecbaşvuruları için) aynı hızlı başarısızlık kapısı ile çözümler.
SecretRef sözleşmesi
Her yerde tek bir nesne şekli kullanın:source: "env"
provider,^[a-z][a-z0-9_-]{0,63}$ile eşleşmelidirid,^[A-Z][A-Z0-9_]{0,127}$ile eşleşmelidir
source: "file"
provider,^[a-z][a-z0-9_-]{0,63}$ile eşleşmelidirid, mutlak bir JSON pointer olmalıdır (/...)- Bölümlerde RFC6901 escape kullanımı:
~=>~0,/=>~1
source: "exec"
provider,^[a-z][a-z0-9_-]{0,63}$ile eşleşmelidirid,^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$ile eşleşmelidirid, eğik çizgiyle ayrılmış yol bölümleri olarak.veya..içermemelidir (örneğina/../breddedilir)
Sağlayıcı yapılandırması
Sağlayıcılarısecrets.providers altında tanımlayın:
Env sağlayıcısı
allowlistüzerinden isteğe bağlı izin listesi.- Eksik/boş env değerleri çözümlemeyi başarısız kılar.
File sağlayıcısı
pathüzerinden yerel dosyayı okur.mode: "json", JSON nesne yükü bekler veid’yi pointer olarak çözümler.mode: "singleValue", başvuru kimliği olarak"value"bekler ve dosya içeriğini döndürür.- Yol, sahiplik/izin denetimlerinden geçmelidir.
- Windows fail-closed notu: Bir yol için ACL doğrulaması mevcut değilse çözümleme başarısız olur. Yalnızca güvenilir yollar için, yol güvenlik denetimlerini atlamak amacıyla o sağlayıcıda
allowInsecurePath: trueayarlayın.
Exec sağlayıcısı
- Yapılandırılmış mutlak ikili dosya yolunu shell olmadan çalıştırır.
- Varsayılan olarak
command, normal bir dosyaya işaret etmelidir (symlink değil). - Symlink komut yollarına izin vermek için
allowSymlinkCommand: trueayarlayın (örneğin Homebrew shim’leri). - OpenClaw çözümlenen hedef yolu doğrular.
- Paket yöneticisi yolları için
allowSymlinkCommandile birliktetrustedDirskullanın (örneğin["/opt/homebrew"]). - Zaman aşımını, çıktı yok zaman aşımını, çıktı bayt sınırlarını, env izin listesini ve güvenilir dizinleri destekler.
- Windows fail-closed notu: Komut yolu için ACL doğrulaması mevcut değilse çözümleme başarısız olur. Yalnızca güvenilir yollar için, yol güvenlik denetimlerini atlamak amacıyla o sağlayıcıda
allowInsecurePath: trueayarlayın.
stdin):
stdout):
Exec entegrasyon örnekleri
1Password CLI
HashiCorp Vault CLI
sops
MCP sunucusu ortam değişkenleri
plugins.entries.acpx.config.mcpServers üzerinden yapılandırılan MCP sunucusu env değişkenleri SecretInput destekler. Bu, API anahtarlarını ve token’ları düz metin yapılandırma dışında tutar:
${MCP_SERVER_API_KEY} gibi env-template başvuruları ve SecretRef nesneleri, MCP sunucu süreci başlatılmadan önce gateway etkinleştirmesi sırasında çözümlenir. Diğer SecretRef yüzeylerinde olduğu gibi, çözümlenmemiş başvurular yalnızca acpx plugin’i fiilen etkin olduğunda etkinleştirmeyi engeller.
Sandbox SSH kimlik doğrulama malzemesi
Çekirdekssh sandbox backend’i, SSH kimlik doğrulama malzemesi için de SecretRef destekler:
- OpenClaw bu başvuruları her SSH çağrısında tembel olarak değil, sandbox etkinleştirmesi sırasında çözümler.
- Çözümlenen değerler kısıtlayıcı izinlerle geçici dosyalara yazılır ve oluşturulan SSH yapılandırmasında kullanılır.
- Etkili sandbox backend
sshdeğilse, bu başvurular etkin olmayan durumda kalır ve başlangıcı engellemez.
Desteklenen kimlik bilgisi yüzeyi
Kanonik desteklenen ve desteklenmeyen kimlik bilgileri şurada listelenmiştir: Çalışma zamanında üretilen veya dönen kimlik bilgileri ve OAuth yenileme malzemesi, salt okunur SecretRef çözümlemesine bilerek dahil edilmez.Gerekli davranış ve öncelik
- Başvuru içermeyen alan: değişmez.
- Başvuru içeren alan: etkin yüzeylerde etkinleştirme sırasında gereklidir.
- Hem düz metin hem başvuru varsa, desteklenen öncelik yollarında başvuru önceliklidir.
__OPENCLAW_REDACTED__redaksiyon işaretçisi, dahili yapılandırma redaksiyonu/geri yükleme için ayrılmıştır ve gönderilen gerçek yapılandırma verisi olarak reddedilir.
SECRETS_REF_OVERRIDES_PLAINTEXT(çalışma zamanı uyarısı)REF_SHADOWED(auth-profiles.jsonkimlik bilgileriopenclaw.jsonbaşvurularına göre öncelik kazandığında denetim bulgusu)
serviceAccountRef, düz metinserviceAccountdeğerine göre önceliklidir.- Kardeş başvuru ayarlanmışsa düz metin değer yok sayılır.
Etkinleştirme tetikleyicileri
Gizli bilgi etkinleştirmesi şu durumlarda çalışır:- Başlangıçta (ön kontrol artı son etkinleştirme)
- Yapılandırma yeniden yükleme hot-apply yolunda
- Yapılandırma yeniden yükleme restart-check yolunda
secrets.reloadile manuel yeniden yüklemede- Diske yazmadan önce gönderilen yapılandırma yükü içindeki etkin yüzey SecretRef çözümlenebilirliği için Gateway yapılandırma yazma RPC ön kontrolünde (
config.set/config.apply/config.patch)
- Başarı, anlık görüntüyü atomik olarak değiştirir.
- Başlangıç başarısızlığı gateway başlangıcını durdurur.
- Çalışma zamanı yeniden yükleme başarısızlığı son bilinen iyi anlık görüntüyü korur.
- Write-RPC ön kontrol başarısızlığı gönderilen yapılandırmayı reddeder ve hem disk yapılandırmasını hem etkin çalışma zamanı anlık görüntüsünü değiştirmeden bırakır.
- Giden bir yardımcı/araç çağrısına açık bir çağrı başına kanal token’ı sağlamak SecretRef etkinleştirmesini tetiklemez; etkinleştirme noktaları başlangıç, yeniden yükleme ve açık
secrets.reloadolarak kalır.
Bozulmuş ve toparlanmış sinyalleri
Sağlıklı bir durumdan sonra yeniden yükleme zamanındaki etkinleştirme başarısız olursa, OpenClaw bozulmuş gizli bilgi durumuna geçer. Tek seferlik sistem olayı ve günlük kodları:SECRETS_RELOADER_DEGRADEDSECRETS_RELOADER_RECOVERED
- Bozulmuş: çalışma zamanı son bilinen iyi anlık görüntüyü korur.
- Toparlanmış: sonraki başarılı etkinleştirmeden sonra bir kez yayılır.
- Zaten bozulmuş durumdayken tekrarlanan başarısızlıklar uyarı olarak günlüğe yazılır ancak olay spam’i oluşturmaz.
- Başlangıçtaki hızlı başarısızlık bozulmuş olayları üretmez; çünkü çalışma zamanı hiç etkin olmadı.
Komut yolu çözümlemesi
Komut yolları, gateway anlık görüntü RPC’si üzerinden desteklenen SecretRef çözümlemesine katılabilir. İki geniş davranış vardır:- Katı komut yolları (örneğin
openclaw memoryuzak bellek yolları ve uzak paylaşılan gizli başvurulara ihtiyaç duyduğundaopenclaw qr --remote) etkin anlık görüntüden okur ve gerekli bir SecretRef kullanılamıyorsa hızlı şekilde başarısız olur. - Salt okunur komut yolları (örneğin
openclaw status,openclaw status --all,openclaw channels status,openclaw channels resolve,openclaw security auditve salt okunur doctor/config repair akışları) da etkin anlık görüntüyü tercih eder, ancak o komut yolunda hedeflenen bir SecretRef kullanılamıyorsa durdurmak yerine bozulur.
- Gateway çalışıyorsa, bu komutlar önce etkin anlık görüntüden okur.
- Gateway çözümlemesi eksikse veya gateway kullanılamıyorsa, belirli komut yüzeyi için hedefli bir yerel geri dönüş denerler.
- Hedeflenen bir SecretRef hâlâ kullanılamıyorsa, komut “configured but unavailable in this command path” gibi açık tanılamalarla bozulmuş salt okunur çıktı üretmeye devam eder.
- Bu bozulmuş davranış yalnızca komuta özeldir. Çalışma zamanı başlangıcını, yeniden yüklemeyi veya gönderim/kimlik doğrulama yollarını zayıflatmaz.
- Arka uç gizli bilgi döndürmesinden sonra anlık görüntü yenileme
openclaw secrets reloadile yapılır. - Bu komut yollarının kullandığı Gateway RPC yöntemi:
secrets.resolve.
Denetim ve yapılandırma akışı
Varsayılan operatör akışı:secrets audit
Bulgular şunları içerir:
- bekleyen düz metin değerler (
openclaw.json,auth-profiles.json,.envve oluşturulanagents/*/agent/models.json) - oluşturulan
models.jsongirdilerindeki düz metin hassas sağlayıcı başlığı kalıntıları - çözümlenmemiş başvurular
- öncelik gölgelemesi (
auth-profiles.jsondeğerininopenclaw.jsonbaşvurularına göre öncelik alması) - legacy kalıntılar (
auth.json, OAuth hatırlatmaları)
- Varsayılan olarak denetim, komut yan etkilerini önlemek için exec SecretRef çözümlenebilirlik denetimlerini atlar.
- Denetim sırasında exec sağlayıcılarını çalıştırmak için
openclaw secrets audit --allow-execkullanın.
- Hassas sağlayıcı başlığı algılaması, ad sezgisine dayanır (yaygın kimlik doğrulama/kimlik bilgisi başlık adları ve
authorization,x-api-key,token,secret,password,credentialgibi parçalar).
secrets configure
Şunları yapan etkileşimli yardımcı:
- önce
secrets.providersyapılandırır (env/file/exec, ekleme/düzenleme/kaldırma) - tek bir agent kapsamı için
openclaw.jsoniçindeki desteklenen gizli bilgi taşıyan alanları veauth-profiles.jsonalanlarını seçmenize izin verir - hedef seçicide doğrudan yeni bir
auth-profiles.jsoneşlemesi oluşturabilir - SecretRef ayrıntılarını alır (
source,provider,id) - ön çözümleme yapar
- hemen uygulayabilir
--allow-execayarlı değilse ön kontrol exec SecretRef denetimlerini atlar.configure --applyüzerinden doğrudan uygularsanız ve plan exec başvuruları/sağlayıcıları içeriyorsa, uygulama adımı için de--allow-execayarlı kalsın.
openclaw secrets configure --providers-onlyopenclaw secrets configure --skip-provider-setupopenclaw secrets configure --agent <id>
configure apply varsayılanları:
- hedef sağlayıcılar için
auth-profiles.jsoniçindeki eşleşen statik kimlik bilgilerini temizler auth.jsoniçindeki legacy statikapi_keygirdilerini temizler<config-dir>/.enviçindeki eşleşen bilinen gizli satırları temizler
secrets apply
Kaydedilmiş bir planı uygulayın:
--allow-execayarlı değilse dry-run exec denetimlerini atlar.- Yazma modu,
--allow-execayarlı değilse exec SecretRef/sağlayıcı içeren planları reddeder.
Tek yönlü güvenlik ilkesi
OpenClaw, geçmiş düz metin gizli bilgi değerlerini içeren geri alma yedekleri yazmaz. Güvenlik modeli:- yazma modundan önce ön kontrol başarılı olmalıdır
- çalışma zamanı etkinleştirmesi commit öncesinde doğrulanır
- apply, dosyaları atomik dosya değiştirme ve başarısızlıkta best-effort geri yükleme ile günceller
Legacy kimlik doğrulama uyumluluk notları
Statik kimlik bilgileri için çalışma zamanı artık düz metin legacy kimlik doğrulama depolamasına bağlı değildir.- Çalışma zamanı kimlik bilgisi kaynağı, çözümlenmiş bellek içi anlık görüntüdür.
- Legacy statik
api_keygirdileri keşfedildiğinde temizlenir. - OAuth ile ilgili uyumluluk davranışı ayrı kalır.
Web UI notu
Bazı SecretInput union’ları, form moduna göre ham düzenleyici modunda daha kolay yapılandırılır.İlgili belgeler
- CLI komutları: secrets
- Plan sözleşmesi ayrıntıları: Secrets Apply Plan Contract
- Kimlik bilgisi yüzeyi: SecretRef Credential Surface
- Kimlik doğrulama kurulumu: Authentication
- Güvenlik duruşu: Security
- Ortam önceliği: Environment Variables