أداة برمجة Claude Code AI وُجدت بها ثغرة أمنية كبيرة

icon MarsBit
مشاركة
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconملخص

expand icon
ظهرت أخبار عن ثغرة أمنية كبيرة في أداة برمجة الذكاء الاصطناعي Claude Code الخاصة بشركة Anthropic، كما كشف عنها الباحث المستقل آنان غوان. يمكن تجاوز حاوية الشبكة، التي صُممت لمنع الوصول الخارجي، باستخدام حقن بايت فارغ في بروتوكول SOCKS5. وقد أثرت هذه الثغرة على جميع الإصدارات منذ إطلاق الحاوية في أكتوبر 2025، عبر 130 إصدارًا. أصلحت شركة Anthropic المشكلة في أبريل 2026 دون إصدار إعلان عام. يمكن للخرق الأمني أن يسمح للمهاجمين بسرقة مفاتيح API وبيانات اعتماد AWS.

Claude Code

بموقعها كشركة تضع الأمان في المقدمة، لم يكن محاكاة الويب الخاصة بـ Claude Code، أداة التطوير الأساسية لـ Anthropic، آمنة حقًا على مدار الخمسة أشهر الماضية.

أونان غوان، باحث أمني مستقل، نشر بحثًا جديدًا في 20 مايو، كشف عن ثغرة تجاوز كامل ثانية في صندوق الرمل الشبكي لـ Claude Code — هجوم حقن بايت فارغ في بروتوكول SOCKS5، يسمح لعمليات داخل الصندوق بالوصول إلى أي خادم ممنوع صراحةً من قبل سياسات المستخدم. وهذا يعني أنه منذ إطلاق ميزة الصندوق في أكتوبر 2025 وحتى الآن، خلال حوالي 5.5 أشهر و13 إصدارًا، كان كل إصدار من Claude Code يحتوي على عيب أمني يمكن تجاوزه بالكامل. هذه هي المرة الثانية التي يحقق فيها نفس الباحث تجاوزًا كاملًا لنفس الحاجز.

ردّ Anthropic على ذلك بصمت: لا إشعار أمان، لا رقم CVE، لا إشعار للمستخدمين. تم إصلاح الثغرة بصمت في الإصدار بتاريخ 1 أبريل، ولم يُذكر أي شيء يتعلق بالأمن في سجل التحديثات. هذا يعني أن مستخدمًا لا يزال يشغل الإصدار القديم لن يكون لديه أي وسيلة لمعرفة أن حاوية الرمل التي قام بتكوينها كانت عديمة الفائدة منذ البداية.

مفتاحان لباب واحد

Claude Code هو مساعد برمجي بالذكاء الاصطناعي أطلقته Anthropic في بداية عام 2025، ويُعرَّف بأنه "مهندس ذكاء اصطناعي مدمج في طرفية". على عكس استكمال الكود القائم على المحادثات التقليدية، يتمتع Claude Code بصلاحية القراءة والكتابة على مخزن كود المستخدم وقدرة تنفيذ الأوامر، مما يمكنه من إنجاز مهام متعددة بشكل مستقل مثل التنقل عبر الكود وتحرير الملفات وتشغيل الاختبارات. يعني هذا التدخل العميق أيضًا مخاطر أمنية شديدة — فإذا تم اختطاف النموذج عبر هجوم حقن كلمات التوجيه، فسيحصل المهاجم على صلاحيات تعادل صلاحيات طرفية المستخدم، بما في ذلك قراءة متغيرات البيئة المحلية وتنفيذ أوامر نظام عشوائية والوصول إلى موارد الشبكة الداخلية.

لتحقيق التوازن بين الأمان والكفاءة، أطلقت Anthropic في أكتوبر 2025 ميزة Sandbox الشبكي (v2.0.24)، التي تسمح للمستخدمين بتحديد قائمة بيضاء للنطاقات عبر ملفات التكوين، مما يقيّد وصول بيئة الذكاء الاصطناعي إلى الشبكة الخارجية. على سبيل المثال، بعد تكوين allowedDomains: [“*.google.com”]، لا يمكن لـ Claude Code الوصول إلا إلى Google ونطاقاتها الفرعية، مع حظر جميع حركات المرور الأخرى. وتعهد المستندات الرسمية صراحةً: "المصفوفة الفارغة تعادل منع جميع عمليات الوصول إلى الشبكة."

