الباحثون في الحذق وجدت أن هناك خللًا في ستة مساعدين مشهورين للتشفير بالذكاء الاصطناعي يتيح لمشروع تعليمات برمجية مفخخة السيطرة بهدوء على كمبيوتر المطور. يطلب المساعد الإذن بتحرير ملف واحد يبدو غير ضار، لكن الكتابة تصل إلى ملف حساس بدلاً من ذلك.
الأدوات المتأثرة هي Amazon Q Developer وAnthropic’s Claude Code وAugment وCursor وGoogle Antigravity وWindsurf. Wiz يستدعي النمط GhostApproval ونشره في 8 يوليو.
ثلاثة من الستة قاموا بشحن الإصلاحات، اثنان لم يفعلا ذلك، وتجادل الأنثروبيون في أن هذا خطأ. الأكثر تعرضًا هي الأدوات التي تغير الملفات قبل أن تتمكن من تقييمها.
كيف يعمل الهجوم
يسيء الهجوم استخدام ميزة Unix قديمة تسمى a رابط رمزي، أو رابط رمزي، التي فشل المساعدون في التحقق منها. يشير الارتباط الرمزي بهدوء إلى ملف آخر في مكان آخر على القرص، لذا فإن الكتابة إليه تكتب فعليًا إلى الهدف.
أنشأ Wiz مستودعًا ضارًا باستخدام رابط رمزي يسمى project_settings.json يشير فعليًا إلى ملف تسجيل دخول SSH الخاص بالضحية، ~/.ssh/authorized_keys. يخبر ملف README الخاص بمستودع الريبو المساعد بإضافة “خط” إلى project_settings.json، وهذا السطر هو مفتاح SSH الخاص بالمهاجم الذي يرتدي زي إعداد غير ضار.

اطلب من الوكيل “إعداد مساحة العمل” أو “متابعة الملف README”، وسيقوم بكتابة المفتاح مباشرة من خلال الرابط الرمزي في ملف تسجيل الدخول. ومن هناك، إذا كان الجهاز يشغل خدمة SSH يمكن للمهاجم الوصول إليها، فيمكنه تسجيل الدخول بدون كلمة مرور.
يقوم الإصدار الثاني من الخدعة بالكتابة على ملف بدء تشغيل الصدفة الخاص بك، ~/.zshrc، والذي تنفذه الصدفة في المرة التالية التي تفتح فيها الوحدة الطرفية، لذلك لا حاجة إلى SSH. وليس هناك ما يشير إلى أن أيًا من هذا قد تم استخدامه في هجمات حقيقية؛ يقدمه Wiz كبحث.
يظهر مربع الموافقة الشيء الخطأ
تعود حيل Symlink إلى عقود من الزمن. الارتباط الرمزي هو التسليم فقط؛ الفشل الحقيقي هو صندوق الموافقة. في GhostApproval، يكمن هذا المربع.
باختبار كود كلود، وجد Wiz أن الوكيل قد اكتشف بالفعل الهدف الحقيقي من خلال منطقه الخاص، مشيرًا إلى أن project_settings.json كان، على حد تعبيره، “في الواقع ملف تكوين zsh”. ومع ذلك، فإن المربع المعروض للمطور لم يذكر سوى الملف غير الضار.
تنقر فوق قبول، معتقدًا أنك تقوم بتحرير ملف تكوين محلي، وتضرب الكتابة ملف بدء تشغيل Shell أو مفاتيح SSH الخاصة بك. يطلق Wiz على هذا اسم تجاوز الموافقة المستنيرة: لا يزال الإنسان في الحلقة، لكن الحلقة تظهر له الشيء الخطأ.
بعض الأدوات أسوأ: فهي تتخطى البوابة تمامًا، لذا لا توجد لحظة للتدخل. يقوم Windsurf بكتابة الملف على القرص قبل ظهور زري القبول والرفض، وبالتالي فإن المطالبة ليست سوى زر تراجع، والمفتاح موجود بالفعل في مكانه.
لا يُظهر Augment أي مربع حوار على الإطلاق، وقد أظهره Wiz بصمت، من خلال قراءة ملف بيانات اعتماد AWS الموجود خارج المشروع. ومع ذلك، فإن الأدوات التي لا تزال تعرض المطالبة ليست أكثر أمانًا؛ يقوم الموجه فقط بتسمية الملف الخطأ.
ما هي الأدوات التي تتأثر
أبلغ Wiz عن المشكلة لجميع البائعين الستة. هنا مكان كل منها حتى تاريخ النشر:
| أداة | حالة | ما يجب القيام به |
|---|---|---|
| مطور أمازون كيو | ثابت في خادم اللغة 1.69.0 (CVE-2026-12958) |
تحديث. يتم تثبيته تلقائيًا لمعظم المستخدمين، وإعادة تحميل IDE يؤدي إلى سحبه. |
| المؤشر | ثابت في v3.0 (CVE-2026-50549) |
التحديث من مدير الامتداد. |
| جوجل مكافحة الجاذبية | ثابت (CVE معلق) | التحديث إلى الإصدار الحالي. |
| زيادة | معترف به؛ لا يوجد حل حتى الآن | لا تقم بتوجيهه إلى المستودعات التي لا تثق بها. |
| ركوب الأمواج | معترف به؛ لا يوجد حل حتى الآن | لا تقم بتوجيهه إلى المستودعات التي لا تثق بها. |
| كود كلود الأنثروبي | المتنازع عليها تحذر الإصدارات الحالية | قم بالتحديث وقراءة تحذير الارتباط الرمزي قبل القبول. |
تراجعت Anthropic عن التصنيف، وأخبرت Wiz أن السيناريو يقع “خارج نموذج التهديد الخاص بنا”: اختار المطور الوثوق بالمجلد عند بدء الجلسة ثم وافق على التعديل، لذا كان القرار قرارهم.
وقالت أيضًا إن تحذير الارتباط الرمزي الخاص بـ Claude Code تم شحنه في أوائل فبراير، قبل تقرير Wiz الخاص، باعتباره تشديدًا روتينيًا وليس إصلاحًا، وأن “لا تعليق” سابقًا كان بمثابة رد آلي.
من بين البائعين الستة، كان Anthropic هو الوحيد الذي قال إن هذا ليس خطأً؛ ثلاثة إصلاحات تم شحنها، واثنان يعملان عليها. ومع ذلك، فإن السؤال الذي يثيره موقفها حقيقي، وليس فقط سؤال Anthropic الذي يجب الإجابة عليه: إلى أي مدى يجب أن يذهب وكيل البرمجة لحماية المطور الذي يثق بالفعل في الريبو الضار؟

