اثنتا عشرة ساعة وخمسة آلاف جهاز: امتداد Claude Code الذي لم يكن من Anthropic

في وقت ما من يوم الخميس، توقّفت نسخة من امتداد Claude Code في متجر Cursor عن كونها الشيء الذي تدّعي أنها هي. نسختان — 2.1.312 و2.1.313 — كانتا تحملان باباً خلفياً دائماً عبر SSH. وظلّت مدرجة لنحو اثنتي عشرة ساعة. وتقدّر Cursor عدد المطوّرين المتأثّرين بـ«ما يصل إلى 5,000».
تأتي التفاصيل من مجموعة تقارير أمنية نُشرت في غضون يوم واحد من بعضها: Step Security، وSophos، وBleepingComputer، ومدوّنة الأمن في Microsoft، وArs Technica التي صاغت التسلسل الزمني بأكبر دقّة. ووفق تلك التقارير، فعل الامتداد المعبوث به ما يُفترض أن يفعله الباب الخلفي — فتح مدخلاً يصمد بعد إعادة التشغيل، وهنا عبر SSH. ويشير ملخّص The Verge للحادثة إلى أن الحمولة جمعت أسماء المضيفين وأسماء المستخدمين وعناوين IP.
هذه هي الرواية القصيرة. أما الرواية الطويلة فتتعلّق بطبيعة متجر الامتدادات، وبسبب كون هذا أمراً كان لا بدّ أن يحدث.
ما الذي اختُرق فعلاً
لا خوادم Anthropic، ولا نموذج Claude. بل قناة توزيع.
يُوزَّع Claude Code كأداة سطر أوامر وكامتدادات لمحرّري الأكواد. ويدير Cursor متجره الخاص للامتدادات، بالطريقة نفسها التي يفعلها VS Code، وكانت الإدراجة المعنية تحمل علامة امتداد Claude Code الرسمي. وبالنسبة لمطوّر يبحث عن «claude code» داخل محرّره، بدت الإدراجة سليمة: الاسم الصحيح، والأيقونة الصحيحة، والوصف الصحيح.
أما ما عمل عند التثبيت فكان نسخة محمّلة بحصان طروادة. والآلية الموصوفة في التقارير باب خلفي دائم عبر SSH — تعديل يتيح للمهاجم تسجيل الدخول إلى الجهاز لاحقاً عبر SSH من دون أن يضطر المستخدم إلى فعل أي شيء آخر. وبالنسبة لحاسوب مطوّر محمول، هذا يقترب من أسوأ حمولة ممكنة. إنه ليس برنامج تعدين عملات يظهر في «مراقب النشاط»، بل باب صامت.

