
إثبات المفهوم يوضح XSS المخزنة و IDOR في دردشة وكيل Chaindesk AI، مما يتيح سرقة رموز الجلسة واختطاف الحساب.
تطبيق Chaindesk، وهو تطبيق ويب لبناء وكلاء الذكاء الاصطناعي، عرضة لثغرة تخزين البرامج النصية عبر المواقع (XSS) في مكون الدردشة الخاص بوكلائه. يمكن للمهاجم تحقيق تنفيذ تعسفي للنصوص البرمجية من جانب العميل عن طريق صنع وكيل ذكاء اصطناعي يحتوي موجه النظام الخاص به على تعليمات لنموذج اللغة الكبير (LLM) الأساسي لتضمين حمولات نصوص ضارة (مثل XSS القائم على SVG) في ردود الدردشة. عندما يتفاعل مستخدم مع مثل هذا الوكيل الضار، أو يصل إلى رابط مباشر لمحادثة تحتوي على حمولة XSS، يتم تنفيذ البرنامج النصي في متصفح المستخدم. يمكن أن يؤدي الاستغلال الناجح إلى سرقة معلومات حساسة، مثل رموز جلسة JWT، مما قد يؤدي إلى اختطاف الحساب. كما أن وجود ثغرة مرجع كائن غير آمن (IDOR) في بنية رابط المحادثة (https://app.chaindesk.ai/agents/<agentID>?tab=chat&conversationId=<conversationID>) يسهل توزيع روابط المحادثة الضارة هذه وقد يشكل أيضًا خطر الوصول غير المصرح به إلى جلسات دردشة أخرى.
تطبيق Chaindesk عرضة لثغرة تخزين البرامج النصية عبر المواقع (XSS) ضمن وظيفة الدردشة الخاصة بوكلاء الذكاء الاصطناعي. تؤثر هذه الثغرة على تفاعلات المستخدم وعروض المحادثات التي يتم الوصول إليها عبر روابط مثل https://app.chaindesk.ai/agents/<agentID>?tab=chat&conversationId=<conversationID>.
تتضمن الطريقة الأساسية لاستغلال ثغرة XSS هذه قيام المهاجم بإنشاء وكيل ذكاء اصطناعي مع موجه نظام محضر. يوجه هذا الموجه الضار نموذج اللغة الكبير (LLM) المدمج لتوليد ردود تحتوي على حمولة XSS مدمجة قائمة على SVG. وبالتالي، عندما يتفاعل ضحية مع هذا الوكيل المخترق، يتم عرض الحمولة بواسطة متصفح الضحية، مما يؤدي إلى تنفيذ نصوص برمجية من جانب العميل. تستخدم هذه التقنية بفعالية تكوين الوكيل لتخزين وتوصيل حمولة XSS. يسمح تنفيذ كود JavaScript التعسفي في جلسة الضحية للمهاجم بسرقة بيانات حساسة، وبخاصة رموز JWT، والتي يمكن استخدامها بعد ذلك لاختطاف الحساب. يوضح الشكل 1 عرض واجهة المستخدم بعد تواصل المستخدم مع الوكيل الضار، حيث يتم تسريب الجلسة والرمز المميز للمستخدم.

علاوة على ذلك، يُظهر التطبيق ثغرة مرجع كائن غير آمن (IDOR) (يمكن تصنيفها أيضًا على أنها التحكم في الوصول المكسور) فيما يتعلق بكيفية معالجة روابط المحادثة. يعتمد نقطة النهاية https://app.chaindesk.ai/agents/<agentID>?tab=chat&conversationId=<conversationID> بشكل أساسي على معلمتي agentID و conversationID لعرض محتوى الدردشة، مع فحوصات تحكم وصول غير كافية على ما يبدو. تسمح ثغرة IDOR هذه للمهاجم بما يلي: أ) صياغة وتوزيع روابط مباشرة تشير إلى محادثات يتحكم بها وتحتوي على حمولة XSS (يتم توصيلها إما من خلال طريقة LLM الموصوفة أعلاه أو مدمجة بطريقة أخرى). عندما يصل ضحية إلى مثل هذا الرابط، يتم تنفيذ حمولة XSS. ب) الوصول المحتمل إلى محادثات المستخدمين الآخرين إذا كان من الممكن تحديد مجموعات صالحة من agentID و conversationID. ومع ذلك، يشير التقرير الأولي إلى أن قيم conversationID قد لا يمكن تخمينها بسهولة للوصول غير المصرح به الواسع إلى المحادثات السابقة غير ذات الصلة. ومع ذلك، تظل فائدة ثغرة IDOR في توصيل حمولات XSS للضحايا المستهدفين مصدر قلق كبير. يوضح الشكل 2 إثبات المفهوم (POC) لثغرة IDOR.

يمكن أن تؤثر هذه الثغرة على أي مستخدم لـ https://www.chaindesk.ai. سيتم سرقة ملف تعريف الارتباط (الذي يحتوي على الجلسة والرمز المميز) للمستخدم عند التواصل مع وكيل ضار عام.