هجوم سلسلة التوريد المتتالية بدأ مع حل وسط “reviewdog/action-setup@v1” يُعتقد أن عمل جيثب قد أدى إلى خرق حديث لـ “tj-actions/changed-files” التي تسربت أسرار CI/CD.
الأسبوع الماضي ، أ”https://www.bleepingcomputer.com/news/security/supply-chain-attack-on-popular-github-action-exposes-ci-cd-secrets/” الهدف=”_blank” rel=”nofollow noopener”> هجوم سلسلة التوريد على TJ-Actions/ملفات تم تغييرها تسبب عمل GitHub في كتابة كود ضار في كتابة أسرار CI/CD إلى سجلات سير العمل لـ 23000 مستودع. إذا كانت هذه السجلات عامة ، لكان المهاجم قادرًا على سرقة الأسرار.
لا يمكن لمطوري TJ-Actions تحديد كيفية تعرض المهاجمين بالضبط إلى رمز الوصول الشخصي لـ GitHub (PAT) الذي يستخدمه الروبوت لإجراء تغييرات رمز ضار.
اليوم ، يعتقد الباحثون Wiz أنهم قد عثروا على الإجابة في شكل هجمات سلسلة التوريد المتتالية التي بدأت بعملة GitHub أخرى تسمى “ReviewDog/Action-Setup”.
تقارير شركة الأمن السيبراني أن المهاجمين قد قاموا أولاً بمسح علامة V1 لـ ReviewDog/Action-Setup Github Action وضخوا رمزًا مشابهًا لتفريغ أسرار CI/CD لتسجيل الملفات.
نظرًا لاستخدام TJ-Actions/eSlint-changed-files الإجراء المراجعة/الإجراء ، يُعتقد أن الإجراء المخترق قد تم استخدامه لتفريغ رمز الوصول الشخصي لـ TJ-action وسرقةه.
“We believe that it is likely the compromise of reviewdog/action-setup is the root cause of the compromise of the tj-actions-bot PAT,” يشرح Wiz في التقرير.
“tj-actions/eslint-changed-files uses reviewdog/action-setup@v1, and the tj-actions/changed-files repository runs this tj-actions/eslint-changed-files Action with a Personal Access Token.”
“The reviewdog Action was compromised during roughly the same time window as the tj-actions PAT compromise.”
أدخل المهاجمون حمولة BASE64 المشفرة في التثبيت.
كما في حالة تمثيل TJ ، ستكون الأسرار المكشوفة مرئية على المستودعات العامة كجزء من سجلات سير العمل.
المصدر: Wiz
بصرف النظر عن علامة المراجعة/العمل@V1 الذي تم تأكيده على أنه تم خرقه ، قد تتأثر الإجراءات التالية أيضًا:
- ReviewDog/Action-Shellcheck
- ReviewDog/Action-Composite-Template
- ReviewDog/Action-StaticCheck
- ReviewDog/Action-act-dep
- ReviewDog/Action-Typos
يوضح Wiz أن خرق الأمن في ReviewDog تم علاجها بالمناسبة ، لكنهم أبلغوا الفريق وجيثوب عن النتائج التي توصلوا إليها منع التكرار.
على الرغم من أن الطريقة الدقيقة للخرق لم يتم تحديدها ، إلا أن تعليقات Wiz التي تحافظ على قاعدة مساهمين كبيرة وتقبل أعضاء جدد عبر الدعوات الآلية ، مما يرفع المخاطر بشكل طبيعي.
والجدير بالذكر أنه إذا ظل الإجراء معرضًا للخطر ، فسيكون هجوم متكرر على تمثيل TJ/ملفات تم تغييره مع نتيجة ناجحة ممكنًا من الناحية العملية ، مما قد يعرض أسرار CI/CD المدورة.
التوصيات
يقترح Wiz أن المشاريع التي يمكن أن تتأثر”https://github.com/search?q=org%3A%3Cyourorg%3E+%28reviewdog%2Faction-setup%40v1+OR+reviewdog%2Faction-shellcheck+OR+reviewdog%2Faction-composite-template+OR+reviewdog%2Faction-staticcheck+OR+reviewdog%2Faction-ast-grep+OR+reviewdog%2Faction-typos%29+AND+secrets.+language%3Ayaml+path%3A%2F%5E%5C.github%5C%2Fworkflows%5C%2F%2F&type=code” الهدف=”_blank” rel=”nofollow noopener”> هذا الاستعلام github للتحقق من وجود مراجع إلى ReviewDog/Action-Setup@V1 في المستودعات.
إذا تم العثور على حمامات BASE64 ذات الترميز المزدوج في سجلات سير العمل ، فيجب اعتبار ذلك تأكيدًا تم تسريب أسرارها.
يجب على المطورين إزالة جميع المراجع على الفور إلى الإجراءات المتأثرة عبر الفروع ، وحذف سجلات سير العمل ، وتدوير أي أسرار محتملة.
لمنع حدوث تنازلات مماثلة في المستقبل ، قم بتجميع إجراءات github لارتكاب تجزئة بدلاً من علامات الإصدار واستخدام ميزة إدراج Github لتقييد الإجراءات غير المصرح بها.
لا بد أن يكون لهجمات سلسلة التوريد وأسرار CI/CD التي تم تسريبها تأثير دائم على المشاريع المتأثرة ، لذلك هناك حاجة إلى إجراء سريع للتخفيف من المخاطر.