كانت wfx-loot حملة لسرقة بيانات الاعتماد، استغلت حسابات GitHub مخترقة لفحص المستودعات، ثم زرعت—حيثما توفرت صلاحية الكتابة—شيفرة تهدف إلى سرقة أسرار بيئات التكامل المستمر (CI). وأفادت Aikido بوجود 4,837 حسابًا مخترقًا أرسل طلبات سحب استكشافية إلى 61,764 مستودعًا؛ وقالت إن الحمولة الخبيثة نُفذت وسرّبت بيانات اعتماد من 1,835 مستودعًا على الأقل.
4
9
متى وقعت الحملة وكم استمرت؟
بدأ النشاط قرابة 12:45 بالتوقيت العالمي المنسق يوم 10 نوفمبر 2026. ويضع أحد التقارير فترة طلبات السحب الاستكشافية حتى 15:00 يوم 11 نوفمبر، أي نحو 26 ساعة و15 دقيقة.
6
7 وهذه هي الفترة المرصودة لعمليات الفحص، ولا تؤكد أن تشغيل الحمولة أو استخدام بيانات الاعتماد المسروقة توقف عندها.
وتشير الأرقام المتداولة إلى مراحل مختلفة من الهجوم:
- 4,837 حسابًا قيل إنها مخترقة.
- 61,764 مستودعًا تلقى طلبات سحب استكشافية. وهذا عدد المستودعات التي اختُبرت، لا المستودعات التي ثبت تشغيل البرمجية الخبيثة فيها.
- 1,835 مستودعًا على الأقل ضمن الرقم الذي نشرته Aikido للتنفيذ وتسريب بيانات الاعتماد.
9
وأوردت بعض التقارير المنشورة في الفترة نفسها رقمًا أقل هو 1,806.
6
10 ولا تشرح التقارير المتاحة سبب الاختلاف، لذا ينبغي التعامل مع الرقمين بوصفهما حصيلتين منشورتين منفصلتين، لا جمعهما. كما لا تسند المعلومات المتاحة ادعاءً لاحقًا بوجود نحو 1,970 حالة عامة مؤكدة بين أكثر من 66 ألف هدف.
كيف اختبر المهاجمون صلاحيات الوصول؟
فتح المهاجمون طلبات سحب بعنوان docs: dependency audit notes انطلاقًا من فروع باسم wfx-docs. وكانت هذه الطلبات بمثابة اختبارات لمعرفة ما إذا كان الحساب المخترق يستطيع الكتابة إلى المستودع المستهدف.
3
4
9
وعندما سمحت الصلاحيات، زرعوا حمولة لسرقة الأسرار داخل بيئة CI. واعتمدت الحملة على بيانات اعتماد مسروقة وصالحة، لا على استغلال ثغرة في GitHub Actions.
4
9 ووصف تحليل OX Security البرمجية الخبيثة بأنها نص برمجي واحد بلغة shell، يبلغ نحو 1,500 سطر.
31
وتشير تقارير إلى حذف تغييرات خبيثة وسجلات سير العمل في بعض الحالات، ما صعّب التحقيق.
1
6 لكن الأدلة المتاحة تثبت النمط العام—اختبار الصلاحيات، ثم تشغيل الحمولة والتنظيف—ولا تثبت أن كل طريقة نشر أو رسالة commit وردت في التقارير استُخدمت في كل إصابة.
ما الذي استهدفته الحمولة؟
كان الهدف الموثق جمع بيانات الاعتماد المتاحة لمهام CI، بما في ذلك أسرار GitHub Actions وبيانات اعتماد الخدمات السحابية. كما تحدثت تقارير عن محاولات للحصول على رموز وصول لخدمات الذكاء الاصطناعي.
3
9 ويذكر تحليل OX Security أن من بين الأهداف بيانات اعتماد AWS وAzure وGoogle Cloud.
31 وأفاد تقرير آخر بأن البرمجية قد تبحث عن أسرار في ذاكرة عمليات بيئة التشغيل، لكن المقتطفات المتاحة لا توضح مدى نجاح هذه الطريقة أو تكرارها.
17
29
ويشير ملخص منشور إلى محاولات لتوسيع الوصول عبر تعديلات على سياسات الثقة في AWS وبيانات اعتماد اتحادية في Azure.
5 وينبغي التعامل مع هذه التفاصيل باعتبارها سلوكًا أُبلغ عنه، لا دليلًا على تعديل كل مستودع متأثر أو كل حساب سحابي. وتركز الأدلة على سرقة بيانات الاعتماد؛ ولا تثبت سرقة الشيفرة المصدرية أو قواعد بيانات العملاء.
9
15
ماذا تعني المؤشرات المنشورة—وما الذي لا تثبته؟
قال أحد التقارير إن 92% من 10,431 طلب سحب استكشافيًا أُرسل عبر صلاحيات المتعاونين أو المؤسسات ظل مفتوحًا عند المراجعة.
10
19 وقد يعني ذلك أن عددًا كبيرًا من الطلبات لم يُعالج بعد، لكنه لا يثبت أن أصحاب المستودعات أو فرق الأمن لم يكتشفوها. كما أن هذه النسبة تخص تلك المجموعة من الطلبات، لا جميع طلبات السحب.
وأفاد دليل للتحقيق في الحوادث برصد 173 طلب سحب استكشافيًا من 19 حسابًا، باستخدام رموز وصول عبر تطبيق GitHub الخاص بـFly.io. لكن هذه الملاحظة لا تثبت بحد ذاتها اختراق بنية Fly.io التحتية، ولا أن الحمولة نُفذت في كل مستودع وصلت إليه تلك الرموز.
37
ما الذي ينبغي لفرق الأمن التحقق منه؟
إذا كان من المحتمل أن مؤسستك تأثرت، فميّزوا في تقييم الحادث بين اختبار المستودع وزرع الحمولة وتشغيلها وتسريب بيانات الاعتماد. فهذه نتائج مختلفة، ولا تعني إحداها تلقائيًا تحقق الأخرى.
- ابحثوا عن مؤشرات الاختبار. راجعوا طلبات السحب بعنوان
docs: dependency audit notes والفروع المسماة wfx-docs في المستودعات التي تملك حساباتكم صلاحية الكتابة فيها.
9
- راجعوا سجلات CI والتدقيق. افحصوا تشغيلات سير العمل، وعمليات commit، ونشاط الفروع، وسجلات الخدمات السحابية المتاحة. وقد تكون الأرقام المفقودة من تسلسل تشغيلات سير العمل مؤشرًا يستحق التحقيق، لأن تقارير تحدثت عن حذف تشغيلات وسجلات؛ لكن الفجوة وحدها لا تثبت الاختراق.
1
24
- ألغوا صلاحيات الوصول المتأثرة. ألغوا رموز GitHub التي يُشتبه في اختراقها، وراجعوا صلاحيات الحسابات والمتعاونين وتطبيقات GitHub.
- غيّروا الأسرار المكشوفة على نطاق واسع. إذا ثبت تشغيل الحمولة، فتعاملوا مع الأسرار وأدوار السحابة التي أمكن لسير العمل الوصول إليها على أنها معرضة للاختراق، لا مع بيانات الاعتماد الظاهرة في السجلات المتبقية فقط.
3
9
- تحققوا من وسائل الاستمرارية السحابية. ابحثوا عن تغييرات غير متوقعة في سياسات الثقة في AWS، وفي التطبيقات أو بيانات الاعتماد الاتحادية في Azure، وعن مفاتيح أو تعديلات وصول غير مصرح بها.
5
- احفظوا الأدلة. خزّنوا سجلات التدقيق والسجلات المتبقية قبل إجراء التنظيف، ووثقوا المرحلة التي تدعمها الأدلة في كل مستودع.