لماذا المطوّرون هدف مثالي
جهاز مطوّر مخترَق ليس مجرّد حاسوب محمول واحد. إنه مجموعة بيانات اعتماد ذات مدى واسع غير معتاد: شيفرة مصدرية لمستودعات خاصة، وتوكنات CI، ومفاتيح سحابية، وسلاسل اتصال بقواعد البيانات في ملف .env كان أحدهم ينوي تنظيفه في مارس، ومفاتيح SSH يثق بعضها ببعض عبر أسطول كامل.
الباب الخلفي عبر SSH ملائم لهذه البيئة على وجه الخصوص، لأن أجهزة المطوّرين تشغّل SSH أصلاً، ولديها ملفات authorized_keys أصلاً، وتتوقّع اتصالات واردة من أجهزة أخرى. ومفتاح جديد في ذلك الملف لا يبدو شاذّاً كما يبدو اتصال صادر جديد إلى عنوان IP مجهول.
أضف إلى ذلك التوقيت: يوم خميس، خلال يوم عمل، وفي منتصف دورة إطلاق لكثير من الفرق. لم تكن النافذة طويلة، لكن اثنتي عشرة ساعة تكفي لبضعة آلاف من عمليات التثبيت إذا كانت الإدراجة قريبة من أعلى نتائج البحث.
الجزء الذي لا يريد أحد قوله بصوت عالٍ
متاجر الامتدادات ليست متاجر تطبيقات بالمعنى الذي يفهمه المستهلكون. إنها أقرب إلى سجلات الحِزَم. هناك عملية مراجعة، لكنها موجّهة إلى التقاط السلوك الخبيث الواضح وقت التقديم، لا إلى التحقّق المستمر من أن الناشر ما زال هو الناشر وأن الملف التنفيذي ما زال هو الملف التنفيذي.
هذا ليس إخفاقاً خاصاً بـCursor. إنه الضعف البنيوي في كل منظومة تسمح لأطراف ثالثة بنشر شيفرة تعمل بكامل الصلاحيات المحلية: npm، وPyPI، وامتدادات VS Code، وامتدادات المتصفّح، والآن المتاجر التي نشأت حول أدوات البرمجة بالذكاء الاصطناعي. سطح الهجوم ليس النموذج، بل المثبّت.
ما جعل هذه الحالة جديرة بالانتباه هو العلامة. امتداد يحمل اسم منتج ذكاء اصطناعي معروف، في متجر يبحث فيه معظم المستخدمين عن ذلك المنتج بالذات، هو اختصار ثقة يصعب الدفاع ضده. الاسم هو من يقوم بالهندسة الاجتماعية.
كيف بدا الردّ
أُزيلت الإدراجة، ونشرت Cursor عدد المستخدمين. ونشرت شركات الأمن مؤشّرات. أما Anthropic، وفق التغطية، فلم تكن الطرف الذي سلّم النسخة السيّئة — فامتداد متجر Cursor كان قناة توزيع منفصلة عن قناة Anthropic نفسها.
هذا التمييز يهمّ في تحديد المسؤولية، لا في تقييم الخطر. فمن منظور المطوّر، عبارة «ثبّتُ امتداد Claude Code من المتجر داخل محرّري» فعل واحد، وسلسلة الحيازة خلفه غير مرئية.
ما يجب فعله هذا الأسبوع
إذا كنت تستخدم Cursor، أو أي محرّر له متجر طرف ثالث، فهذا أسبوع مناسب للقيام بثلاثة أمور مملّة.
أولاً، اسرد امتداداتك المثبَّتة وتحقّق من الناشرين. لا الأسماء — الناشرين، والأفضل مصدر التثبيت. كل ما لا تعرفه، احذفه. وكل ما يكرّر وظيفة لديك أصلاً من مصدر من الجهة الأولى، احذفه.
ثانياً، افحص ~/.ssh/authorized_keys على أجهزة التطوير لديك. أنت تبحث عن مفاتيح لا تعرفها. وعلى حاسوب محمول لا يتصل إلا صادراً، يكون ذلك الملف فارغاً أو غير موجود في الغالب، وهذا يجعل أي إدخال غير متوقّع سهل الاكتشاف.
ثالثاً، بدّل بيانات الاعتماد التي كان ذلك الجهاز يستطيع الوصول إليها. هذه هي الخطوة المكلفة، وهي التي يتخطّاها الناس. وإذا لم تستطع تدوير كل شيء، فدوّر ما سيكون أشدّ إيلاماً: مفاتيح مزوّد السحابة، وتوكنات سجل الحِزَم، وكل ما له صلاحية الكتابة على مستودع إنتاج.
وللفرق، أضف بنداً رابعاً: ثبّتوا إصدارات الامتدادات وثبّتوا من قائمة مُراجَعة، بدلاً من ترك الأفراد يثبّتون كل ما يحتلّ مرتبة متقدّمة في البحث. هذه سياسة يملكها معظم الفرق لتبعيات npm ولا يملكها أحد تقريباً لإضافات المحرّر.
لماذا لم يلاحظ أحد لنصف يوم
اثنتا عشرة ساعة ليست وقتاً طويلاً بالقيمة المطلقة، لكنها وقت طويل جداً في حياة قناة توزيع. خلال تلك النافذة كان الامتداد قابلاً للتثبيت، والقابلية للتثبيت تعني القابلية للتنفيذ، والقابلية للتنفيذ تعني أن كل مطوّر نقر «تثبيت» خلال يوم عمل عادي كان معرّضاً للخطر احتمالاً.
واللافت أن الاكتشاف جاء من الخارج. شركات الأمن التي تراقب السلوك المشبوه هي التي نبّهت، لا المتجر. وهذا ليس انتقاداً لـCursor بصفة خاصة — بل هكذا تعمل هذه المنظومات. فالسجلات مُحسّنة للتوفّر، لا للمراقبة السلوكية المستمرة لكل أصل تستضيفه. واقتصاديات فحص كل تحديث لكل امتداد في الزمن الحقيقي قاسية، والحافز إلى ذلك ضعيف إلى أن ينكسر شيء.
كان التعافي أسرع من الاكتشاف: إزالة الإدراجة، ونشر التحذيرات، ومشاركة المؤشّرات. لكن التسلسل يهمّ: تعرّض أولاً، وتفسير ثانياً. ولمن ثبّت خلال النافذة، وصلت المعلومات المفيدة بعد القرار الذي كان يهمّ.
الخلاصة المقلقة
أمضت فئة أدوات البرمجة بالذكاء الاصطناعي عامين في التنافس على القدرات: نوافذ السياق، وحلقات الوكلاء، وعدد الملفات التي تستطيع الأداة تحريرها من دون أن تفقد الخيط. أما التنافس على سلامة سلسلة التوريد فلم تُنفق عليه وقتاً يُذكر، لأن نموذج التهديد حتى الآن كان «النموذج يكتب شيفرة سيّئة»، لا «الامتداد برمجية خبيثة».
خمسة آلاف جهاز واثنتا عشرة ساعة حادثة صغيرة بمعايير العقد الأخير من هجمات سلسلة توريد البرمجيات. وهي أيضاً معاينة لما هو آت. فالحادثة التالية ستكون خادم MCP، أو حزمة مهارة، أو إضافة يوصي بها وكيل شائع بالاسم. والنمط هو نفسه: اسم موثوق، وقناة توزيع بتحقّق خفيف، وحمولة لا تحتاج إلى ضجيج.
الدرس ليس «لا تستخدم الامتدادات»، بل أن كلمة «رسمي» في إدراجة متجر لا تعني شيئاً تقريباً، وأن الدفاع الوحيد القابل للتوسّع هو معاملة إضافات المحرّر بالريبة نفسها التي تعامل بها npm install عشوائياً لحزمة لم تسمع بها قطّ.
مقالات ذات صلة
Meta تختبر أغرب تطبيقاتها للذكاء الاصطناعي في جنوب شرق آسيا أولاً
غرفة قياس بالذكاء الاصطناعي في إندونيسيا وسنغافورة وتايلاند. ومذكّرات لحيوان أليف في الفلبين. لم يُعلَن عن أي منهما، وهذا هو المقصود.
كان لدى Ollie شهادة SOC 2 و7.5 مليون دولار. ومع ذلك لم يستطع التفوّق على Muse
مساعد عائلي يضع الخصوصية أولاً، بجولة تمويل بذرية بقيادة Khosla وتدقيق SOC 2 حقيقي، يُغلق في 6 نوفمبر. الدرس ليس عن الخصوصية، بل عن التوزيع.
Runware تريد بناء مراكز البيانات كما بنت ديترويت السيارات
ثلاثون ميغاواط يومياً بحلول 2028، ووحدات تعمل في غضون 48 ساعة، وجيغاواط شهرياً. لم يعد القيد على سعة الذكاء الاصطناعي هو الرقائق، بل صار العامين اللذين يستغرقهما بناء مبنى.
Genspark حوّل طاقم تصوير إلى قائمة خيارات
ثلاثة نماذج لغوية تُخرج، وسبعون إصدار نموذج تنفّذ، ومهمّتك تصبح خمساً وثلاثين موافقة متتالية. نظرة تطبيقية إلى كيف يبدو إنتاج الفيديو المُنسَّق فعلاً.