تحديث 17 مارس 2025: حددت Wiz Threat Research إجراء آخر مخترق على GitHub يسمى reviewdog/action-setup، والتي ربما ساهمت في التسوية tj-actions/changed-files.
-
كما ذكرت لأول مرة بواسطة Step Security، فإن GitHub Action المستخدم على نطاق واسع
tj-actions/changed-filesتم اختراقه في وقت ما قبل 14 مارس 2025 باستخدام حمولة ضارة تسببت في قيام المستودعات العامة المتأثرة بتسريب أسرارها في السجلات. يتم أيضًا تعقب هذا الحل الوسط باعتباره ثغرة أمنية، وتم تعيينه برقم CVE-2025-30066. -
لا نعرف حتى الآن كيف حدث هذا بالضبط، أو من يقف وراء ذلك، أو ما هي أهدافهم المحددة (تحرير: صرح مشرفو tj-actions منذ ذلك الحين أن المهاجم قام بطريقة ما باختراق رمز وصول شخصي (PAT) لـ GitHub يستخدمه روبوت لديه حق الوصول إلى الريبو).
-
الخبيث يرتكب
tj-actions/changed-filesتم إرجاع المستودع منذ ذلك الحين، وتم حذف GitHub Gist الذي قام بتخزين برنامج نصي لجهة خارجية تم تنفيذه بواسطة الإجراء المخترق. وهذا يعني أنه تم تخفيف الاستغلال المستقبلي (مع استثناء محتمل للإجراءات المخزنة مؤقتًا)، والخطر الأكثر إثارة للقلق حاليًا هو استمرار الكشف عن الأسرار في سجلات المستودعات المتأثرة. -
لذلك تظل الاستجابة الفورية ضرورية للتخفيف من مخاطر سرقة بيانات الاعتماد وتسوية خط أنابيب CI. ومع ذلك، فإن الخطر الأساسي هو المستودعات العامة، حيث تكون الأسرار الملقاة في سجلات سير العمل عامة أيضًا؛ وعلى العكس من ذلك، فإن المخاطر التي تتعرض لها عمليات إعادة الشراء الخاصة محدودة.
-
لاحظت شركة Wiz Threat Research بشكل مباشر نشر البرنامج النصي المصمم لتفريغ الأسرار كجزء من تنفيذ الحمولة الضارة (كما ورد في مكان آخر أيضًا). لقد حددنا أيضًا العشرات من المستودعات العامة المتأثرة التي تحتوي على أسرار حساسة مكشوفة، وقد تواصلنا مع الأطراف المتضررة.
أدى الإجراء المخترق إلى إدخال تعليمات برمجية ضارة في أي سير عمل لـ CI يستخدمه، مما يؤدي إلى تفريغ ذاكرة مشغل CI التي تحتوي على أسرار سير العمل. في المستودعات العامة، ستكون الأسرار مرئية للجميع كجزء من سجلات سير العمل، على الرغم من أنها مشوشة كحمولة Base64 مشفرة مزدوجة. حتى الآن، لم يتم ملاحظة أي تسرب خارجي للأسرار إلى خادم يتحكم فيه المهاجم؛ كانت الأسرار يمكن ملاحظتها فقط داخل المستودعات المتأثرة نفسها.
تمت إزالة GitHub Gist الذي يستضيف البرنامج النصي الضار في وقت ما في 15 مارس 2025، كما تمت إزالة المستودع المخترق مؤقتًا حوالي الساعة 10:30 صباحًا بالتوقيت العالمي المنسق في نفس اليوم، وتمت استعادته لاحقًا دون ارتكاب أي مخالفات، مما يعني أنه تم تخفيف الاستغلال المستقبلي. ومع ذلك، لا يزال هناك خطر من التخزين المؤقت للإجراءات والأسرار التي تم تسريبها بالفعل نتيجة لهذا التسوية، لذلك لا يزال هناك حاجة إلى اتخاذ إجراء من جانب العميل.
اعتبارًا من 15 مارس 2025، ستتوفر جميع إصدارات tj-actions/changed-files تم اكتشاف أنها متأثرة، حيث تمكن المهاجم من تعديل علامات الإصدار الموجودة لجعلها جميعًا تشير إلى التعليمات البرمجية الضارة الخاصة به. العملاء الذين كانوا يستخدمون إصدارًا مثبتًا بتجزئة من tj-actions/changed-files لن تتأثر، إلا إذا تم تحديثها إلى تجزئة متأثرة خلال الإطار الزمني للاستغلال.
لا يزال التحقيق مستمرًا – في الوقت الحالي، لا يمكننا إلا أن نفترض أن المهاجم حصل على وصول كافٍ لتحديث العلامات إلى التعليمات البرمجية الضارة التي وضعها على تفرع من المستودع (تحرير: tj-actions صرح المشرفون منذ ذلك الحين أن المهاجم قام بطريقة ما باختراق رمز الوصول الشخصي (PAT) لـ GitHub الذي يستخدمه @tj-actions-bot، روبوت يتمتع بامتياز الوصول إلى المستودع المخترق). بينما انتحل المهاجم شخصية مستخدم Renovate bot، فإن عدم التحقق من GitHub عند الالتزام يوضح أن المستخدم لم يتعرض للخطر. سنقوم بتحديث منشور المدونة هذا مع ظهور معلومات جديدة.
في عمليات سير العمل التي تنفذ عمليات نشر الإنتاج، قد تتضمن الأسرار المسربة مفاتيح تسمح بالوصول إلى بيئات الإنتاج السحابية بالإضافة إلى مستودعات التعليمات البرمجية المصدر الداخلية.
أثناء إجراء مطاردة التهديدات المتعلقة بهذا النشاط الضار، لاحظت Wiz Threat Research في عدة حالات نشر برنامج نصي مصمم لتفريغ الأسرار كجزء من تنفيذ الحمولة الضارة. بالإضافة إلى ذلك، حددت Wiz Threat Research حتى الآن العشرات من المستودعات المتأثرة بإجراء GitHub الضار، بما في ذلك عمليات إعادة الشراء التي تديرها مؤسسات كبيرة. في هذه المستودعات، تم تنفيذ الحمولة الضارة بنجاح وتسببت في تسرب الأسرار في سجلات سير العمل. تتضمن بعض الأسرار المسربة التي حددناها حتى الآن مفاتيح وصول AWS صالحة، ورموز الوصول الشخصية (PATs) لـ GitHub، ورموز npm، ومفاتيح RSA الخاصة والمزيد.
-
استخدم استعلام Github هذا للعثور على مراجع لإجراء GitHub المتأثر في مستودعات مؤسستك (استبدل
your-orgمع اسم مؤسستك). -
إذا تم تحديد أي مستودعات متأثرة، فانتقل إلى علامة التبويب “الإجراءات” أو انقر فوق “عرض عمليات التشغيل”. تحقق من وجود أي إجراءات GitHub تتضمن المكون المتأثر المخترق وتم تشغيلها خلال الإطار الزمني ذي الصلة.
-
ابحث عن “الحصول على الملفات التي تم تغييرها” ضمن تشغيل الإجراء، وقم بتوسيع سطر الملفات التي تم تغييرها وتحقق مما إذا كانت هناك سلسلة base64 مزدوجة التشفير بداخلها. إذا كان موجودًا، فهذا يعني أنه تم تنفيذ الحمولة الضارة بنجاح، ويعتمد التأثير على ما إذا كان الريبو عامًا أم خاصًا: إذا كان الريبو عامًا، فهذا يعني أن الأسرار الموجودة في السلسلة قد تم تسريبها علنًا في سجلات سير العمل، ونحن نوصي بشدة بتدويرها في أقرب وقت ممكن. بخلاف ذلك، إذا كان الريبو خاصًا، فهذا يعني أن الأسرار لم يتم تسريبها علنًا، ولكن لا يزال يتعين عليك التفكير في تدويرها.
لاحظ أنه إذا تأثر المستودع الخاص بك ولكن الأسرار الوحيدة التي تم الكشف عنها هي رموز GitHub المميزة التي تبدأ بالبادئة ghs_، هذه عبارة عن رموز مميزة قصيرة العمر وتنتهي صلاحيتها تلقائيًا خلال 24 ساعة أو بمجرد اكتمال مهمة سير العمل. وبالتالي، ما لم تتم مقاطعة المهمة والفشل في إكمالها، تكون هناك مخاطر محدودة على المدى الطويل من التعرض لـ A ghs_ رمز وحده.
بالإضافة إلى ذلك، إذا لم يشير سير العمل بشكل صريح إلى الأسرار المخصصة (على سبيل المثال، token: ${{ secrets.MYSECRET }})، فمن غير المرجح أن تكون الأسرار الحساسة قد تعرضت للخطر نتيجة لهذا الحادث. يكمن الخطر الأساسي في احتمالية الكشف عن الأسرار المخصصة المشار إليها بوضوح ضمن مسارات العمل المتأثرة.
-
توقف عن الاستخدام
tj-actions/changed-filesعلى الفور واستبداله ببديل أكثر أمانًا إن أمكن. -
قم بإزالة جميع المراجع إلى الإجراء عبر جميع فروع المستودعات الخاصة بك، وليس فقط الفرع الرئيسي، لمنع التنفيذ المحتمل في الفروع الأخرى.
-
قم بتدوير أي أسرار مسربة في أسرع وقت ممكن. سيؤدي حذف سير العمل ذي الصلة أيضًا إلى إزالة جميع السجلات، مما قد يمنع المزيد من كشف الأسرار. ومع ذلك، يوصى أيضًا بتنزيل سجلات سير العمل من نافذة العرض قبل حذف أي شيء.
-
كما أوصى GitHub، قم بتثبيت جميع إجراءات GitHub على تجزئات التزام محددة بدلاً من علامات الإصدار للتخفيف من هجمات سلسلة التوريد المستقبلية.
-
يتم تشغيل تدقيق سير العمل السابق بحثًا عن نشاط مشبوه. تحقق من السجلات بحثًا عن طلبات الشبكة الصادرة غير العادية، وأعط الأولوية لمراجعة المستودعات حيث يمكن الوصول إلى سجلات مشغل CI بشكل عام، حيث قد يتم الكشف عن الأسرار في السجلات.
-
استخدم ميزة قائمة السماح في GitHub لمنع تشغيل إجراءات GitHub غير المصرح بها وتكوين GitHub للسماح بالإجراءات الموثوقة فقط.
-
يمكن لعملاء Wiz Code المزودين بموصل GitHub استخدام عناصر التحكم التي تم إنشاؤها في مستودعات التعليمات البرمجية المتأثرة لاكتشاف وجود الإجراءات المخترقة. بالإضافة إلى ذلك، تم إنشاء اكتشاف الثغرات الأمنية لتحديد أي مثيلات لـ CVE-2025-30066 في بيئتك.
-
يمكن لعملاء Wiz Sensor الذين لديهم جهاز استشعار منتشر على أحمال عمل CI اكتشاف الأنشطة الضارة المرتبطة بهذا الهجوم، مثل تفريغ ذاكرة العملية ونشر البرنامج النصي (انظر لقطة الشاشة أدناه التي توضح اكتشاف محاكاة هجوم جيمس بيرثوتي).
-
تتم حماية عملاء Wiz Defend الذين تم تمكين سجلات تدقيق GitHub لهم من الأنشطة الضارة الثانوية المحتملة التي يتم تسهيلها من خلال إساءة استخدام أي بيانات اعتماد مخترقة، مثل حذف سجل سير العمل أو عمليات الدمج التي يقوم بها مستخدم روبوت غير عادي.
-
يمكن لعملاء Wiz أيضًا الرجوع إلى تقرير Threat Intel Center بشأن هذا الهجوم، والذي يتضمن إمكانات إضافية وسيتم تحديثها عند إضافة إمكانات جديدة.