يتم تنفيذ هذه الآلية من خلال خادم SOCKS5: يقوم وقت التشغيل للصناديق الرملية الأساسي (@anthropic-ai/sandbox-runtime) بتشغيل خادم الوكيل، ولا تُنشئ العمليات داخل الصندوق الرملي اتصالات شبكة مباشرة، بل تُعاد توجيهها عبر الوكيل، الذي ينفذ فلترة النطاقات بناءً على قائمة السماح المُحددة في ملف settings.json . تقوم آليات الصندوق الرملي على مستوى نظام التشغيل — sandbox-exec على macOS وbubblewrap على Linux — بتحديد الوكيل بشكل صحيح على عنوان الحلقة المحلية، بينما تُفوض قرارات الخروج بالكامل إلى هذا الوكيل SOCKS5.

Claude Code

رسم تخطيطي لهيكلية ساندبوكس Claude Code كما هو موضح في مدونة Anthropic الرسمية — تمر أوامر المستخدم عبر وكيل SOCKS/HTTP للتصفية قبل الوصول إلى الساندبوكس، حيث تخضع عمليات الملفات ووصول الشبكة داخل الساندبوكس لرقابة صارمة على الصلاحيات

المشكلة تكمن في تنفيذ الوسيط. أثبتت دراستان أمنيتان مستقلتان أنه يمكن تجاوزه بالكامل.

Claude Code

يُظهر الجدول الزمني مشاكل أعمق: أصلح الإصدار v2.0.55 المُنشَر في 26 نوفمبر 2025 الدخول الأول، لكن الدخول الثاني كان موجودًا منذ اليوم الأول لتشغيل الساندبوكس، ولا يزال مُضمنًا في هذا الإصدار. هناك تداخل بين الثغرتين في الجدول الزمني، ولم يكن هناك أي إصدار آمن من اليوم الأول لتشغيل ميزة الساندبوكس حتى إصلاح الثغرة الأخيرة. أعلن Anthropic في مدونته الرسمية أن الساندبوكس "يضمن أن التأثير يظل معزولًا تمامًا حتى في حالة حدوث حقن تعليمات برمجية"، لكن وجود هاتين الثغرتين يدحضان هذا الوعد مباشرة.

"تقرير خارجي واحد هو حظ. اثنان هو مشكلة في التنفيذ." — وفقًا لتقرير غوان أونان.

تجاوز كامل لبايت فارغ

مبدأ التقنية الثانية للتجاوز غير معقد، لكن اكتمال سلسلة الهجوم يستحق الاهتمام.

قام المستخدم بتكوين قائمة بيضاء للشبكة، على سبيل المثال، السماح بالوصول فقط إلى *.google.com. عند تلقي طلب اتصال، يستخدم وكيل SOCKS5 الخاص بـ Claude Code طريقة endsWith() في JavaScript لإجراء مطابقة لاحقة لاسم المضيف. يمكن للمهاجم ببساطة إدراج بايت فارغ في اسم المضيف — ببناء سلسلة على الشكل attacker-host.com\x00.google.com. ستتعامل JavaScript مع البايت الفارغ كحرف UTF-16 عادي، وتعيد endsWith(".google.com") القيمة true، فيسمح الوكيل بالاتصال. لكن عند تمرير نفس السلسلة إلى دالة C الأساسية getaddrinfo() لحل DNS، يُعامل البايت الفارغ كرمز إنهاء السلسلة، ويتم حل اسم المضيف الفعلي attacker-host.com. نفس البايتات، تفسيران مختلفان من قبل كودين من مستويين مختلفين. يعتقد المرشح أنك تزور Google، بينما يعرف محلل DNS أنك تتصل بخادم المهاجم.

هذا ينتمي إلى هجوم "اختلاف المُحلِّل" الكلاسيكي، وهو من نفس الفئة التقنية لهجوم تزوير طلب HTTP الذي تم اكتشافه عام 2005 (CWE-158 / CWE-436). جوهره هو أنه عندما تمر نفس البيانات عبر مكونين يمتلكان قواعد تفسير دلالية مختلفة، يمكن للمهاجم استغلال هذا الاختلاف ليجعل مكونًا واحدًا يتخذ قرارًا "آمنًا"، بينما ينفذ المكون الآخر عملية "خطيرة". تظهر هذه الثغرات مرارًا وتكرارًا في مجال أمن الشبكات، والدرس الأساسي دائمًا واحد: يجب دائمًا توحيد وتحقق أي سلسلة تُمرر عبر حدود الثقة، وليس الاعتماد على أن الطبقة العليا قد قام بالفعل بالتحقق.

