openclaw secrets
أدِر مراجع الأسرار SecretRefs وحافظ على سلامة اللقطة النشطة لوقت التشغيل.
دورة التشغيل الموصى بها:
exec، فمرّر --allow-exec إلى أمري apply في وضع التشغيل التجريبي ووضع الكتابة.
رموز الخروج لعمليات CI/البوابات:
- يُرجع
audit --checkالرمز1عند وجود نتائج. - تُرجع المراجع غير المحلولة الرمز
2(بغض النظر عن--check).
إعادة تحميل لقطة وقت التشغيل
secrets.reload. إذا فشل الحل، يحتفظ Gateway بآخر لقطة سليمة معروفة ويُرجع خطأً (من دون تفعيل جزئي). تتضمن استجابة JSON الحقل warningCount.
الخيارات: --url <url>، و--token <token>، و--timeout <ms>، و--json.
التدقيق
يفحص حالة OpenClaw بحثًا عن:- تخزين الأسرار كنص صريح
- المراجع غير المحلولة
- انحراف الأولوية (بيانات الاعتماد في
auth-profiles.jsonالتي تحجب مراجعopenclaw.json) - مخلّفات
agents/*/agent/models.jsonالمُنشأة (قيمapiKeyللمزوّد وترويسات المزوّد الحساسة) - المخلّفات القديمة (إدخالات مخزن المصادقة القديم، وتذكيرات OAuth)
authorization، وx-api-key، وtoken، وsecret، وpassword، وcredential).
status:clean | findings | unresolvedresolution:refsChecked، وskippedExecRefs، وresolvabilityCompletesummary:plaintextCount، وunresolvedRefCount، وshadowedRefCount، وlegacyResidueCount- رموز النتائج:
PLAINTEXT_FOUND، وREF_UNRESOLVED، وREF_SHADOWED، وLEGACY_RESIDUE
التهيئة (مساعد تفاعلي)
أنشئ تغييرات المزوّد وSecretRef تفاعليًا، وشغّل الفحص المسبق، وطبّقها اختياريًا:secrets.providers)، ثم ربط بيانات الاعتماد (تحديد الحقول وتعيين المراجع {source, provider, id})، ثم الفحص المسبق والتطبيق الاختياري.
العلامات:
--providers-only: هيّئsecrets.providersفقط، وتخطَّ ربط بيانات الاعتماد--skip-provider-setup: تخطَّ إعداد المزوّد، واربط بيانات الاعتماد بالمزوّدين الحاليين--agent <id>: احصر اكتشاف أهدافauth-profiles.jsonوالكتابة فيها في مخزن وكيل واحد--allow-exec: اسمح بفحوصات مراجع الأسرار SecretRef من نوعexecأثناء الفحص المسبق/التطبيق (قد يؤدي ذلك إلى تنفيذ أوامر المزوّد)
--providers-only و--skip-provider-setup.
ملاحظات:
- يتطلب TTY تفاعليًا.
- يستهدف الحقول المحتوية على أسرار في
openclaw.jsonبالإضافة إلىauth-profiles.jsonضمن نطاق الوكيل المحدد؛ السطح القياسي المدعوم: سطح بيانات اعتماد SecretRef. - يدعم إنشاء عمليات ربط جديدة في
auth-profiles.jsonمباشرةً ضمن تدفق أداة الاختيار. - يشغّل تحليل الفحص المسبق قبل التطبيق.
- تفعّل الخطط المُنشأة خيارات التنقية افتراضيًا (
scrubEnv، وscrubAuthProfilesForProviderTargets، وscrubLegacyAuthJson). لا يمكن التراجع عن تطبيق قيم النص الصريح بعد تنقيتها. - من دون
--apply، يظل CLI يعرض المطالبةApply this plan now?بعد الفحص المسبق. - مع
--apply(ومن دون--yes)، يعرض CLI مطالبة إضافية لتأكيد الترحيل غير القابل للتراجع. - يطبع
--jsonالخطة مع تقرير الفحص المسبق، لكنه يظل يتطلب TTY تفاعليًا.
أمان مزوّد exec
غالبًا ما تعرض عمليات تثبيت Homebrew ملفات تنفيذية مرتبطة رمزيًا ضمن /opt/homebrew/bin/*. اضبط allowSymlinkCommand: true فقط عند الحاجة إلى مسارات موثوقة لمدير الحزم، مع إقرانها بـ trustedDirs (مثل ["/opt/homebrew"]). في Windows، إذا تعذر التحقق من ACL لمسار مزوّد، يفشل OpenClaw في الوضع المغلق؛ وللمسارات الموثوقة فقط، اضبط allowInsecurePath: true على ذلك المزوّد لتجاوز فحص أمان المسار.
تطبيق خطة محفوظة
--dry-run من الفحص المسبق من دون كتابة ملفات؛ وتُتخطى فحوصات مراجع الأسرار SecretRef من نوع exec افتراضيًا في وضع التشغيل التجريبي. يرفض وضع الكتابة الخطط التي تحتوي على مراجع أسرار SecretRefs أو مزوّدين من نوع exec ما لم يُستخدم --allow-exec. استخدم --allow-exec للاشتراك في فحوصات/تنفيذ مزوّد exec في أيٍّ من الوضعين.
ما قد يحدّثه apply:
openclaw.json(أهداف SecretRef مع إضافة المزوّدين أو تحديثهم أو حذفهم)auth-profiles.json(تنقية أهداف المزوّدين)- مخلّفات
auth.jsonالقديمة - مفاتيح الأسرار المعروفة في
~/.openclaw/.envالتي رُحّلت قيمها
لماذا لا توجد نسخ احتياطية للتراجع
لا يكتبsecrets apply عمدًا نسخًا احتياطية للتراجع تحتوي على قيم النص الصريح القديمة. تتحقق السلامة من خلال فحص مسبق صارم وتطبيق شبه ذري، مع محاولة استعادة داخل الذاكرة عند الفشل بأفضل جهد ممكن.
مثال
audit --check في الإبلاغ عن نتائج نصوص صريحة، فحدّث مسارات الأهداف المتبقية المُبلّغ عنها وأعد تشغيل التدقيق.