كشفت عدة شركات أمنية عن تعرض حزمة بايثون الشهيرة LiteLLM لهجوم خطير على سلسلة التوريد البرمجية (Supply Chain Attack)، أسفر عن نشر إصدار خبيث يتضمن برنامجاً لسرقة بيانات الاعتماد وباباً خلفياً قادراً على تنفيذ تعليمات برمجية عن بُعد. واستهدف الهجوم الإصدار 1.107.0 من الحزمة، الذي جرى توزيعه عبر مستودع PyPI وصور Docker الرسمية قبل اكتشافه وإزالته.
ماذا حدث؟
بحسب التصريحات الصادرة عن فريق LiteLLM، فإن المهاجم تمكن من استغلال حسابات GitHub خاصة بعدد من المهندسين المشاركين في المشروع، ويُعتقد أن ذلك تم من خلال سرقة رموز مصادقة (OAuth Tokens) مرتبطة بأداة GitHub CLI. وقد استخدم المهاجم هذه الحسابات لتفعيل عملية النشر الرسمية والموافقة على الإصدار المصاب، ما سمح بانتشار النسخة الخبيثة وكأنها إصدار شرعي بالكامل.
وأوضح الفريق أن جميع الرموز المتأثرة أُبطلت فوراً، كما جرى تقليص صلاحيات الوصول داخل المنظمة إلى حين انتهاء التحقيقات الجارية لمعرفة كيفية حصول المهاجم على تلك الرموز.
ما الإصدارات المتأثرة؟
الهجوم طال الإصدار:
وشمل عدداً من الحزم الثنائية (Wheels) الخاصة بأنظمة:
- Windows
- Linux x86_64
- Linux ARM64
- macOS Intel
- macOS Apple Silicon
كما تأثر ملف المصدر:
حيث احتوى على ملف بناء معدل رغم عدم احتوائه على الحمولة الخبيثة الكاملة الموجودة في الحزم الثنائية.
كيف تعمل البرمجية الخبيثة؟
أظهرت التحليلات أن الحزمة المصابة احتوت على حمولتين أساسيتين:
1. برنامج سرقة بيانات الاعتماد
أطلقت عليه بعض فرق التحليل اسم:
ويعمل على جمع كمية كبيرة من البيانات الحساسة من الجهاز المصاب، بما في ذلك:
- مفاتيح SSH الخاصة.
- بيانات الاعتماد السحابية.
- حسابات المطورين.
- ملفات اعتماد أدوات الذكاء الاصطناعي.
- متغيرات البيئة (Environment Variables).
- بيانات متصفحات Chromium وFirefox.
2. باب خلفي دائم (Backdoor)
تقوم الحمولة الثانية بإنشاء عملية خلفية تعمل بصورة دورية وتتحقق من وجود أوامر جديدة مخزنة عبر مستودع GitHub يستخدم كنقطة إسقاط للأوامر (Dead Drop)، ثم تنفذ أي تعليمات برمجية جديدة يرسلها المهاجم لاحقاً.
التنفيذ يبدأ قبل استيراد LiteLLM
من أخطر جوانب الحادث أن البرمجية الخبيثة لا تنتظر استدعاء مكتبة LiteLLM داخل التطبيق.
فقد اعتمد المهاجم على ملف:
الذي يحتوي على الأمر:
وتقوم ملفات PTH في بيئة Python بتنفيذ التعليمات البرمجية تلقائياً عند بدء تشغيل المفسر (Python Interpreter)، ما يعني أن الإصابة تبدأ حتى قبل أن يستخدم المطور مكتبة LiteLLM فعلياً داخل مشروعه.
ما البيانات التي سُرقت؟
وفقاً للتحليل المنشور، استهدف المهاجم بصورة خاصة البيئات المرتبطة بالذكاء الاصطناعي والتطوير السحابي، حيث حاول جمع:
- مفاتيح AWS وAzure وGCP.
- ملفات اعتماد OpenAI وخدمات الذكاء الاصطناعي الأخرى.
- بيانات وكلاء LiteLLM.
- إعدادات النماذج المستخدمة.
- رموز الوصول الخاصة بالمطورين.
- المحتويات الحساسة لمتغيرات البيئة.
وبعد جمع البيانات، تُضغط داخل أرشيف GZIP/TAR ثم تُرسل إلى خادم خارجي تابع للمهاجم باستخدام طلبات HTTP.
تشابه مع هجوم سابق
لفت الباحثون إلى أن أسلوب التنفيذ عبر ملفات PTH يشبه بشكل كبير الأسلوب المستخدم في الهجمات السابقة التي استهدفت LiteLLM خلال حملة TeamPCP في وقت سابق من عام 2026، ما قد يشير إلى إعادة استخدام تقنيات أو خبرات مشابهة رغم عدم وجود تأكيد رسمي على العلاقة بين الحادثتين.
ما الذي يجب على المستخدمين فعله؟
إذا تم تثبيت الإصدار 1.107.0 في أي بيئة إنتاجية أو تطويرية، فإن الإجراءات العاجلة تشمل:
- إزالة الإصدار المتأثر فوراً.
- تثبيت إصدار موثوق مثل:
1.106.2
- تدوير جميع بيانات الاعتماد التي كانت موجودة على الجهاز.
- استبدال مفاتيح SSH والمفاتيح السحابية الحساسة.
- فحص سجلات الشبكة بحثاً عن عمليات نقل بيانات غير معتادة.
- مراجعة متغيرات البيئة وملفات التكوين الخاصة بخدمات الذكاء الاصطناعي.
- تنفيذ عملية الاستبدال من بيئة نظيفة غير مشتبه بإصابتها.
دلالات الحادث
تُعد هذه الحادثة مثالاً جديداً على تصاعد المخاطر التي تستهدف سلسلة توريد البرمجيات مفتوحة المصدر، خصوصاً في قطاع الذكاء الاصطناعي الذي يشهد نمواً سريعاً واعتماداً واسعاً على الحزم البرمجية الخارجية. كما تسلط الضوء على أن اختراق حسابات المطورين أو أنظمة النشر الرسمية قد يكون أكثر فاعلية للمهاجم من استهداف المستخدمين النهائيين مباشرة، إذ يمنحه القدرة على الوصول إلى آلاف المؤسسات عبر تحديث واحد يبدو شرعياً بالكامل.