أكمل غوان أونان استغلال الثغرة باستخدام نصين صغيرين لـ Node.js: قام النص المُتحكم بإنشاء اتصال SOCKS5 باستخدام اسم مضيف عادي، فعاد بـ BLOCKED؛ بينما أدخل النص الهجومي بايتًا فارغًا في اسم المضيف، فعاد بـ BYPASSED rep=0x00 — وهو ما يعني أن البروكسي أنشأ اتصالاً بنجاح وتم فتح قناة الصدور. وقد تأكد Claude Code من هذه النتيجة.

Claude Code

استنساخ ثغرة كاملة للخطوات الأربع المُشار إليها باللون الأحمر في Claude Code v2.1.86 — تأكيد الاستراتيجية، الحجب العادي، تجاوز البايت الفارغ، تأكيد Claude نفسه

وإذا تم ربط هذه الثغرة في البيئة المعزولة مع هجوم حقن تعليمات برمجية "التعليق والتحكم" الذي كشف عنه غوان أونان في أبريل، فإن ذلك يشكل سلسلة هجوم كاملة (انظر: الدفاعات الثلاثة لا تزال غير كافية، عنوان PR واحد يمكنه سرقة مفتاح API الخاص بك: ثغرات أمان وكيل الذكاء الاصطناعي تظهر مجددًا). وقد أثبتت دراسة "التعليق والتحكم" أن جميع أدوات البرمجة الثلاثة للذكاء الاصطناعي عرضة لهجمات حقن التعليمات البرمجية، لكن نقاط الدخول تختلف: يعتمد Claude Code فقط على عنوان PR، بينما يستخدم Gemini CLI تعليقات أو نص المشكلة، ويستخدم Copilot Agent تعليقات HTML لتحقيق حقن خفي. على سبيل المثال، يتم دمج عنوان PR الخاص بـ Claude Code مباشرة في قالب التعليمات البرمجية دون تصفية أو تهريب، مما يجعل النموذج غير قادر على التمييز بين نية المستخدم البشري والحقن الخبيث.

دمج كليهما — الأمر الخفي الذي يُجبر الوكيل على تشغيل كود الهجوم داخل بيئة معزولة، وحقن البايتات الفارغة لتجاوز الرقابة الشبكية — يمكن تسريب بيانات المفاتيح API، وبيانات AWS، ورموز GitHub، ونقاط نهاية API الداخلية، وغيرها من متغيرات البيئة، إلى أي خادم على الإنترنت. تتدفق البيانات عبر وكيل SOCKS5 نفسه، دون الحاجة إلى خادم خارجي كحلقة وسطى، بينما يُعد هذا الوكيل نفسه المكون الذي يثق المستخدمون بأنه حدود آمنة. حتى أن المهاجمين لا يحتاجون إلى صلاحيات الكتابة في المستودع، بل يكفيهم تقديم مسألة عامة واحدة. يرى المراجعون البشريون في عرض GitHub المُرسَل طلب تعاون طبيعي، بينما يحلل وكيل الذكاء الاصطناعي كود المصدر الضار الكامل.

حتى كلاود يعترف: الثغرة حقيقية

أحد التفاصيل الرئيسية في هذا الإفصاح جاء من Claude Code نفسه. قام Guan Aonan مباشرةً بتسليم كود استنساخ الثغرة إلى Claude Code لتنفيذه، وطلب منه إجراء تقييم تقني. وبعد تنفيذ اختبار التحكم (تم حظر اسم المضيف العادي) واختبار الهجوم (تجاوز الحظر باستخدام اسم مضيف يحتوي على بايت فارغ)، أصدر Claude Code استنتاجًا واضحًا:

هذا تجاوز حقيقي لمرشح Sandbox الشبكي، وليس مجرد أثر اختبار. يجب عليك الإبلاغ عن هذا إلى Anthropic على https://github.com/anthropics/claude-code/issues.

أكد المنتج الخاضع للاختبار بنفسه على صحة وخطورة الثغرة، بل وقدم مسار الإبلاغ بشكل نشط. تم تسجيل هذا التفصيل بالكامل من قبل غوان آو نان في تقرير البحث، وأصبح مصدر عنوان مقالة The Register: "Even Claude agrees hole in its sandbox was real and dangerous".

Claude Code

غلاف بحث غوان آو نان — بعد عرض ثغراته، اعترف Claude Code بأن "هذا تجاوز حقيقي لمرشحات الصندوق الرملي للشبكة"، مع تحديد الجملة الأساسية باللون الأحمر

رد Anthropic بعد خمسة أشهر من الصمت

الثغرة نفسها مقلقة، لكن طريقة تعامل Anthropic معها تستحق مراجعة من قبل الصناعة.

