في عالم التطوير الحديث، أصبحت حزم npm شريانًا حيويًا لسلاسل البرمجيات: تعتمد عليها الفرق لبناء تطبيقاتها بسرعة، وتسمح لها بإعادة استخدام وظائف جاهزة دون إعادة اختراع العجلة. لكن ما كشفته فرق بحث أمنية مؤخرًا يذكّرنا بأن نفس البنية التي تسرّع الابتكار يمكن أن تتحول إلى مسار اختراق—عبر ما يسمى الهجوم عبر سلسلة الإمداد البرمجية (Software Supply Chain Attack).
تتعلق القصة بمجموعة حزم خبيثة استهدفت مستخدمي أدوات تطوير مرتبطة ببيئة علي بابا، مع توظيف حصان طروادة وصول عن بُعد (RAT) على أنظمة ويندوز ولينكس وماك أو إس. الأخطر أن الهجوم لم يكتفِ بتحميل حمولة واحدة، بل استخدم بنية متعددة الطبقات داخل شجرة الاعتماد (dependency tree)، بحيث تبدو بعض الحزم بريئة أو “مغلفة” لتضليل المراجعة البشرية والآلية.
ما الذي تم اكتشافه تحديدًا؟
وفقًا لتحليلات منشورة من باحثين، تم رصد حزم npm خبيثة ضمن مجموعة تستهدف بيئات تستخدم أدوات علي بابا. من أبرزها حزمة غير مُحاطة بنطاق (unscoped) باسم lib-mtop—وهي تتشابه في الاسم مع حزمة خاصة ضمن نطاق @ali لدى علي بابا. هذا التشابه ليس تفصيلًا شكليًا؛ بل هو جزء من استراتيجية التمويه والاصطناع لتجاوز توقعات المطور عند فحص الاعتماد.
بالإضافة إلى ذلك، عُثر على أن الحزمة نُشرت لأول مرة في نوفمبر 2023 دون وظائف واضحة، ثم ظهرت إصدارات جديدة في مارس وأبريل من العام نفسه (v1.0.1 وv1.0.2 وv1.0.3). هذا النمط—نشر “صامت” ثم تحديثات وظيفية متأخرة—يمثل علامة إنذار متكررة في هجمات سلسلة الإمداد: يمنح المهاجم الحزمة وقتًا لتندمج في العادات، ثم يفعّل الضرر عند ارتفاع فرص استخدامها.
كيف يعمل حمولة الوصول عن بُعد داخل شجرة الاعتماد؟
الملف الخبيث لم يكن موجودًا في حزمة واحدة فقط. بل تم تقسيم الوظيفة عبر عدة حزم تتواجد داخل نفس شجرة الاعتماد. الحزم “الواجهة” (lure packages) تعمل كطُعم: تبدو أنها حزم عامة أو أغلفة (wrappers) لحزم خاصة ضمن نطاقات علي بابا، لكنها عند التثبيت تقوم بتفعيل الاعتماد على طبقات أخرى تحتوي منطق التحميل والحقن.
من الناحية التقنية، أُدمج داخل بعض الطبقات loader يقوم بتحميل سكربت JavaScript عن بُعد ثم تنفيذه. ووفقًا للتحليل، تم استخدام أداة شبيهة بـ curl لجلب حمولة بعيدة. هذه الخطوة تعني أن حتى لو تم كشف الحزمة لاحقًا، فقد تكون الأجهزة قد تلقت حمولة أولية بالفعل.
لماذا استهداف المطورين بهذا الشكل مقلق؟
استهداف مطورين ليس جديدًا، لكنه يتغير. في الماضي، كان التركيز على سرقة كلمات المرور أو استغلال ثغرات مباشرة في التطبيقات. أما اليوم، فالمهاجمون يستهدفون منبع الثقة: بيئات التطوير، أدوات البناء، وأنظمة إدارة الحزم.
السبب بسيط وخطير: إذا تمكن المهاجم من اختراق جهاز مطوّر أو سير عمله (CI/CD أو بيئة npm)، فقد يصل إلى ما يلي:
- اعتمادات سحابية مثل مفاتيح AWS أو رموز Kubernetes أو أسرار CI.
- أذونات نشر (publishing secrets) أو القدرة على تعديل الحزم قبل وصولها للآخرين.
- حركة جانبية داخل المؤسسة، لأن أجهزة المطورين غالبًا متصلة بأنظمة داخلية وأدوات تعاون.
هذا ما يجعل الهجوم عبر سلسلة الإمداد أكثر من “اختراق لحاسب”: إنه محاولة لتخريب عملية إنتاج البرمجيات نفسها. وللتوضيح، حقن البرمجيات داخل مسار التبعية يعني أن الضرر قد ينتشر بصمت عبر مشاريع متعددة.
التمويه باسم علي بابا: كيف تُدار خدعة “المسار الآمن”؟
من النقاط التي لفتت الانتباه استخدام نطاق يبدو وكأنه تابع لعلي بابا—على نحو يلتف على أنظمة كشف تعتمد على قوائم “المعتدين” أو على تحليل السمعة. فحين يبدو المجال مألوفًا، قد تقل احتمالية إطلاق تنبيه مبكر.
بالإضافة إلى ذلك، تم استخدام منطق يعتمد على وحدة vm لتكييف التنفيذ النهائي حسب نظام الضحية. هذه التقنية تسمح بتشغيل حمولة بشكل أكثر مرونة، وتزيد من صعوبة التحليل الثابت (static analysis) لأن السلوك النهائي قد يتغير بحسب البيئة.
ماذا يحدث بعد التنفيذ؟ (ويندوز/لينكس/ماك أو إس)
التنفيذ النهائي لم يكن موحدًا؛ بل صُمم ليعمل بطرق مختلفة حسب النظام:
- على ويندوز: إنهاء تطبيقات مرتبطة بالأمن وإنتاجية العمل (بما في ذلك مكونات أمنية ومكونات عمل)، ثم استبدال جزء من الكود بنسخة مُطعّمة (trojanized).
- على لينكس: تنزيل حمولة ثنائية إلى مسار مؤقت مثل /tmp، تشغيلها كعملية منفصلة، ثم حذف الملف بعد تحميله في الذاكرة.
- على ماك أو إس: حقن سكربت خلفي داخل ملف إعدادات شيل (مثل ~/.zshrc) وإعداد Launch Agent للاستمرار لمدة 10 دقائق، وهو أسلوب يهدف لإعادة الإطلاق أو مواصلة النشاط.
ثم تأتي المرحلة الأكثر فتكًا: حمولة معقدة تتضمن تنفيذ أوامر، رفع وتنزيل ملفات، جمع معلومات عن المضيف، تجهيز (staging) للحمولات، وإمكانيات حركة جانبية داخل الشبكة. كما ذُكر وجود قدرة على الاستمرار عبر حقن أكواد خبيثة داخل تطبيقات تعاون مؤسسية شائعة.
مَن المستهدف؟ سيناريوهات “الاختراق الصناعي”
رغم أن عدد التنزيلات للحزم الخبيثة قد لا يبدو كبيرًا، فإن تأثيرها قد يكون واسعًا بسبب طبيعة الاستهداف. عندما تستهدف حملةٌ ما بيئات بعينها—مثل شركات مرتبطة بمجال علي بابا أو بيئات صينية اللغة—فإن نسبة الأجهزة المصابة قد تكون صغيرة لكن عائدها (ROI) قد يكون مرتفعًا.
يشير تحليل التعليقات باللغة الصينية داخل الكود، مع توقيتات التزامن المرتبطة بإعدادات UTC+08:00، إلى احتمال وجود جهة تهديد تتعامل بلغة صينية وتستهدف مطورين يستخدمون أدوات من نفس المنظومة. والنتيجة المتوقعة: تجسس صناعي أكثر من كونه “ابتزازًا عشوائيًا”.
قائمة الحزم المرتبطة بالحملة ولماذا تهمك
ذُكرت مجموعة حزم ضمن نفس خط الهجوم، منها:
- lib-mtop
- aone-kit
- aone-kit-cli
- aone-sandbox
- local-config-parser
- smart-config-manager
- cloud-config-fetcher
- fast-transform-pipeline
- aone-cloud-cli
- colder-cli
- def-open-client
- feedback-ai-sdk
- flight-compare-analyzer
- lwp-web-client
- lzd-unified-station-sdk
- open-worker-cli
- test-skill-zip
- uniapi-bridge
الأهم ليس الاسم فقط، بل سلوك التثبيت داخل شجرة الاعتماد. مطور قد يظن أنه يستخدم حزمة “مساعدة” أو “مُحلّل إعدادات”، بينما تكون تلك الحزمة مجرد جسر لحمولة بعيدة.
الدرس الثاني: اختراقات ما وراء npm—من بايثون إلى سرقة مفاتيح
تزامنًا مع هذا النوع من الهجمات، تم الإبلاغ أيضًا عن حادثة مرتبطة بمكتبة بايثون mrmustard (0.7.4) الخاصة بحوسبة كمية فوتونية. في تلك الحالة، تم نشر نسخة مُسمومة لاستغلال آلية تنفيذ تعتمد على الاستيراد (import)، بهدف سرقة مفاتيح SSH وبيانات اعتماد سحابية (مثل AWS) وتكوينات Kubernetes، ثم exfiltration إلى خادم مهاجم.
ما يميز هذا النمط أنه لا ينتظر “تفاعلًا” من المستخدم. فمجرد استيراد المكتبة قد يشغّل السارق. هذا ينسجم مع اتجاه أوسع: الهجمات التي تستغل نقاط الثقة في بيئة التطوير بدلًا من استهداف المستخدم النهائي مباشرة.
كما ورد أن جهة تهديد استهدفت حسابًا رئيسيًا عبر اختراقه، ثم حاولت دفع نسخة خبيثة عبر الاستفادة من ثغرات في إعدادات CI أو من خلال الاستيلاء على أسرار النشر. هذه نقطة جوهرية: حتى لو كانت الحزم نفسها “تبدو” من مصدر موثوق، فإن سلسلة الثقة قد تكون مخترقة.
كيف تحمي مؤسستك؟ إجراءات عملية تتجاوز “فحص الاسم”
إذا كنت تستخدم حزم npm أو مكتبات خارجية في بيئة حساسة، فالتوصية ليست “تجنب الحزم” بشكل مطلق—لأن ذلك غير واقعي—بل بناء طبقات تحقق تقلل فرص نجاح سلسلة الإمداد.
خطوات فورية (خاصة للمؤسسات التي قد تكون استخدمت الحزم المذكورة)
- افترض الاختراق إن تم العثور على أي من الحزم ضمن مشاريعك، حتى لو لم تظهر أعراض واضحة.
- دوّر كلمات المرور والمفاتيح من جهاز نظيف، خصوصًا مفاتيح السحابة وبيانات CI وSSH.
- راجِع الأنظمة بحثًا عن سلوك غير طبيعي: اتصالات خروج غير مبررة، عمليات تشغيل من مسارات مؤقتة، أو حقن داخل تطبيقات تعاون.
- حدّث سياسات مراجعة التبعيات وفعّل فحص الحزم قبل التثبيت باستخدام أدوات تدقيق (تواقيع/تحقق) وسياسات “قفل الاعتماد” (lockfiles).
خطوات بنيوية (للوقاية على المدى المتوسط)
- تقييد الصلاحيات لأجهزة المطورين وبيئات البناء: قاعدة أقل امتياز (least privilege) لتقليل أثر حمولة RAT.
- تطبيق ضوابط سلسلة الإمداد عبر أطر مثل إرشادات تكامل البرمجيات من NIST، وتبنّي ممارسات فحص الاعتمادات ضمن بوابات CI.
- مراقبة سلوك الشبكة في بيئات التطوير: طلبات خروج غير معتادة، أو تنزيل سكربتات من نطاقات غير متوقعة.
- تدقيق حسابات النشر: حماية أسرار النشر، واستخدام آليات مصادقة قوية، ومراجعة وصول فرق التطوير إلى أنظمة CI.
على مستوى الامتثال، قد ترتبط هذه المخاطر بمتطلبات حماية البيانات وسلامة الأنظمة ضمن أطر تنظيمية مختلفة (بحسب الدولة والقطاع). لكن حتى دون الدخول في قانون بعينه، فإن “سلامة سلسلة الإمداد” أصبحت جزءًا من جوهر إدارة المخاطر الرقمية.
ما الذي يجب أن يقلقك أكثر: الحزم أم طريقة التفعيل؟
الرسالة الأهم من هذه الحوادث ليست أن “npm خطير” أو “المكتبات الخارجية سيئة”. الخطر الحقيقي هو القدرة على تحويل بيئة التطوير إلى قناة تنفيذ عبر اعتماد يبدو شرعيًا، ثم تحميل حمولة بعيدة وتكييفها حسب النظام.
وبينما قد تكون بعض الحزم قليلة الانتشار، فإن هجمات سلسلة الإمداد المصممة للتجسس الصناعي تستهدف قيمة عالية: الوصول إلى أسرار، نماذج، تكوينات، وأحيانًا نشر غير مشروع.
ختام: سؤال للنقاش
إذا كانت حمولة خبيثة قادرة على التحميل والتفعيل بمجرد تثبيت تبعية أو استيراد مكتبة، فهل تملك مؤسستك اليوم رؤية فعلية لسلسلة الثقة من “مصدر الحزمة” إلى “وقت تنفيذ الكود” داخل بيئات التطوير؟ وما هي آخر مرة راجعت فيها سياساتك للتعامل مع الاعتمادات—ليس من منظور البرمجة فقط، بل من منظور الدفاع السيبراني بالكامل؟
شاركنا رأيك: ما أكثر نقطة ضعف تراها شائعة في مؤسساتكم—إدارة صلاحيات المطورين، أو ضوابط CI، أو غياب مراقبة سلوك الشبكة داخل بيئات البناء؟
وسوم مقترحة: #سلسلة_الإمداد #تأمين_التبعيات #الهجمات_الموجهة #اختراق_المطورين
مصادر للمراجعة:
Wikipedia: Remote access trojan,
Wikipedia: Software supply chain attack,
NIST: Software Integrity.






Leave a Reply