دومينو سلسلة التوريد: تخريب TeamPCP المتواصل لـ LiteLLM في بايثون يهزّ ثقة المطورين
العنوان الفرعي: حملة باب خلفي متطورة تستغل سلاسل توريد البرمجيات، كاشفةً آلاف البيئات عبر اختراقات متسلسلة.
بدأ الأمر بهدوء، كما تفعل معظم الخيانات الرقمية. مطورون حول العالم، يثقون بأدوات المصدر المفتوح التي تشكل العمود الفقري للبرمجيات الحديثة، أدخلوا دون أن يدروا متسللًا إلى أنظمتهم. الجاني: نسخة ملوثة من LiteLLM، وهي مكتبة بايثون شائعة. المُدبّر: TeamPCP، جهة تهديد غامضة تتزايد قائمة ضرباتها البارزة. خطوتهم الأخيرة؟ هجوم محسوب على الثقة ذاتها التي تقوم عليها سلسلة توريد المصدر المفتوح، مستفيدين من اختراق في خط CI/CD الخاص بـ Trivy لإشعال تفاعلٍ متسلسل من الخروقات.
وفقًا لتحقيقات Endor Labs وJFrog، تكشّف الهجوم عبر ثلاث مراحل مميزة. أولًا، قام جامعٌ خفي لبيانات الاعتماد بالتقاط مفاتيح SSH وبيانات اعتماد السحابة وأسرار Kubernetes ومحافظ العملات المشفرة وملفات الإعداد الحساسة. ثم نُشرت أداة حركة جانبية في Kubernetes عبر تشغيل حاويات (pods) ذات امتيازات على مستوى العنقود، ما مكّن المهاجمين من التغلغل أعمق داخل بيئات الضحايا. وأخيرًا، باب خلفي دائم متنكر في هيئة خدمة systemd كان يتصل بخوادمه كل 50 دقيقة، مستعدًا لتنزيل حمولات خبيثة إضافية.
إن البراعة التقنية في حملة TeamPCP مثيرة للذعر. ففي الإصدار 1.82.7، كانت الشيفرة الخبيثة كامنة في ملف أساسي من LiteLLM، وتُفعَّل عند استيراد الوحدة - من دون أي إجراء من المستخدم. أما الإصدار 1.82.8 فقد قدّم خدعة أكثر عدوانية: ملف Python بامتداد .pth ينفّذ الحمولات تلقائيًا عند بدء كل عملية بايثون، بما يضمن عمل البرمجية الخبيثة في الخلفية حتى إن لم يُستدعَ LiteLLM مباشرة. وقد أتاح ذلك للباب الخلفي مراقبة الأنظمة المصابة والتحكم بها بشكل دائم، مع تفادي الكشف السهل.
وكانت عملية التهريب بنفس القدر من التعقيد. جُمعت الأسرار في أرشيفات مشفرة وأُرسلت إلى بنية تحتية للمهاجمين متنكرة كأنها نقاط نهاية سحابية شرعية. كما أن آلية الاستمرارية عبر systemd، المستعارة من اختراقات Trivy السابقة، مكّنت من وصول مستمر ونشر سريع لهجمات المرحلة الثانية عبر أوامر عن بُعد. ويكشف مفتاح قتل غريب - يتوقف إذا تم اكتشاف نطاق معين - عن نهج محسوب للمراوغة والأمن التشغيلي.
ما يميز هذه الموجة من الهجمات هو تأثيرها المتدحرج. فحصول TeamPCP على وصول إلى أداة واحدة في سلسلة التوريد (Trivy) أتاح اختراق أداة أخرى (LiteLLM)، والذي بدوره فتح بيانات اعتماد لمزيد من الضحايا. وقد استعرض المهاجمون نجاحهم، ساخرين من مزودي الأمن على تيليغرام ومتوعدين بمزيد من الفوضى عبر شراكات جديدة وتوسيع استهداف بنية المطورين التحتية. وكما لاحظ Gal Nagli من Wiz، فإن الصناعة باتت الآن «عالقة في حلقة»، حيث يمهّد كل خرق الطريق للذي يليه.
وبينما يهرع المدافعون، تبدو الإجراءات الموصى بها واضحة: تدقيق الإصدارات المتأثرة من LiteLLM، عزل المضيفين المخترقين، فحص عناقيد Kubernetes بحثًا عن حاويات شاردة، مراجعة سجلات الشبكة لرصد حركة مرور مريبة، وتدوير جميع الأسرار. ومع ذلك، فالدرس الأوسع مُقلق - عندما تتآكل الثقة في الأدوات التأسيسية، تتأرجح سلسلة توريد البرمجيات بأكملها على حافة الهاوية.
حملة TeamPCP إنذار صارخ: ترابط منظومات المصدر المفتوح هو في آنٍ واحد مصدر قوتها وكعب أخيلها. ومع استغلال المهاجمين لهذه الروابط، لا يمكن إلا لدفاع يقظ وجماعي أن يأمل في إبطاء سقوط قطع الدومينو أكثر.
WIKICROOK
- خط CI/CD: يقوم خط CI/CD بأتمتة اختبار الشيفرة ونشرها، ما يمكّن المطورين من تقديم تحديثات برمجية بسرعة وموثوقية وبأخطاء أقل.
- PyPI: PyPI هو المستودع الرئيسي على الإنترنت لحزم برمجيات بايثون، ما يتيح للمطورين مشاركة شيفرة بايثون وتنزيلها وإدارتها بسهولة.
- Kubernetes: Kubernetes برمجية مفتوحة المصدر تؤتمت نشر التطبيقات وتوسيعها وإدارتها، ما يجعل تشغيل الأنظمة بموثوقية أسهل للشركات.
- Systemd: systemd هو نظام تهيئة (init) ومدير خدمات حديث في لينكس، يستبدل أنظمة التهيئة الأقدم لتحسين سرعة الإقلاع وإدارة العمليات والتحكم بالخدمات.
- ملف .pth: تقوم ملفات .pth بتهيئة بيئات بايثون ويمكنها تشغيل شيفرة عند بدء المفسّر، وهو ما قد يُساء استخدامه للاستمرارية إذا لم يُؤمَّن بشكل صحيح.