اختراق GitHub Action يعرّض أسرار CI/CD للخطر في أكثر من 23,000 مستودع

سلّط باحثو الأمن السيبراني الضوء على حادثة خطيرة تم فيها اختراق GitHub Action الشهير tj-actions/changed-files، مما أدى إلى تسريب أسرار المستودعات التي تستخدم تدفقات العمل الخاصة بالتكامل والتسليم المستمر (CI/CD).

تفاصيل الاختراق

تم استخدام tj-actions/changed-files، الذي يوجد في أكثر من 23,000 مستودع، لتعقب واسترداد الملفات والمجلدات التي تم تغييرها. وقد تم تصنيف هذا الاختراق ضمن CVE-2025-30066 بدرجة خطورة 8.6 وفقًا لنظام CVSS، ويُعتقد أنه وقع قبل 14 مارس 2025.

آلية الهجوم

وفقًا لتقرير StepSecurity:

🔹 قام المهاجمون بتعديل كود الـ Action وتحديث علامات الإصدار (Version Tags) للإشارة إلى الالتزام (commit) الضار.
🔹 تسبّب هذا التغيير في طباعة أسرار CI/CD داخل سجلات بناء GitHub Actions.
🔹 إذا كانت هذه السجلات متاحة للجمهور، فقد يؤدي ذلك إلى الكشف غير المصرح به عن بيانات حساسة.

الأسرار المعرضة للخطر

يتضمن ذلك:

✅ مفاتيح الوصول إلى AWS
✅ رموز الوصول الشخصية لـ GitHub (PATs)
✅ رموز npm
✅ مفاتيح RSA الخاصة

لكن حتى الآن، لا يوجد دليل على أنه تم نقل هذه البيانات إلى بنية تحتية خاضعة لسيطرة المهاجمين.

كيف تم تنفيذ الاختراق؟

🔸 تم إدراج كود ضار يقوم بتشغيل سكريبت Python مستضاف على GitHub Gist.
🔸 يقوم هذا السكريبت بتفريغ أسرار CI/CD من عملية Runner Worker.
🔸 نشأ هذا الهجوم من التزام غير موثوق به، وتمت إزالة GitHub Gist لاحقًا.

كيف أثر الاختراق على سير العمل؟

يتم استخدام tj-actions/changed-files في خطوط تطوير البرمجيات داخل المؤسسات، مما يساعد على اكتشاف التغييرات في الملفات بالمستودعات. بعد مراجعة الكود، يتم دمجه في الفرع الرئيسي، ثم يتم استخدام خطوط CI/CD لبناء التطبيق ونشره.

لكن مع الاختراق، أصبح الكود الضار يُنفّذ داخل آلاف خطوط CI/CD، مما يعرّض البيانات للخطر.

كيف تم تنفيذ الاختراق؟

🔻 المهاجمون استولوا على رمز وصول شخصي (PAT) تابع لحساب البوت @tj-actions-bot، الذي يمتلك صلاحيات عالية على المستودع المخترق.
🔻 قام القائمون على المشروع باتخاذ إجراءات أمنية فورية:
✅ تحديث كلمة مرور الحساب
✅ ترقية المصادقة إلى استخدام Passkey
✅ تقليل الصلاحيات وفقًا لمبدأ الأقل امتيازًا
✅ إلغاء صلاحية رمز PAT المخترق

مستقبلاً، لن يتم استخدام أي PATs لمشاريع منظمة tj-actions لتجنب أي تكرار للمشكلة.

الإجراءات الوقائية للمستخدمين

🚨 إذا كنت تستخدم tj-actions/changed-files، يجب عليك:
✔️ التحديث إلى الإصدار 46.0.1 فورًا
✔️ مراجعة جميع عمليات تنفيذ سير العمل بين 14 و15 مارس 2025
✔️ البحث عن أي مخرجات غير متوقعة ضمن قسم changed-files

حادثة أمنية سابقة في نفس الـ Action

📌 في يناير 2024، كشف الباحث الأمني عدنان خان عن ثغرة خطيرة (CVE-2023-49291, CVSS: 9.8) داخل tj-actions/changed-files وtj-actions/branch-names، والتي كانت تسمح بتنفيذ أكواد عشوائية.


يؤكد هذا الهجوم مرة أخرى على المخاطر الكبيرة التي تواجه البرمجيات مفتوحة المصدر في سلاسل التوريد، حيث يمكن أن تؤدي أي ثغرة أمنية إلى تداعيات خطيرة على العديد من المستخدمين دفعة واحدة.

🔹 وفقًا لشركة Wiz للأمن السحابي:
🔹 “اعتبارًا من 15 مارس 2025، جميع إصدارات tj-actions/changed-files كانت متأثرة، حيث قام المهاجم بتحديث علامات الإصدارات للإشارة إلى الكود الضار.”
🔹 المستخدمون الذين استخدموا إصدارًا مثبتًا باستخدام هاش (hash-pinned version) لم يتأثروا إلا إذا قاموا بتحديث الإصدار أثناء فترة الهجوم.

🛑 هل تستخدم هذا الـ Action؟ تأكد من تحديثه الآن وفحص أي نشاط مشبوه في مستودعك!

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

اترك ردّاً

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


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