بالإضافة إلى التصحيح، هناك بعض العادات التي تقلل المخاطر، مهما كانت الأداة التي تستخدمها. قم بتشغيل الوكيل مع وصول محدود للملفات، أو داخل وضع الحماية أو الحاوية. ابحث في ملف README الخاص بالريبو وملفات التكوين المخفية قبل السماح للوكيل “بإعداده”.
وبعد العمل في مستودع غير مألوف، تحقق من الملفات التي يستهدفها الهجوم، والتي تقع خارج المشروع وبالتالي لن تظهر في حالة git: ملف بدء تشغيل Shell، ومفاتيح SSH، والتكوين الخاص بأداة الذكاء الاصطناعي الخاصة بك. التحقق من الطوابع الزمنية الخاصة بهم، على سبيل المثال، باستخدام ls -la ~/.zshrc ~/.ssh/authorized_keys، يوضح ما إذا كان أي شيء قد تغير أثناء تشغيل الوكيل.
نصيحة Wiz لصانعي الأدوات قصيرة: حل الارتباط الرمزي وإظهار الوجهة الحقيقية قبل السؤال، ووضع علامة على أي كتابة تصل خارج مجلد المشروع، ولا تلمس القرص مطلقًا حتى يوافق المستخدم فعليًا.
عيب مشترك، وليس قسيمة بائع واحد
في مايو، نشرت Adversa AI SymJack، وهو نفس نمط الارتباط الرمزي والموافقة ضد ستة وكلاء تشفير، بما في ذلك Claude Code وCursor وGitHub Copilot وGrok Build.
وجد فريقان مستقلان أنه يشير إلى ضعف مشترك في التصميم، وليس قسيمة بائع واحد: يتبع هؤلاء الوكلاء رابطًا رمزيًا باستخدام عمليات الملف العادية، ثم يطلبون الموافقة بناءً على المسار الذي تم تسليمهم إليه، وليس المسار الذي وصلت إليه الكتابة.
حتى أن التداخل يصل إلى مكافحة التطرف العنيف. تُنسب نصيحة Cursor الخاصة بشأن خطأ الارتباط الرمزي الخاص به إلى كل من Wiz وCato AI Labs، اللذين تم تغطية أعمالهما السابقة The Hacker News باسم DuneSlide.
لم تعد الملفات التي يثق بها مساعد الذكاء الاصطناعي مجرد تعليمات برمجية. بالنسبة لهؤلاء الوكلاء، فإنهم يتضاعفون كتعليمات يتبعها الوكيل والمسارات التي يتصرف بها، ويشكلون ما يظهره مربع الموافقة. تغطي نشرة AWS أيضًا عيبًا منفصلاً في Amazon Q، وهو CVE-2026-12957، حيث يمكن أن يقوم الريبو المسموم بتحميل ملف التكوين تلقائيًا وتشغيل أوامر لسرقة مفاتيح AWS الخاصة بالمطور بمجرد الوثوق بمساحة العمل.
لا تزال تقنية GhostApproval الدقيقة قيد البحث، ولكن النمط الأوسع يظهر بالفعل: مستودعات تحمل ملفات توجه عملاء الذكاء الاصطناعي إلى سلوك غير آمن.
كما ذكرت THN في يونيو، قامت دودة Miasma بزرع ملفات تكوين AI-agent في مستودع Microsoft Azure بحيث يتم تشغيل حمولتها في اللحظة التي يفتح فيها المطور المشروع في Claude Code، أو Cursor، أو Gemini. قام GitHub بتعطيل 73 مستودعًا من مستودعات Microsoft المتأثرة ردًا على ذلك.
“الإنسان في الحلقة” يحميك فقط إذا كانت الحلقة تقول الحقيقة. نظرًا لأن هؤلاء المساعدين يحصلون على مزيد من الحرية في قراءة الملفات وكتابتها بأنفسهم، فإن مربع الموافقة الذي يسمي الوجهة الخاطئة لا يعد ضمانًا بل مسؤولية، والتعامل مع الريبو المخادع على أنه مشكلة المستخدم البحتة يضع ثقلًا على الشخص الأقل قدرة على رؤية المبادلة.
