سرقة رمز الوصول في SpotBugs هي السبب الجذري لهجوم سلسلة التوريد على GitHub

تم تتبع سلسلة هجمات سلسلة التوريد المتصاعدة، التي بدأت باستهداف شركة Coinbase قبل أن تنتشر لتصل إلى مستخدمي GitHub Action الشهير “tj-actions/changed-files“، إلى سرقة رمز وصول شخصي (PAT) مرتبط بمشروع SpotBugs مفتوح المصدر.

وقالت وحدة الأبحاث الأمنية “Unit 42” التابعة لشركة Palo Alto Networks في تحديث جديد:

“استغل المهاجمون سير عمل GitHub Actions الخاص بمشروع SpotBugs – وهو أداة مفتوحة المصدر شائعة لتحليل الأكواد الثابت – ما أتاح لهم التحرك أفقيًا بين مستودعات SpotBugs إلى أن حصلوا على وصول إلى مشروع reviewdog.”

تشير الأدلة إلى أن النشاط الخبيث بدأ في أواخر نوفمبر 2024، رغم أن الهجوم على Coinbase لم يحدث حتى مارس 2025.


تفاصيل الاختراق الأمني في GitHub

أوضحت “Unit 42” أن التحقيق بدأ بعد اكتشاف تسريب رمز PAT خاص بمسؤول مشروع reviewdog، ما مكن المهاجمين من رفع إصدار خبيث من الحزمة “reviewdog/action-setup”. وبسبب اعتماد مشروع “tj-actions/eslint-changed-files” على هذه الحزمة، تم سحب الإصدار الخبيث تلقائيًا.

في تطور لاحق، تبيّن أن المسؤول ذاته كان مشاركًا نشطًا في مشروع SpotBugs أيضًا.

المهاجمون استغلوا هذا الأمر لرفع ملف Workflow خبيث في مستودع “spotbugs/spotbugs” باستخدام اسم مستخدم مزيف “jurkaofavak”، ما تسبب في تسريب رمز PAT الخاص بالمسؤول عند تنفيذ سير العمل.

يُعتقد أن الرمز ذاته أتاح الوصول إلى مشروعي “spotbugs/spotbugs” و”reviewdog/action-setup”، ما مكن المهاجمين من تلويث سلسلة التوريد الخاصة بـ GitHub.


كيف حصل المهاجم على صلاحية الكتابة في SpotBugs؟

وفقًا للتحقيق، تبين أن المستخدم الخبيث “jurkaofavak” حصل على دعوة عضوية رسمية في مستودع SpotBugs من قبل أحد مسؤولي المشروع بتاريخ 11 مارس 2025.

وذكرت “Unit 42”:

“تمكن المهاجم من إنشاء فرع في المستودع والوصول إلى أسرار CI (التكامل المستمر)، باستخدام صلاحيات الكتابة التي حصل عليها عبر الدعوة.”

وقد تم تنفيذ الهجوم الأولي عبر إنشاء Fork خبيث لمستودع “spotbugs/sonar-findbugs” تحت اسم مستخدم آخر “randolzfow”، ثم إرسال طلب دمج (Pull Request) يحتوي على كود خبيث.


استغلال GitHub Actions عبر pull_request_target

في 28 نوفمبر 2024، عدّل مسؤول SpotBugs سير العمل الخاص بـ GitHub Actions ليستخدم رمز PAT الخاص به شخصيًا لحل مشاكل في بيئة CI/CD.

لاحقًا، في 6 ديسمبر 2024، قدم المهاجم طلب دمج خبيث استغل مشغل GitHub “pull_request_target”، الذي يسمح بتشغيل الأكواد من الـ forks مع صلاحيات الوصول إلى الأسرار – وهو ما أدى إلى تنفيذ هجوم pipeline مسموم (PPE) وتسريب الرمز.

وقد أكد المسؤول لاحقًا أن نفس الرمز الذي تم استخدامه في سير العمل هو الذي تم استخدامه لدعوة المهاجم إلى المستودع الرئيسي، وتم بالفعل تدوير جميع الرموز والـ PATs لمنع أي اختراقات مستقبلية.


ما الذي يثير القلق؟

من المثير للشك أن هناك فجوة زمنية لمدة 3 أشهر بين تسريب رمز SpotBugs واستخدامه الفعلي في الهجوم، ما يشير إلى أن المهاجمين كانوا يراقبون عن كثب المشاريع المعتمدة على “tj-actions/changed-files”، في انتظار فرصة لاستهداف جهة ذات قيمة عالية مثل Coinbase.

وتساءل باحثو Unit 42:

“بعد كل هذا الاستثمار والتخطيط، لماذا كشف المهاجمون عن أنفسهم بطباعة الأسرار في السجلات؟ هل كانت هذه خطأ أم خطوة محسوبة؟”


خاتمة وتحذير أمني

هذا الحادث يسلط الضوء على مدى هشاشة سلاسل التوريد البرمجية المفتوحة المصدر، ومدى خطورة الاعتماد على الرموز الشخصية في بيئات التكامل المستمر، خاصةً عند استخدام مشغلات مثل pull_request_target.

التوصية الأمنية: يجب على المطورين مراجعة إعدادات GitHub Actions، واستخدام رموز وصول مؤقتة أو محدودة الصلاحية، وتجنب استخدام رموز شخصية داخل سير العمل العام.

محمد طاهر
محمد طاهر
المقالات: 176

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *


The reCAPTCHA verification period has expired. Please reload the page.