تأكيد وجود باب خلفي (Backdoor) كيسرق أسرار المطورين فثلاثة د النسخ من حزمة node-ipc على npm
Stealer Backdoor Found in 3 Node-IPC Versions Targeting Developer Secrets
تأكيد وجود باب خلفي (Backdoor) كيسرق أسرار المطورين فثلاثة د النسخ من حزمة node-ipc على npm
خلاصة القول — تأكد باللي كاينين ثلاثة ديال النسخ من حزمة npm المعروفة node-ipc (النسخ: 9.1.6، 9.2.3، 12.0.1) فيهم برمجية خبيثة مخفية (obfuscated) كتجمع 90 فئة ديال بيانات الاعتماد (credentials) الخاصة بالمطورين وأنظمة الكلاود، بحال مفاتيح AWS، بيانات SSH، توكنز ديال Kubernetes، وكلمات المرور ديال قواعد البيانات (databases). هاد الكود الخبيث تنشر من عند حساب ماعندو حتى تاريخ قديم مع هاد الحزمة، وكيستعمل طرق بزاف باش يصيفط البيانات المسروقة لسيرفر ديال التحكم والسيطرة (C2). خاص الشركات دابا يبدلو أي بيانات اعتماد (rotate credentials) ويراجعو الأنظمة ديالهم على أي نشاط غير مصرح بيه.
شنو وقع
شركة Socket و StepSecurity لقاو ثلاثة ديال النسخ خبيثة من node-ipc تنشرات بحساب سميتو "atiertant"، واللي ماعندو حتى علاقة مع المطور (maintainer) الأصلي "riaevangelist". آخر تحديث شرعي لهاد الحزمة كان فغشت 2024، وهذا كيعني باللي داز 21 شهر قبل ماتبان هاد النسخ المخترقة.
الحمولة (payload) ماكتعتمدش على الـ lifecycle hooks ديال npm بحال (preinstall, install, postinstall). فبلاصت هادشي، كتزيد دالة من نوع IIFE (Immediately Invoked Function Expression) فاللخر ديال الدوسي node-ipc.cjs، وهادشي كيخلي الكود يتنفذ مباشرة بأي طريقة فالوقت اللي كيتم استدعاء هاد الحزمة فبيئة التشغيل (runtime).
على حساب StepSecurity، هاد البرمجية الخبيثة كدير fingerprinting للبيئة، كتقلب على الملفات المحلية وكتقراها، كتضغط البيانات، كتغلف الحمولة (payload) بتشفير، وكتحاول تصيفطها عبر قنوات متعددة للدومين sh.azurestaticprovider[.]net.
النسخة 12.0.1 كدير واحد التحقق من البصمة (SHA-256 fingerprint check) مقارنة مع واحد الهاش (hash) مبرمج وسط الكود قبل ماتبدأ تجمع بيانات الاعتماد. هاد الهاش مجموع من 8 ديال الأجزاء مخفية تدمجات فالكود. الباحث الأمني Sai Likhith من StepSecurity وضح باللي "المهاجم (attacker) عارف بالضبط شمن مشروع ولا مطور باغي يستهدف، وحسب الهاش ديال نقطة البداية ديالو (entry point) قبل ما ينشر الكود". النسخة 12.0.1 كتبقى ناعسة وماكتأثرش فأي نظام إذا كان المسار ديال الموديل الأساسي ديالو ماكيطابقش الهاش الهدف. أما النسخ 9.1.6 و 9.2.3 مافيهم حتى قفل بحال هكا، وكينفذو الحمولة كاملة فأي نظام كيخدمهم.
هاد البرمجية الخبيثة كتستهدف 90 فئة من بيانات الاعتماد، داكشي فيه Amazon Web Services، Google Cloud، Microsoft Azure، مفاتيح SSH، توكنز ديال Kubernetes، الإعدادات ديال GitHub CLI، Claude AI و Kiro IDE، الـ state ديال Terraform، كلمات المرور ديال قواعد البيانات، و shell history.
علاش هادشي مهم
حزمة node-ipc عندها تحميلات بزاف وكتستعمل باش دير inter-process communication فالتطبيقات ديال Node.js. التواجد ديالها فبيئات التطوير وفي الـ pipelines ديال CI/CD كيعني باللي هاد النسخ المخترقة يقدر يكون عندها تأثير واسع على عدد كبير ديال المشاريع وأنظمة الأتمتة.
التصميم ديال هاد المالوير كيعكس واحد التحول فالهجمات على سلسلة التزويد (supply chain) لجهة جمع بيانات الاعتماد اللي كتعرف وتسجل البنية التحتية. بلاصت مايكون مالوير عادي، هادا كيستهدف بالأساس الهويات (identities) والأنظمة د الأتمتة اللي كتحرك العمليات ديال إيصال السوفتوير. استعمال قنوات مختلفة لتسريب البيانات بحال HTTPS POST و DNS TXT، وتقنيات باش يهرب من الكشف (بحال تجاوز إعدادات DNS و فك ارتباط العمليات فالخلفية)، هادشي كيبين مستوى ديال الاحترافية الهدف منو هو التهرب من المراقبة الأمنية العادية.
التقنية ديال الاتصال المباشر مع الـ C2 عبر الـ DNS مثيرة للاهتمام بزاف. حيث كيتم ترجمة الدومين sh.azurestaticprovider.net عبر سيرفورات DNS عمومية (1.1.1.1 ولا 8.8.8.8) ومن بعد كيوجهو استعلامات التسريب الموالية مباشرة لعنوان الـ IP ديال الـ C2، هكا المالوير كيتفادى يولد أي نشاط باين فسجلات الـ DNS ديال الشركات. المؤسسات اللي كتعتمد غير على تسجيل الـ DNS الداخلي (internal resolvers) ماغاديش تكتاشف هاد الترافيك.
زيادة على هادشي، هاد المالوير كيـ fork راسو كعملية خلفية مفصولة (detached background child process)، وهادشي كيخلي تسريب بيانات الاعتماد يكمل بسكات واخا كتحبس العملية الأصلية ديال Node.js. هاد الاستمرارية (persistence mechanism) كتكبر من الوقت المتاح لسرقة البيانات.
الأنظمة المتضررة وأرقام CVE
- node-ipc@9.1.6 (خبيثة)
- node-ipc@9.2.3 (خبيثة)
- node-ipc@12.0.1 (خبيثة)
- النسخ النقية: 9.2.1 و 12.0.0
ما كاين حتى CVE تخصص فهاد الوقت ديال النشر.
شنو خاصنا نديرو
- حيدو النسخ المخترقة ديال node-ipc (9.1.6، 9.2.3، 12.0.1) بالزربة، وعاودو نصبو النسخ النقية (9.2.1 و 12.0.0).
- تعاملو مع أي بيانات اعتماد أو أسرار كانت متاحة فالأنظمة اللي خدمات فيها هاد النسخ ففترة التعرض (exposure window) على أساس أنها مخترقة. بدلو (rotate) بيانات الاعتماد ديال AWS، Google Cloud، Azure، SSH، Kubernetes، GitHub، وأي أنظمة أخرى كان ممكن توصلها أجهزة المطورين اللي تقاسات.
- راجعو نشاط النشر فـ npm لأي حزم يقدر يوصلها التوكنز اللي تبدلات، باش تكتاشفو واش بيانات الاعتماد المسروقة تخدمات باش تنشر أو تعدل حزم أخرى.
- راجعو سجلات الـ CI/CD workflow للأنشطة المشبوهة، منها الأوامر المامفهوماش، أو محاولات الدخول، و الـ deployments اللي وقعات ففترة التعرض.
- ديرو تحقيق فسجلات الكلاود (CloudTrail لـ AWS، Cloud Audit Logs لـ Google Cloud، Activity Log لـ Azure) باش تعيقو بأي إجراء غير مصرح بيه تدار بهويات IAM اللي بيانات الاعتماد ديالها كانو متوفرين فالأنظمة المخترقة.
- بلوكيو الترافيك الخارجي (egress traffic) فحدود الشبكة للدومين sh.azurestaticprovider[.]net.
أسئلة باقة مطروحة
- واش بيانات الاعتماد ديال الحساب "atiertant" تسرقات، ولا هاد الحساب تزاد خصيصا كـ maintainer غير باش ينشر النسخ الخبيثة.
- الهوية والدوافع ديال فاعل التهديد (threat actor) اللي مسؤول على هاد النسخ الخبيثة.
- الحجم الحقيقي ديال بيانات الاعتماد اللي تسرقات وشحال ديال المنظمات تقاسات.
- شحال ديال الوقت بقات هاد النسخ الخبيثة متاحة فـ npm قبل ماتتحيد.
Source
Stealer Backdoor Found in 3 Node-IPC Versions Targeting Developer Secrets


