Claude Code يحظر الآن أوامر git التدميرية

أضاف Claude Code مؤخرًا ميزة أمان جديدة؛ حيث أصبح الآن يحظر أوامر git التدميرية في الوضع التلقائي (auto mode).

قبل بضعة أشهر، كاد وكيل ذكاء اصطناعي أن يحذف عملي. طلبت منه الاطلاع على كود قديم، فقام بتشغيل git reset --hard. مسح هذا الأمر جميع التغييرات غير المحفوظة (uncommitted changes) الخاصة بي، مما أدى إلى فقدان يوم كامل من العمل.

منذ ذلك الحين، قمت بإضافة قواعد منع (deny rules) يدويًا إلى إعداداتي. أردت منع تشغيل أوامر مثل git reset أو git clean دون إذن مباشر مني.

الآن، يقوم Claude Code بذلك تلقائيًا، حيث يستخدم مصنف أمان (safety classifier) لتخمين نيتك. إذا اعتقد أنك لم تطلب التخلص من العمل، فإنه يوقف الأمر.

في البداية، فكرت في حذف قواعدي اليدوية. لماذا أقوم بعمل إضافي إذا كانت الأداة تقوم به نيابة عنك؟ ثم أدركت سبب ضرورة الاحتفاظ بها.

ميزة الأمان الجديدة تعتمد على الاستنتاج (inference)؛ فهي عبارة عن نموذج يحاول تخمين ما تريده. والنماذج قد تخطئ، وإذا كان النموذج غير متاح، فقد يفشل النظام أو يسيء تقدير موقفك.

أما قواعدي اليدوية فهي مختلفة، إذ أنها حتمية (deterministic). القاعدة لا تخمن، بل إما أن تطابق الأمر أو لا تطابقه. إنها خط فاصل صارم لا يتغير أبدًا بناءً على النية.

أستخدم الآن ثلاث طبقات من الدفاع:

• المصنف لتحديد النية؛ فهو يفهم أهدافك. • قواعد المنع الخاصة بي لضمان اليقين؛ فهي توفر حماية صلبة لأوامر محددة. • البيئة المعزولة (sandbox) للاحتواء؛ فهي تبقي الوكيل داخل مجلد مشروعك.

الإعداد الافتراضي الجديد رائع، لكنه لا يغطي كل شيء. فهو لا يمنع rm -rf ولا يمنع مسح قاعدة البيانات، ولا يمنع عملية force-push إلى الفرع الرئيسي (main branch).

لا تحذف قواعد الأمان المخصصة الخاصة بك لمجرد أن الأداة أضافت إعدادًا افتراضيًا جديدًا. استخدم الإعداد الافتراضي الجديد كسبب لمراجعة إعداداتك. احتفظ بقواعدك كنسخة احتياطية واستغل وقتك الإضافي لسد الثغرات التي أغفلتها الأداة.

إن مفهوم "الدفاع العميق" (Defense in depth) يعتمد على تكديس الطبقات. النظام الأكثر أمانًا هو الذي ترفض فيه ثلاثة فحوصات مختلفة الخطأ بدلاً من فحص واحد.

المصدر: https://code.claude.com/docs/en/changelog

مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi