يمكن خداع Agentic Workflows التي أطلقتها GitHub مؤخرًا لنشر ملفات من مستودعات خاصة، كما أظهر باحثون في Noma Labs، مما يوضح أن تعليقًا واحدًا في مشكلة (issue) عامة يمكن أن يحول مساعدًا ذكيًا داخليًا إلى قناة لتسريب البيانات.
تكمن أهمية هذه الثغرة في أنها تتجاوز ضوابط السلامة المدمجة في GitHub دون الحاجة إلى أي كود استغلال خاص؛ إذ يحتاج المهاجم فقط إلى صياغة مشكلة تبدو غير ضارة، ليقوم وكيل الذكاء الاصطناعي بقراءتها والتفاعل معها.
كيف تعمل هذه الثغرة
تسمح Agentic Workflows لوكيل الذكاء الاصطناعي بالاستجابة لأحداث GitHub — مثل المشكلات الجديدة — عن طريق تنفيذ أوامر محددة في ملف سير العمل (workflow file). وقد وجد مختبر Noma Labs أن الوكيل لا يميز بين تعليمات سير العمل المشروعة والنصوص المضمنة في تعليق قدمه مستخدم. ومن خلال نشر مشكلة عامة تحاكي طلب مدير، وإضافة توجيه مخفي، يمكن للمهاجم توجيه الوكيل إلى:
- فتح المشكلة (تكون مرئية للعامة).
- تضمين سطر يبدو عاديًا ولكنه يحتوي على أمر خفي.
- تحفيز الذكاء الاصطناعي لجلب ملفات من مستودع خاص يُسمح لسير العمل بقراءته.
- جعل الوكيل ينشر المحتوى الذي تم جلبه كرد على نفس المشكلة.
اكتشف الباحثون أن إدراج كلمة واحدة وهي “Additionally,” قبل الأمر المخفي كان كافيًا لتجاوز ضوابط الحماية في GitHub. ولا يتطلب الأمر أي أذونات إضافية، أو رموز وصول (tokens)، أو كود مخصص — فقط الصياغة الصحيحة.
لماذا يعد هذا أكثر من مجرد خطأ برمجِي
المشكلة هيكلية؛ حيث يعامل وكيل الذكاء الاصطناعي أي نص يتلقاه من حدث في المستودع على أنه موثوق، مما يجعل المحتوى الذي ينشئه المستخدم فعليًا ناقل مدخلات (input vector) يشبه هجمات SQL injection في تطبيقات الويب. فإذا منح سير العمل للوكيل صلاحية القراءة للمستودعات الخاصة والقدرة على التعليق علنًا، فإن هذا المزيج يخلق مسارًا مباشرًا لتسريب البيانات.
ماذا تقول GitHub
تم إخطار GitHub بهذه الثغرة.
خطوات التخفيف للفرق
- تقييد صلاحيات الوكيل: منح صلاحيات القراءة/الكتابة للمستودعات الخاصة فقط عند الضرورة القصوى.
- حظر النشر العام: تهيئة سير العمل بحيث لا يمكن للوكلاء نشر تعليقات أو أي عناصر أخرى في المشكلات العامة.
- التعامل مع جميع المدخلات الخارجية كمدخلات غير موثوقة: إضافة طبقات تحقق تقوم بتنقية أو تجاهل النصوص التي ينشئها المستخدم قبل وصولها إلى الذكاء الاصطناعي.
- تدقيق محفزات سير العمل: مراجعة الأحداث (المشكلات، طلبات السحب "pull requests"، إلخ) التي تستدعي الوكلاء، والتحقق من أن الصلاحيات المرتبطة بها تتوافق مع حالة الاستخدام المقصودة.
الخلاصة: المساعد الذكي الذي يمكنه قراءة الكود الخاص والنشر علنًا لا تزيد درجة أمانه عن حدود الحماية التي تضعها حوله. فبدون قيود صارمة على الصلاحيات وتنقية المدخلات، يمكن لتعليق عام واحد أن يحول ميزة لزيادة الإنتاجية إلى ناقل لتسريب البيانات.
