كشفت Manifold Security عن ثماني ثغرات في سبعة وكلاء برمجة بالذكاء الاصطناعي، تجعل فيها إعداداتُ git الخاصة بالمجلد الوكيلَ يشغّل أمرًا على حاسوب المطوّر، بحسب ما أوردته The Hacker News في 2 سبتمبر. ويحمل البحث اسم GitSpawn. وفي عدة وكلاء، يُنفَّذ الأمر قبل أن تسأل الأداة عمّا إذا كان المجلد موثوقًا.
الخلفية
حين يفتح وكيل البرمجة مشروعًا، يشغّل أوامر git لمعرفة الفرع الحالي والملفات التي تغيّرت. ولدى git إعداد للأداء، هو core.fsmonitor، يحدد برنامجًا يشغّله git للعثور على الملفات المتغيّرة. وإذا جاء هذا الإعداد من ملف .git/config الخاص بالمستودع، فإن المستودع هو من يختار البرنامج [1].
ما يصفه التقرير
وجدت Manifold أن ملف .git/config مُعدًّا خصيصًا يستطيع تحديد أي أمر، فيُنفَّذ بصلاحيات المطوّر، خارج البيئة المعزولة للوكيل ودون طلب موافقة. ويقول التقرير إن الاستغلال يتطلب مجلدًا لا يزال يحتوي على مجلد .git الخاص به، كمجلد يصل في ملف مضغوط أو على قرص مشترك أو على ذاكرة USB، لا نسخة مستنسخة عادية [1].
ويختلف التوقيت بحسب الوكيل. فالأمر يُنفَّذ قبل طلب الثقة بمساحة العمل في Claude Code وHermes Agent، وقبل المصادقة في Qwen Code، وعند أول ضغطة مفتاح في Grok Build [1].
ويسرد التقرير goose (الإصدار 1.44.0 وما بعده) وCursor وCodex بوصفها مصحَّحة، وClaude Code بوصفه مصحَّحًا جزئيًا بدءًا من الإصدار 2.1.196. أما Hermes Agent وQwen Code وGrok Build فمدرجة بوصفها غير مصحَّحة، وكذلك مسار ثانٍ في Claude Code أكدته Manifold على الإصدار 2.1.252. ويذكر التقرير أنه لم يُرصد أي استغلال، وأن البلاغ المقدَّم بشأن Hermes Agent لم يُفرز رغم محاولات متكررة للتواصل مع المورّد [1].
دلالات ذلك على مستخدمي Mac
الفئة المعرّضة هي المطوّرون الذين يفتحون مجلدات مشاريع تلقّوها من آخرين، ولا سيما المجلدات المنسوخة لا المستنسخة، باستخدام أحد الوكلاء المذكورين. ولا يحدد التقرير نظام تشغيل بعينه، فجهاز Mac المستخدم في التطوير يقع ضمن النطاق [1].
التوصيات
- قبل فتح مجلد وصل في ملف مضغوط أو من قرص مشترك أو من ذاكرة USB، اقرأوا ملف .git/config فيه.
- ابحثوا عن مُدخلات core.fsmonitor وcore.hooksPath وfilter، وهي الإعدادات التي يسمّيها التقرير بوصفها ما ينبغي فحصه.
- فضّلوا استنساخًا جديدًا عبر git من المضيف الأصلي على نسخ المجلد بأكمله.
- حدّثوا الوكيل الذي تستخدمونه، وراجعوا ملاحظات المورّد بشأن الإصلاحات المذكورة أعلاه.
صلة ذلك بـ FireAI
لا يقرأ FireAI إعدادات git ولا يمنع أمرًا محليًا من التنفيذ. فهو جدار حماية شبكي: إذا بدأ الأمر تنزيلًا أو أرسل ملفات إلى الخارج، فإن الاتصال الصادر من عملية لا قاعدة لها يستدعي طلب إذن في وضع «تنبيه»، وتعرض الخريطة العالمية الوجهة التي كان يقصدها. وفي وضع «تحت الهجوم»، لا يُسمح بالاتصال إلا للتطبيقات التي لها قاعدة سماح صريحة.
القيود
تعتمد هذه الرواية على تقرير واحد. ولا يذكر التقرير عدد المطوّرين الذين استخدموا الإصدارات المتأثرة، وقد تكون قائمة التصحيحات فيه قد تغيّرت منذ 2 سبتمبر. ولا يوضح كيف يختلف مسار Claude Code المصحَّح جزئيًا عن المسار غير المصحَّح.
جرّب FireAI من HisnLabs مجانًا لمدة 17 يومًا.