تكشف ثغرة GuardFall عن طريقة التفاف خطيرة تسمح لوكلاء البرمجة بالذكاء الاصطناعي بتنفيذ أوامر ضارة عبر حيلة قديمة في Bash، ما يهدد الملفات والمفاتيح السرية.
ما هي ثغرة GuardFall في وكلاء البرمجة؟
البحث الجديد يسلط الضوء على مشكلة تمس أدوات مفتوحة المصدر تعتمد على الذكاء الاصطناعي لتنفيذ أوامر Shell نيابة عن المستخدم. الخطر هنا لا يتعلق بخطأ منفرد يسهل إصلاحه، بل بأسلوب حماية ضعيف يعتمد على مطابقة نصية بسيطة للأوامر.
وبحسب ما رصدته تيكبامين، فإن 10 من أصل 11 أداة شائعة كانت معرضة لهذا الالتفاف، بينما نجحت أداة واحدة فقط في الصمود لأنها تفحص الأمر بالطريقة نفسها التي يفسره بها Bash قبل التنفيذ.
الأدوات المتأثرة حتى الآن
- opencode
- Goose
- Cline
- Roo-Code
- Aider
- Plandex
- Open Interpreter
- OpenHands
- SWE-agent
- Hermes
كيف تتجاوز ثغرة GuardFall فلاتر الحماية؟
معظم وكلاء البرمجة يفحصون الأمر كنص خام ويبحثون عن كلمات خطرة مثل rm. لكن Bash يعيد تفسير النص قبل التنفيذ، فيحذف علامات الاقتباس ويفك بعض الاختصارات، وهنا يظهر الفارق بين ما يراه الفلتر وما ينفذه النظام فعلياً.
على سبيل المثال، قد يبدو الأمر r''m آمناً لفلتر يعتمد على المطابقة النصية، لكنه يتحول عند التنفيذ إلى rm كاملة. ويمكن تطبيق الفكرة نفسها عبر أوامر مشفرة بـ base64 أو باستخدام أدوات عادية مثل find و dd بوسائط مدمرة.
لماذا تمثل ثغرة GuardFall خطراً حقيقياً؟
تكمن المشكلة في أن هذه الأدوات تعمل غالباً بصلاحيات حساب المستخدم نفسه. وإذا تم توجيه الوكيل إلى مستودع ملغوم أو حزمة برمجية تحتوي تعليمات خفية، فقد ينفذ أمراً يمسح الملفات أو يسرق أسراراً حساسة من الجهاز.
- مفاتيح SSH المخزنة محلياً
- بيانات الاعتماد السحابية
- ملفات المجلد المنزلي الحساسة
- سكربتات وبيئات التطوير المحلية
هذا يجعل الهجوم مناسباً لسلاسل التوريد البرمجية، خاصة مع الانتشار السريع لوكلاء الذكاء الاصطناعي داخل بيئات التطوير الحديثة.
كيف يمكن حماية أدوات الذكاء الاصطناعي من هذا النوع من الهجمات؟
الحل لا يكمن في توسيع قائمة الكلمات المحظورة فقط، لأن المشكلة أعمق من ذلك. النهج الأكثر أماناً هو تحليل الأمر كما سيفهمه Bash فعلياً، ثم التحقق من النتيجة النهائية ومنع الأوامر التدميرية بشكل صريح.
أفضل ممارسات الحماية
- تحليل الأوامر بعد التوسيع وليس كنص خام
- منع الأوامر التدميرية بقائمة صارمة
- تشغيل الوكلاء داخل بيئات معزولة وصلاحيات محدودة
- عدم الوثوق بمستودعات أو حزم غير مدققة
في النهاية، تؤكد ثغرة GuardFall أن الأمان في وكلاء البرمجة لا يجب أن يعتمد على فلاتر سطحية. ومع تزايد الاعتماد على هذه الأدوات، ترى تيكبامين أن مراجعة آليات تنفيذ الأوامر أصبحت ضرورة عاجلة وليست خياراً.