قدم غوان أونان تقريرًا مفصلًا عن تجاوز الحاوية الثانية في أوائل أبريل 2026 عبر برنامج مكافآت الثغرات الأمنية HackerOne (تقرير رقم #3646509) إلى Anthropic. كان رد Anthropic الأولي:

شكرًا على تقريرك. بعد مراجعة هذا الإرسال، حددنا أنه نسخة مكررة من تقرير داخلي موجود نقوم بالفعل بمتابعته.

تم إغلاق التقرير على الفور. عندما سأل غوان آو نان عن خطة رقم CVE، ردت Anthropic في 7 أبريل:

لم نقرر بعد ما إذا كنا سننشر CVE لهذا المشكل، ولا يمكننا تقديم جدول زمني لهذا القرار.

تم إصلاح الثغرة بصمت في الإصدار v2.1.90. لا يوجد إشعار أمني، ولا رقم CVE، ولا أي إدخال على صفحة توصيات أمان Claude Code، ولم يُذكر أي وصف متعلق بالأمن في سجل التحديثات. تم تجاوز كامل استمر لـ 5.5 أشهر وشمل حوالي 130 إصدارًا منذ اليوم الأول للتشغيل في بيئة العزل، وكأنه لم يحدث أبدًا للمستخدمين.

هذا النمط من المعالجة ليس ظهورًا أوليًا. كان رد الفعل على التجاوز الأول (CVE-2025-66479) مشابهًا تمامًا: قام Anthropic بتعيين CVE فقط للكتابة الأساسية @anthropic-ai/sandbox-runtime (درجة CVSS 1.8 فقط، "منخفضة")، وليس للمنتج الموجه للمستخدم Claude Code؛ وتم ذكره في سجل التحديثات كـ "Fixed proxy DNS resolution" (إصلاح حل DNS للبروكسي)، دون أي إشارة إلى ثغرة أمنية. كتب غوان أونان في تقريره البحثي: "عندما ظهرت ثغرات خطيرة في React Server Components، حصلت React و Next.js على CVE منفصلة، وأصدرت Meta و Vercel إشعارات أمنية، وتم إعلام كلا المجتمعين بشكل كامل. اتخذ Anthropic نهجًا مختلفًا." حتى الآن، لا يزال البحث عن "Claude Code Sandbox CVE" لا يُظهر أي إشعار أمني رسمي.

عند مواجهة مشكلة سرقة الشهادات، اختارت Anthropic حظر أمر ps، لكن فكرة القائمة السوداء تعاني من عيوب جوهرية — فحظر أمر واحد يترك المهاجمين مع عدد لا حصر له من المسارات البديلة. الطريقة الصحيحة هي تحديد صراحة الأدوات التي يحتاجها العميل فقط. وفي دراسة "التعليق والتحكم"، رفعت Anthropic تصنيف الثغرة إلى CVSS 9.4 (مستوى حرجة) ونقلتها إلى برنامج المكافآت الخاص، لكن المتحدث باسمها أشار إلى أن "الأداة لم تُصمم لتكون مقاومة لحقن الأوامر". تعتمد الشركات بشكل افتراضي على قدرات أمان نموذجها الخاص، لكنها تفتقر إلى دفاع متعدد الطبقات على مستوى البنية النظامية؛ وعندما تكشف الثغرات عن هذا النقص، يصبح "القيود التصميمية" تصنيفًا مريحًا — فهو يعترف بالمشكلة، لكنه في الوقت نفسه يُخفف من التزام الشركة بإصدار إشعار أمني.

إن المشهد الصناعي الأوسع يُظهر أن نفس المشكلة لا تقتصر على Anthropic فقط. فقد تأكدت في دراسة "التعليقات والتحكم" المُعلنة في أبريل من وجود نفس نقطة الهجوم في Gemini CLI من Google وCopilot Agent من Microsoft GitHub، وجميع الشركات الثلاث أكدت وصلحت المشكلة، لكن لم تُصدر أي منها إشعار أمان أو رقم CVE. دفعت Anthropic مكافأة قدرها 100 دولار، ودفعت Google 1337 دولارًا، بينما أغلق GitHub التقرير في البداية بحجة "مشكلة معروفة، غير قابلة للتكرار"، ثم أغلقه لاحقًا بعلامة "معلوماتية" بعد تلقي أدلة التحليل العكسي، ودفع مكافأة قدرها 500 دولار. المجموع الكلي: 1937 دولارًا — وهذه المنتجات الثلاثة تغطي غالبية الشركات في قائمة فورتشن لأفضل 100 شركة.

الشعور الزائف بالأمان أكثر ضررًا من عدم وجود تدابير أمنية على الإطلاق. المستخدمون دون صندوق رملي يعرفون أنهم لا يمتلكون حدودًا؛ بينما المستخدمون الذين يمتلكون صندوق رملي تالف يظنون أن لديهم حدودًا. فريق يعمل بـ Claude Code ويعيّن قائمة بيضاء للنطاقات، ظلّ غير مدرك للمخاطر لمدة 5.5 أشهر، وبعد الترقية، عند مراجعة سجل التحديثات، سيستنتج فقط أن الصندوق الرملي كان يعمل بشكل طبيعي. علاوة على ذلك، عندما تم الكشف عن الثغرة، فإن غياب إشعار أمني يعني أن المستخدمين لا يستطيعون تحديد ما إذا كانوا قد تأثروا أم لا، ولا يمتلكون أساسًا لإجراء مراجعة تحليلية رجعية.

في مواجهة هذا الوضع، بدأ مجتمع الأمان في تشكيل توافق في الآراء: لا يمكن الاعتماد على نقطة واحدة من الثقة في تنفيذ الحجر الرملي من قبل الشركة المصنعة. يُبنى وكيل SOCKS5 الخاص بـ Claude Code على حزمة npm طرف ثالث لديها فقط 10 نجوم على GitHub، وأخير تحديث لها كان في يونيو 2024، مع حدود أمان تمتد عبر وقت التشغيل JavaScript وC، لكنها تفتقر إلى المعالجة التنظيمية الأساسية في نقطة التقاء الثقة. كانت وظيفة isValidHost() التي أُضيفت في التصحيح يجب أن تكون موجودة منذ اليوم الأول لتشغيل الحجر الرملي، وهي المسؤولة عن رفض الأحرف غير القانونية مثل بايت فارغ، وترميز النسبة المئوية، وCRLF. اقترح غوان آو نان إطارًا دفاعيًا عمليًا — وهو اعتبار وكيل الذكاء الاصطناعي كموظف فائق يحتاج إلى اتباع مبدأ الحد الأدنى من الصلاحيات، مع التركيز الأساسي على الدفاع متعدد الطبقات:

Claude Code

يُبنى السمعة الآمنة على شفافية كل إفصاح وكل تصحيح، وليس على السرد التسويقي للعلامة التجارية. عندما يُسلّم المستخدمون بيانات اعتمادهم إلى الوكيل بناءً على الثقة، فإن على المُصنّع التزامًا بضمان فعالية الدفاعات، وكذلك التزامًا بإبلاغ المستخدمين فورًا عند فشلها. ولم يُنفّذ Anthropic أيًا من هذين الأمرين على ساندبوكس Claude Code.

"أسوأ نتيجة للبيئة المعزولة ليست منع شيء، بل إعطاء الناس إحساسًا زائفًا بالأمان. إطلاق بيئة معزولة بها ثغرات أسوأ من عدم إطلاقها على الإطلاق." — قال غوان أونان.

(تم نشر هذا المقال لأول مرة على تايباي تي إم آي بي، المؤلف | سيليكون فالي Tech_news، المحرر | جياو يان)

المراجع:

1. oddguan.com — المرة الثانية، نفس البيئة التجريبية: تجاوز آخر لبيئة Anthropic Claude Code Network التجريبية يمكّن من استخراج البيانات (أوان غوان، 2026.05.20)

2. The Register — حتى كلاود يوافق على أن الثقب في بيئة العزل كان حقيقيًا وخطيرًا (2026.05.20)

إخلاء المسؤولية: قد تكون المعلومات الواردة في هذه الصفحة قد حصلت عليها من أطراف ثالثة ولا تعكس بالضرورة وجهات نظر أو آراء KuCoin. يُقدّم هذا المحتوى لأغراض إعلامية عامة فقط ، دون أي تمثيل أو ضمان من أي نوع ، ولا يجوز تفسيره على أنه مشورة مالية أو استثمارية. لن تكون KuCoin مسؤولة عن أي أخطاء أو سهو ، أو عن أي نتائج ناتجة عن استخدام هذه المعلومات. يمكن أن تكون الاستثمارات في الأصول الرقمية محفوفة بالمخاطر. يرجى تقييم مخاطر المنتج بعناية وتحملك للمخاطر بناء على ظروفك المالية الخاصة. لمزيد من المعلومات، يرجى الرجوع إلى شروط الاستخدام واخلاء المسؤولية.