البيئة المعزولة (sandbox) لا تكون مفيدة إلا إذا أبقت الوكيل (agent) داخل السياج بالفعل. يعمل Claude Code 2.1.216 على سد العديد من الثغرات التي قد تسمح لمهمة خلفية، أو وكيل فرعي، أو جلسة مستأنفة بالخروج من الدليل المخصص لها. يقدم هذا الإصدار مفتاح تبديل جديد للإعدادات، ولكن العمل الأهم يتم "تحت الغطاء": معالجة أذكى لأشجار عمل Git (worktrees)، والروابط الرمزية (symlinks)، وإعادة تشغيل الوكيل. إذا كنت تشغل Claude Code محلياً أو في بيئة التكامل المستمر (CI)، فإن هذه التغييرات تستحق أكثر من مجرد نظرة سريعة على سجل التغييرات.
مفتاح تبديل نظام الملفات الذي لا يجب العبث به بسهولة
يضيف الإصدار 2.1.216 الخيار sandbox.filesystem.disabled. عند ضبط هذا الخيار، يتخطى Claude Code عزل نظام الملفات الخاص به مع الاستمرار في فرض عزل الشبكة (network sandbox). للوهلة الأولى، قد يبدو هذا وسيلة لإيقاف أخطاء الأذونات أو تسريع عمليات الملفات. لكن الأمر ليس كذلك. يجب عليك فقط تفعيل هذا الإعداد إذا كانت هناك طبقة أخرى تحمي القرص الخاص بك بالفعل.
وهذا يعني حاوية مؤقتة (disposable container) يتم حذفها بعد كل عملية تشغيل، أو آلة افتراضية مخصصة ليس لها وصول إلى دليل المنزل (home directory) أو وحدات التخزين الخاصة بالإنتاج. إذا كنت تشغل Claude Code مباشرة على macOS أو Windows أو مضيف Linux أساسي، فاترك عزل نظام الملفات مفعلاً. عزل الشبكة ليس بديلاً عن ضوابط نظام الملفات، والاحتكاك الطفيف الناتج عن الوصول إلى الملفات المعزولة أقل بكثير من تكلفة التعافي من الكتابة فوق ملف عن طريق الخطأ أو حقن أوامر خبيث (malicious prompt injection) يخرج عن مجلد المشروع.
فكر في مفتاح التبديل هذا كطبقة توافق (compatibility shim)، وليس كمقبض لتحسين الأداء. إنه موجود للبيئات التي يتعامل فيها نظام التشغيل أو المنسق (orchestrator) بالفعل مع العزل، حيث يضيف نظام العزل الخاص بـ Claude تعقيداً غير ضروري.
ما الذي يصلحه التحديث فعلياً
بالإضافة إلى الإعداد الجديد، يغلق الإصدار 2.1.216 العديد من الثغرات العملية التي قد تسمح للوكيل بالوصول إلى أماكن لا ينبغي له الوصول إليها.
عزل شجرة العمل (Worktree isolation). لم يعد بإمكان الوكلاء الفرعيين إعادة توجيه أوامر Git إلى دليل أب أو دليل شقيق خارج شجرة العمل الخاصة بهم. في السابق، كان بإمكان وكيل فرعي يعمل داخل مشروعك توجيه عمليات Git إلى نسخة التحقق المشتركة لديك أو المستودعات المجاورة. هذا الأمر مهم لأن العديد من المطورين يحتفظون بمشاريع متعددة تحت مجلد أب مشترك. الآن، تفشل تلك الأوامر التي تتجاوز الحدود.
تحصين الروابط الرمزية (Symlink hardening) عند المسار .claude. كانت تعريفات سير العمل والمهام المجدولة تتبع الروابط الرمزية (symlinks) عند كتابة الإعدادات. يمكن للمهاجم الذي يستطيع إنشاء رابط رمزي من .claude إلى، لنقل، ملف تعريف الصدفة (shell profile) أو دليل SSH الخاص بك، أن يدفع الوكيل كتابياً خارج المشروع. يوقف التحديث هذا الأمر من خلال رفض اتباع الروابط الرمزية عند ذلك المسار.
عمليات تراجع (rewind) أكثر أماناً. أمر /rewind الذي يسمح لك بالتراجع عن التغييرات الأخيرة، يتخطى الآن المسارات المرتبطة بروابط رمزية (symlinked) أو روابط صلبة (hard-linked). بدون هذه الحماية، يمكن لعملية التراجع أن تتبع رابطاً رمزياً وتكتب فوق ملف بعيد جداً عن مستودعك. يبلغ Claude الآن عن تلك المسارات التي تم تخطيها صراحةً حتى تعرف أن الحدود قد صمدت.
الوكلاء المستأنفون يحتفظون بقيودهم. الجلسات الخلفية التي يتم إيقافها ثم استئنافها لاحقاً كانت تعود سابقاً إلى أذونات الأدوات الافتراضية. إذا كنت قد قيدت الوكيل عمداً بحيث يمكنه القراءة ولكن ليس الكتابة، فقد يؤدي إعادة التشغيل إلى استعادة وصول أوسع بصمت. الآن، يتم حفظ القيود الأصلية واستعادتها مع الجلسة.
اختيار ملف تعريف الأمان
ينظم Claude Code 2.1.216 هذه الضوابط في ثلاثة ملفات تعريف (profiles). اختر بناءً على مكان تشغيل الأداة، وليس بناءً على ما يبدو أسرع.
الافتراضي (Default). يظل كل من عزل نظام الملفات والشبكة نشطاً. هذا هو الخيار الصحيح للتطوير المحلي على الكمبيوتر المحمول أو محطة العمل الخاصة بك. فهو يحمي دليل المنزل وملفات النظام والمشاريع المجاورة دون مطالبتك بإدارة الحاويات.
التوافق (Compatibility). يتم إيقاف عزل نظام الملفات، ولكن يظل عزل الشبكة قائماً. قصر استخدام هذا الملف على الحاويات المؤقتة أو الآلات الافتراضية حيث يكون نظام الملفات مؤقتاً بالفعل أو محدود النطاق بدقة. لا تستخدمه لمجرد أنك سئمت من كتابة كلمات المرور للسماح للوكيل بالوصول إلى مجلد محمي.
البوابة الصارمة المدارة (Managed Hard Gate). تظل طبقتي العزل مفعلتين، ويتوقع ملف التعريف سياسات حاوية إضافية يفرضها المنسق (orchestrator) أو فريق الأمان لديك. هذا مصمم لخطوط أنابيب التكامل المستمر (CI pipelines)، وبيئات التطوير عن بعد، وإعدادات المؤسسات حيث يكون الدفاع العميق (defense in depth) إلزامياً.
إذا لم تكن متأكداً من الملف المناسب، فابدأ بالافتراضي (Default). يمكنك خفض مستوى الحماية لاحقاً فقط بعد التحقق من أن بيئة التشغيل الخاصة بك تعزل نظام الملفات بنفسها بالفعل.
الترقية دون تعطيل سير عملك
لا تتعامل مع هذا التحديث كأنه مجرد رقعة برمجية روتينية تقوم بتثبيتها في عصر يوم جمعة. مسار الترقية في الإصدار 2.1.216 مباشر، لكن عواقب سوء الإعداد ليست كذلك.
أولاً، قم بالترقية إلى 2.1.216 عبر مدير الحزم أو المثبت المعتاد لديك. ثم اختر أحد ملفات تعريف العزل (isolation profiles) الثلاثة قبل بدء أي مهام للوكيل (agent tasks). لا تخلط بين ملفات التعريف عبر جلسات التشغيل دون فهم أي منها له الأولوية.
بعد ذلك، قم بتشغيل اختبارات الحدود الخمسة غير المدمرة الموضحة أدناه. هذه اختبارات سريعة ومبرمجة تثبت أن البيئة المعزولة (sandbox) تعمل بالطريقة التي يعد بها ملف التعريف. أثناء الاختبار، قم بإنشاء هاشات الحراسة (sentinel hashes) لملفات خارج مستودع الاختبار المؤقت الخاص بك. هاش الحراسة هو ببساطة مجموع التحقق (checksum) لملف أو دليل حساس تريد حمايته. بعد تشغيل الاختبارات، قارن الهاشات. إذا تغير أي شيء، فهذا يعني أن العزل لديك يعاني من تسريب.
قارن سجلاتك أيضاً. يقوم Claude Code بكتابة عمليات الرفض وأحداث البيئة المعزولة (sandbox events) في سجلاته المحلية. ابحث عن حالات الرفض الصريحة عند الوصول إلى مضيف محظور أو عندما يخرج وكيل فرعي (subagent) عن نطاق مساحة عمله (worktree). الفشل الصامت أسوأ من الفشل المعلن، لذا تأكد من أن السجلات تظهر تفعيل حواجز الحماية (guardrails).
أخيراً، قم بتعميم التغيير تدريجياً. ابدأ بمشروع واحد أو فرع غير مخصص للإنتاج. اترك الإصدار الجديد يعمل ليوم أو يومين قبل نشره عبر فريقك بالكامل أو أسطول التكامل المستمر (CI fleet).
خمسة اختبارات للحدود تثبت عمل البيئة المعزولة لديك
قم دائماً بتشغيل هذه الاختبارات داخل مستودع مؤقت مليء بالبيانات الوهمية. لا توجهها أبداً نحو كود الإنتاج، أو بيانات الاعتماد الحقيقية، أو البنية التحتية الحية.
حدود الشبكة. حاول الوصول إلى نقطتي نهاية: إحداهما سمحت بها صراحة والأخرى حظرتها. يمكن لطلب HTTP بسيط إلى خدمة اختبار عامة مثل httpbin.org أن يعمل كهدف مسموح به، بينما يجب أن يفشل الطلب إلى نقطة نهاية بيانات وصفية محلية أو عنوان IP داخلي. إذا نجح الطلب المحظور، فإن البيئة المعزولة للشبكة لديك مهيأة بشكل خاطئ.
عزل مساحة العمل (Worktree isolation). من داخل وكيل فرعي (subagent)، قم بتشغيل أمر Git يستهدف الدليل الأب. على سبيل المثال، جرب git -C .. status أو اجعل الوكيل يصف ملفات خارج منطقة التحقق (checkout) الخاصة به. مع الإصلاح في 2.1.216، يجب أن يفشل هذا. يجب أن يرى الوكيل الفرعي مساحة عمله الخاصة فقط.
فخ الروابط الرمزية (Symlink trap). أنشئ رابطاً رمزياً (symlink) داخل مشروعك يشير إلى دليل خارج المستودع، مثل /tmp/sentinel-target. ثم حاول حفظ مهمة أو سير عمل تحت مسار .claude من شأنه أن يكتب عبر ذلك الرابط. بعد الحفظ، تحقق من الدليل الخارجي. إذا كان لا يزال فارغاً، فإن تحصين الروابط الرمزية يعمل بشكل صحيح.
تخطي الـ Rewind. أنشئ مجلداً داخل مستودعك يحتوي على رابط رمزي لملف نظام أو دليل آخر. قم بتشغيل /rewind على ذلك المجلد. يجب أن يسرد Claude المسارات التي تم تخطيها (سواء كانت روابط رمزية أو روابط صلبة) بدلاً من تتبعها. تأكد من أن الهدف خارج المستودع ظل دون تغيير.
إحياء الجلسة (Session resurrection). قم بتشغيل وكيل في الخلفية مع قيود صارمة، مثل تعطيل أدوات الكتابة في الملفات. أوقف الجلسة مؤقتاً أو أوقفها تماماً، ثم استأنفها. حاول فوراً جعل الوكيل يكتب ملفاً. إذا كان القيد لا يزال نشطاً، فإن إصلاح الوكلاء المستأنفين يعمل. إذا حصل الوكيل فجأة على وصول كامل للأدوات مرة أخرى، فأنت لا تزال معرضاً للخطر.
كلمة أخيرة
يمنحك Claude Code 2.1.216 مرونة أكبر من الإصدارات السابقة، ولكن هذه المرونة تأتي مع تفويض واضح: تحقق قبل أن تثق. مفتاح تبديل نظام الملفات الجديد ليس موجوداً لتسهيل حياتك على حساب الأمان. بل هو موجود للمهندسين الذين بنوا بالفعل أرضية محصنة تحت الأداة. التحسينات الحقيقية في هذا الإصدار هي حواجز الحماية الصامتة التي تمنع الوكلاء الفرعيين من التسلل إلى الأدلة الأب، والتي ترفض اتباع الروابط الرمزية أثناء عمليات كتابة الإعدادات، والتي تتذكر القواعد حتى بعد توقف طويل.
قم بتشغيل الاختبارات الخمسة. تحقق من هاشات الحراسة الخاصة بك. اقرأ السجلات. عندها، وعندها فقط، اترك الإصدار الجديد يتولى العمل الحقيقي.
المصدر: Claude Code v2.1.216 Release Notes
مجتمع تعليمي اختياري: GyaanSetu على Telegram
