أطلقت Anthropic إصدار Claude Code v2.1.251 عند الساعة 18:19 بالتوقيت العالمي المنسق في 28 أغسطس. خمسة من البنود الواردة في سجل التغييرات تمثل حالات هروب من sandbox أو تجاوزًا للصلاحيات، وصيغت مثل أي بند آخر في الملف.
الخمسة
تبديل symlink من نوع time-of-check/time-of-use أتاح لأدوات Read وWrite وEdit العمل خارج دليل معتمد بعد التحقق من المسار. تجاوز للمسار في تحميل الإضافات. إعدادات على مستوى المشروع كان يمكنها تشغيل تسجيل نصّ طلبات API الخام وتجاوز جامع القياسات المُعدّ من قِبل المسؤول. وقراءة مشغّل سير العمل مسار البرنامج النصي قبل فحص الإذن كان قد جرى. كما أن Grep وGlob كانتا تتبعان symlinks إلى ما بعد قواعد المنع التي كان يفترض أن تحظر تلك القراءات.
لماذا تهم هذه الفئة
هذه ليست أعطالًا في سلوك النموذج. إنها طبقة الإنفاذ التي تجعل وكيل البرمجة آمنًا عند توجيهه إلى مستودع: الوعد هو أن الوكيل يلمس ما وافقتَ عليه فقط ولا شيء غيره. ويقوّض تبديل symlink من نوع TOCTOU هذا الوعد بصورة حتمية — ينجح الفحص، ثم يُعاد توجيه الرابط، فتُكتب العملية في مكان آخر. أما بند التسجيل فهو شكل مختلف من المشكلة نفسها: إعداد داخل مشروع تم فحصه يغيّر ما يسجله الوكيل والمكان الذي يرسله إليه.
ما يخطئ فيه التأطير الشائع
يُقرأ موضع البند في سجل التغييرات بوصفه حكمًا على الخطورة — فإذا كان الأمر جديًا لكان هناك تنبيه أمني. لكن هذا الاستنتاج لا يصمد هنا، لأن المستودع نفسه نشر عشرة تنبيهات أمنية، وكان عدة منها في الفئة نفسها بالضبط، بما في ذلك هروب من sandbox عبر symlink عالي الخطورة في وقت سابق من العام. لذا فإن المشروع يعترف بالفئة ولديه قناة مخصصة لها. أما النشر عبر سجل التغييرات فيعني أن المستخدمين اللاحقين لا يحصلون على CVE ولا على تقدير للخطورة، ولا على أي إشعار عبر أي أداة فحص للاعتمادات — تُطرح الإصلاحات، ولا يعلم بوجود شيء يحتاج إلى إصلاح إلا من يقرأ ملاحظات الإصدار.
الأثر العملي
المنظمات التي تربط طرح الوكلاء بتغذيات التنبيهات الأمنية لم ترَ شيئًا في 28 أغسطس. والقراءة التشغيلية الصحيحة هي أن سجلات تغييرات وكلاء البرمجة أصبحت الآن تغذية أمنية ويجب مراقبتها على هذا الأساس.
