مفتاح مسرّب منذ مايو يقود لاختراق حزمة LiteLLM على PyPI
مفتاح رئيسي لمنصة الوكلاء لدى LiteLLM بقي صالحاً خمسة أشهر بعد تسريبه في مستودع عام، قبل أن يستخدمه مهاجم في 10 أكتوبر 2026 للوصول إلى المنصة وسرقة رمز OAuth لـGitHub. وقال أوليفر جنسن وماتيو وانغ من LiteLLM إن الخطأ رُصد سريعاً وأُلغيت مفاتيح أخرى، لكن إلغاء المفتاح الرئيسي لم يحدث.
· نُشر أصلاً على ontime+ · آخر تحقق: 24 أكتوبر 2026 (Tamara khadrah)

أبرز النقاط
- LiteLLM: مفتاح رئيسي نُشر خطأ في مايو 2026 ولم يُلغَ استُخدم لاختراق منصتها
- المهاجم سرق رمز GitHub بصلاحيات مالك المؤسسة ونشر إصدار 1.107.0 الخبيث
- الحزمة تُنفَّذ تلقائياً عند تشغيل بايثون حتى دون استيرادها، ما يوسّع دائرة الضرر
خبر:
مفتاح رئيسي لمنصة الوكلاء لدى LiteLLM بقي صالحاً خمسة أشهر بعد تسريبه في مستودع عام، قبل أن يستخدمه مهاجم في 10 أكتوبر 2026 للوصول إلى المنصة وسرقة رمز OAuth لـGitHub. وقال أوليفر جنسن وماتيو وانغ من LiteLLM إن الخطأ رُصد سريعاً وأُلغيت مفاتيح أخرى، لكن إلغاء المفتاح الرئيسي لم يحدث.
تفصيل:
- أصل التسريب: بحسب LiteLLM، أُضيف في 27 مايو 2026 ملف إعدادات إلى مستودع LiteLLM-Labs/lite-harness العام تضمّن سهواً المفتاح الرئيسي لنشر منصة الوكلاء المفتوحة المصدر التي تستخدمها الشركة لتنسيق عمل الوكلاء. جرى التراجع عن الالتزام بالدفع القسري، وصُنّفت المفاتيح المكشوفة ضمن ما يستوجب الإلغاء.
- الرمز المسروق: قال المطوّرون إن المهاجم، الذي عمل من العنوان 69.48.229.143، استخرج رمز OAuth الخاص بأداة GitHub CLI المهيأة لتمكين الوكلاء السحابية من فتح طلبات دمج. الرمز لم يكن مقيّد الصلاحيات وكان مرتبطاً بحساب مالك المؤسسة، ما منح المهاجم وصولاً بمستوى المالك إلى كل المستودعات.
- حصاد الأسرار: أفادت Socket أن المهاجم أضاف في 10 و12 أكتوبر سير عمل باسم cache.yml عبر فرعين مؤقتين بصيغة ci-tmp أُنشئا وحُذفا خلال دقائق. وقال الباحث كارلو زانكي إن النشاط لا يترك أثراً يُذكر في سجل المستودع الاعتيادي لأن الفرعين لم يعودا موجودين.
- اتساع السرقة: وفق Socket، جمعت العملية رموز GitHub ومفاتيح Linear وTogether AI ومعرّف تطبيق GitHub ومفتاح توقيعه، ثم وسّع تشغيل 12 أكتوبر النطاق إلى مفاتيح Anthropic وOpenAI وAWS Bedrock وTavily وGitGuardian، إضافة إلى بيانات PostgreSQL وRedis وحالة جلسة متصفح Playwright.
- تجاوز الحماية: قالت LiteLLM إن المهاجم تجاوز في 21 أكتوبر حماية الفروع وغيّر مصدر خط الإصدار إلى مستودع مشابه الاسم هو Berri-AI/litellm بدلاً من BerriAI/litellm، ثم نشر الإصدار 1.107.0 على PyPI عند الساعة 11:39، تلته صور Docker Hub وGHCR عند 11:46.
- الثغرة الإجرائية: أوضحت الشركة أن الإصدار يتطلب عادة إطلاقاً من مهندس مخوّل وموافقة حساب مرتبط بجهاز مادي في مكتبها، لكن القيد خُفّف قبل أيام لتسريع وتيرة الإصدارات، فصار بإمكان أي مهندسَين إطلاق الإصدار وإقراره. واستخدم المهاجم رمزاً للإطلاق وآخر للموافقة.
- الاكتشاف والاحتواء: بحسب التسلسل الزمني، حُذفت سجلات التشغيل الإنتاجي والتجريبي عند 11:53، وأبلغ الباحث ليدور ماكلوف من Upwind عن هجوم سلسلة التوريد عند 12:06، ثم عزلت PyPI الإصدار 1.107.0 عند 13:23، وأُزيلت وسوم Docker Hub أو أُعيد توجيهها إلى صور نظيفة عند 14:20.
- ما تفعله الحزمة: أفادت تقارير متعددة بأن ملفات الإصدار 1.107.0 تُنفَّذ تلقائياً عند بدء تشغيل بايثون. وقال فريق أبحاث الأمن في مايكروسوفت إن مجرد تشغيل بايثون في بيئة مصابة يكفي لتنشيط الشيفرة، وإن حذف ملفات التطبيق وحده قد يُبقي مكوّنات بدء التشغيل الخبيثة.
- وظائف البرمجية: للبرمجية مساران: وحدة لسرقة بيانات الاعتماد من أدوات التطوير وتطبيقات الذكاء الاصطناعي والبيئات السحابية والمتصفحات، وباب خلفي لأنظمة يونكس يجلب شيفرة يحددها المهاجم وينفذها كل ساعة. وتُرسَل البيانات المضغوطة إلى نطاق litellm.dev المسجَّل في 13 أكتوبر 2026.
- تصحيح الفرضية: أسقط التحقيق فرضية LiteLLM الأولى بأن رموز GitHub CLI سُرقت من سجلات نشر داخلي. وقال جنسن إن بعض الافتراضات تبيّن لاحقاً أنها غير دقيقة أو ناقصة، وإن الشركة تعمل على إلغاء كل الرموز المرتبطة بأنظمتها الداخلية ومنصات مورديها.
خلفية:
LiteLLM بوابة مفتوحة المصدر لنماذج اللغة الكبيرة، تُستخدم لتوجيه الطلبات بين مزودي الذكاء الاصطناعي، وتُوزَّع عبر PyPI وصور Docker، ما يجعل أي إصدار خبيث منها قابلاً للانتشار داخل بيئات تطوير كثيرة دفعة واحدة.
بين السطور:
الخرق لم ينشأ من ثغرة تقنية بل من إجراء ناقص: مفتاح عُرف أنه مكشوف وصُنّف للإلغاء لكنه بقي صالحاً خمسة أشهر. وقالت LiteLLM إن المهاجم كان قادراً بصلاحيات المالك على إزالة قيد الموافقة المزدوجة لكنه لم يفعل، ويُرجَّح أن ذلك كان تفادياً للكشف. وتخفيف القيد قبل أيام لتسريع الإصدارات هو ما أتاح المسار الذي سلكه فعلاً.
ماذا بعد؟
متابعة نتائج إلغاء LiteLLM لكل الرموز المرتبطة بأنظمتها ومورديها، وأي تقارير لاحقة عن استخدام المفاتيح المسروقة لـAnthropic وOpenAI وAWS Bedrock، وتحديثات PyPI وDocker Hub بشأن الإصدارات المعزولة.