Tutorial 9: Security Settings
Tutorial 9: Security Settings — easy-to-understand guide based on official docs
الدرس 9: إعدادات الأمان
مرحباً بعودتكم! في هذا الدرس، سنغوص في واحد من أهم المواضيع في Hermes Agent: الأمان. إذا كنت تتابع معنا، فأنت تعلم أن Hermes أداة قوية. لكن مع القوة العظيمة تأتي مسؤولية عظيمة—وقد وفّرك Hermes بنموذج أمان متعدد الطبقات.
تخيّله كقلعة بأسوار متعددة. حتى لو فشلت طبقة واحدة، تبقى الطبقات الأخرى تحميك. دعنا نستعرض الطبقات الثماني ثم نركّز على الأكثر عملية منها: الموافقة على الأوامر الخطرة.
طبقات الأمان الثماني
يحميك Hermes على ثماني جبهات:
- تفويض المستخدم — يتحكم في من يمكنه التحدث مع الوكيل
- الموافقة على الأوامر الخطرة — إشراف بشري على العمليات التدميرية
- سلامة كتابة الملفات — قائمة حظر وصندوق رمل اختياري لكتابة الملفات
- عزل الحاويات — عزل عبر Docker/Singularity/Modal
- تصفية بيانات اعتماد MCP — يعزل متغيرات البيئة لعمليات MCP الفرعية
- فحص ملفات السياق — يكشف حقن الأوامر في ملفات المشروع
- العزل بين الجلسات — لا يمكن للجلسات الوصول إلى بيانات بعضها البعض
- تنقية المدخلات — يتحقق من معاملات دليل العمل لمنع حقن الأوامر
هذا قدر كبير من الحماية! لكن ما ستتعامل معه أكثر هو الموافقة على الأوامر.
كيف تعمل الموافقة على الأوامر الخطرة
قبل تنفيذ أي أمر، يفحصه Hermes مقابل قائمة من الأنماط الخطرة. إذا تطابق، ستحتاج إلى الموافقة عليه. بسيط، أليس كذلك؟
تقوم بتكوين هذا في ~/.hermes/config.yaml:
approvals:
mode: smart # smart | manual | off
timeout: 300 # seconds to wait for approval
cron_mode: deny # deny | approve
single_query_mode: deny # deny | approve
mcp_reload_confirm: true # confirm before reloading MCP tools
destructive_slash_confirm: true # confirm before /clear, /new, etc.
أوضاع الموافقة الثلاثة
الوضع الذكي (الافتراضي) هو النقطة المثالية. يستخدم نموذج لغة مساعداً لتقييم المخاطر:
- الأوامر منخفضة الخطورة (مثل
python -c "print('hello')") تتم الموافقة عليها تلقائياً - الأوامر الخطرة فعلاً يتم رفضها تلقائياً
- الحالات غير المؤكدة تُرفع إلى طلب موافقة يدوي
الوضع اليدوي يسألك دائماً. لا موافقات تلقائية، ولا استثناءات.
الوضع المغلق يعطّل جميع الفحوصات—أي ما يعادل التشغيل مع --yolo. استخدم هذا فقط في البيئات الموثوقة مثل حاويات CI/CD.
⚠️ تحذير: تعيين
approvals.mode: offيعطّل جميع تنبيهات الأمان. استخدمه فقط في البيئات الموثوقة!
وضع YOLO: المسار السريع (استخدمه بحذر)
وضع YOLO يتجاوز جميع طلبات الموافقة للجلسة الحالية. يمكنك تفعيله بثلاث طرق:
- علامة CLI:
hermes --yoloأوhermes chat --yolo - أمر الشرطة المائلة: اكتب
/yoloأثناء الجلسة - متغير البيئة: عيّن
HERMES_YOLO_MODE=1
أمر /yolo هو مفتاح تبديل:
> /yolo
⚡ YOLO mode ON — all commands auto-approved. Use with caution.
> /yolo
⚠ YOLO mode OFF — dangerous commands will require approval.
عندما يكون YOLO نشطاً، يعرض Hermes تذكيرين بصريين:
- شريط أحمر في بداية الجلسة:
⚠ YOLO mode — all approval prompts bypassed - جزء
⚠ YOLOفي شريط الحالة، يُحدَّث مباشرة
⚠️ خطر: وضع YOLO يعطّل جميع فحوصات الأوامر الخطرة—باستثناء قائمة الحظر الصارمة. استخدمه فقط عندما تثق تماماً في الأوامر التي يتم توليدها.
جديد في هذا الإصدار
إعدادان جديدان يستحقان اهتماماً خاصاً:
mcp_reload_confirm (الافتراضي true): عند تشغيل /reload-mcp، يسألك Hermes الآن قبل إعادة بناء مجموعة أدوات MCP. لماذا؟ لأن إعادة البناء تُبطل ذاكرة التخزين المؤقت لمطالبات المزود، مما يعني أن الرسالة التالية ستعيد إرسال كامل رموز الإدخال. إذا نقرت على الموافقة دائماً، فسيتم تحويل هذا إلى false.
destructive_slash_confirm (الافتراضي true): الأوامر التدميرية مثل /clear و /new و /reset و /undo تطلب الآن تأكيداً قبل التخلص من حالة المحادثة. سترى حواراً بثلاثة خيارات: الموافقة مرة واحدة / الموافقة دائماً / إلغاء. على Telegram و Discord و Slack، تظهر هذه كأزرار نعم/لا أصلية.
النقاط الرئيسية
- الوضع الذكي هو صديقك—يوازن بين الأمان والسرعة
- وضع YOLO هو مفتاح تبديل، وليس باباً باتجاه واحد
- جلسات Cron والاستعلام الفردي ترفض افتراضياً الأوامر الخطرة—يجب على الوكيل إيجاد مسار آخر
- تحقق دائماً من المؤشرات البصرية لمعرفة ما إذا كان YOLO نشطاً
الأمان ليس عن جنون الارتياب—بل عن الاستعداد. مع نهج Hermes متعدد الطبقات، يمكنك أتمتة المهام بثقة. ابقَ آمناً هناك، وأتمتة سعيدة!
📖 التوثيق الرسمي
この記事は Hermes Agent のالتوثيق الرسميに基づいています:التوثيق الرسمي › user-guide/security