هجوم المياسما على سلسلة التوريد
كشفت حملة هجومية جديدة على سلسلة توريد البرمجيات، أُطلق عليها اسم "ميازما"، عن اختراق العديد من حزم npm الخاصة بخدمات Red Hat السحابية. صُممت هذه العملية لجمع بيانات الاعتماد والمعلومات الحساسة من بيئات المطورين، مع نشر دودة ذاتية الانتشار قادرة على التوسع في بيئات تطوير البرمجيات.
تعكس الحملة بشكل وثيق التكتيكات المرتبطة سابقًا بـ Mini Shai-Hulud ، حيث تستغل التنفيذ في وقت التثبيت، وسرقة بيانات الاعتماد، واختراق CI/CD، وتسريب البيانات المشفرة، والآليات التي تُمكّن من الانتشار في المراحل اللاحقة.
جدول المحتويات
لا يزال تحديد مصدر العمل غير مؤكد
لم يتم تحديد الجهة المسؤولة عن هجوم Miasma بشكل قاطع حتى الآن. ويزيد من تعقيد عملية تحديد الجهة المسؤولة أن مجموعة TeamPCP، المعروفة أيضاً باسم Replicating Marauder وTGR-CRI-1135 وUNC6780، قد نشرت سابقاً أدوات الهجوم المرتبطة بدودة Shai-Hulud كمشاريع مفتوحة المصدر. وقد مكّن هذا التطور مجموعات إجرامية إلكترونية أخرى من محاكاة أساليب مماثلة، مما يجعل تحديد الجهة المسؤولة بشكل نهائي أكثر صعوبة.
حزم npm مخترقة
تم تحديد حزم npm التالية على أنها متأثرة:
@redhat-cloud-services/vulnerabilities-client
@redhat-cloud-services/tsc-transform-imports
@redhat-cloud-services/topological-inventory-client
@redhat-cloud-services/sources-client
@redhat-cloud-services/rule-components
@redhat-cloud-services/remediations-client
@redhat-cloud-services/rbac-client
جمع بيانات الاعتماد من خلال منطق تثبيت مُبهم
اكتشف باحثو الأمن أن الحزم الخبيثة تحتوي على خطاف تثبيت مسبق مُشفر مصمم للتنفيذ تلقائيًا أثناء تثبيت الحزمة. يستهدف هذا البرنامج الخبيث مجموعة واسعة من الأصول الحساسة، بما في ذلك أسرار GitHub Actions، ورموز مصادقة npm، وبيانات اعتماد الحوسبة السحابية، وأسرار Kubernetes وHashiCorp Vault، ومفاتيح SSH، وبيانات اعتماد Git، وغيرها من الملفات السرية المخزنة على الأنظمة المخترقة.
كما لوحظ في حملات Mini Shai-Hulud السابقة، يتضمن هذا البرنامج الخبيث إجراءات تسريب مشفرة. تُرسل المعلومات المسروقة إلى api.anthropic.com:443/v1/api، بينما يُستخدم GitHub كقناة تسريب بديلة. تُظهر هذه الاستراتيجية ذات الغرض المزدوج جهدًا لا يقتصر على سرقة بيانات الاعتماد فحسب، بل يهدف أيضًا إلى استخدامها كسلاح لاختراق سلسلة توريد البرامج بشكل أكبر.
يتم إرسال حزم البيانات المشفرة عبر واجهة برمجة تطبيقات GitHub، وقد تحتوي رسائل الإرسال على السلسلة التالية:
'إذا قمت بإبطال هذا الرمز المميز، فسوف يتسبب ذلك في تدمير جهاز الكمبيوتر الخاص بالمالك:'
تقنيات التخفي وآليات الانتشار
يتضمن البرنامج الخبيث عدة إجراءات تهدف إلى زيادة مدة بقائه، وتجنب اكتشافه، وتوسيع نطاق وصوله. ومن أبرز سماته تجنبه المتعمد للتنفيذ على الأنظمة الناطقة باللغة الروسية، وهو سلوك سبق رصده في حملات سلسلة توريد برنامج GlassWorm.
في بيئات npm، يتفاعل الكود الخبيث مع نقاط نهاية تبادل رموز OIDC وwhoami، ويعيد تجميع أرشيفات البرامج في ملفات tarball محدثة، ويوقع على الملفات المعدلة باستخدام Sigstore. ثم تُنقل بيانات الاعتماد المسروقة إلى مستودعات GitHub العامة التي يتحكم بها المهاجم، والتي تحمل وصف "Miasma: The Spreading Blight".
حدد المحققون أقدم عملية إيداع معروفة تحتوي على هذا الوصف في 29 مايو 2026، مما يشير إما إلى بداية العمليات النشطة أو إلى مرحلة اختبار أولية في ذلك التاريخ.
في بيئات GitHub، يقوم البرنامج الخبيث بحصر المستودعات التي يمكن الوصول إليها باستخدام الرموز المميزة المخترقة، ويحلل تعريفات سير العمل من خلال استعلامات GraphQL، ويحقن سير عمل خبيثًا باستخدام عملية التعديل createCommitOnBranch. يسمح هذا الأسلوب للتغييرات الخبيثة بالظهور على أنها عمليات تثبيت موثقة وموقعة تشفيرًا.
ميزات متقدمة للاستمرارية وتصعيد الامتيازات
كشف التحليل عن العديد من القدرات الإضافية المضمنة في البرمجيات الخبيثة:
محاولات لتصعيد الامتيازات عن طريق تشغيل حاويات تقوم بربط دليل /etc/sudoers.d الخاص بالمضيف ومنح الوصول إلى sudo بدون كلمة مرور لمشغلي CI.
الكشف عن حلول أمن نقاط النهاية بما في ذلك CrowdStrike و SentinelOne و Carbon Black و StepSecurity Harden-Runner قبل بدء النشاط الضار.
آليات الاستمرارية التي تقوم بحقن خطاف SessionStart في Anthropic Claude Code وإنشاء ملفات tasks.json ضارة تم تكوينها باستخدام 'runOn': 'folderOpen' لمشاريع Microsoft Visual Studio Code، مما يضمن التنفيذ أثناء جلسات التطوير المستقبلية.
زيادة التركيز على اختراق الهوية السحابية
يتمثل أحد التطورات الرئيسية في نسخة Miasma في تركيزها الموسع على جمع بيانات الهوية السحابية. تقوم وحدات جديدة تستهدف بيئات Google Cloud Platform (GCP) وMicrosoft Azure بجمع معلومات حول جميع الهويات السحابية التي يمكن الوصول إليها من جهاز مصاب.
ركزت الإصدارات السابقة بشكل أساسي على استخراج البيانات السرية من بيئات الحوسبة السحابية. ويشير إضافة أدوات جمع البيانات التي تركز على الهوية إلى تحول استراتيجي نحو الحصول على وصول مباشر إلى السحابة واستغلال الهويات المميزة داخل البنى التحتية السحابية.
ومما يزيد من تعقيد جهود الكشف، أن كل إصابة تُنتج حمولة مشفرة فريدة. هذا التخصيص يعيق بشكل كبير الكشف القائم على التوقيعات، وتتبع البرامج الضارة، وربط الإصدارات عبر الحوادث.
الاختراق الأولي واختراق سلسلة التوريد
تشير الأدلة المتاحة إلى أن الحملة بدأت باختراق حساب أحد موظفي شركة ريد هات على منصة غيت هاب. ويعتقد المحققون أن هذا الحساب كان بمثابة نقطة الاختراق الأولى، مما مكّن المهاجمين من حقن برمجيات خبيثة في الحزم المتأثرة.
وبحسب ما ورد، قام الحساب المخترق بدفع عمليات إيداع خبيثة يتيمة إلى اثنين من مستودعات Red Hat Insights، متجاوزًا إجراءات مراجعة التعليمات البرمجية المعمول بها ومدخلًا الحمولة الخبيثة في سلسلة توريد البرامج.
إرشادات الاستجابة للحوادث ومعالجتها
ينبغي على المؤسسات التي قامت بتثبيت إصدارات الحزم المتأثرة عزل الأنظمة المتضررة فورًا، وإزالة الحزم الضارة، وتغيير جميع بيانات الاعتماد التي قد تكون مكشوفة، والتحقق من نشاط GitHub وnpm بحثًا عن أي علامات وصول غير مصرح به، ومراجعة بيئات العمل بحثًا عن آليات استمرارية الوصول. وينبغي إيلاء اهتمام خاص للتعديلات غير المصرح بها التي تتضمن ما يلي:
~/.claude/settings.json، .vscode/tasks.json، .github/workflows/codeql.yml، و .github/setup.js.
ينبغي أيضاً تطبيق ضوابط وصول قوية في بيئات التطوير والحوسبة السحابية.
لأن البرامج الضارة تُنشئ قدرات تنفيذ في الخلفية وتستمر داخل أدوات المطورين، فإن مجرد إلغاء تثبيت حزم npm المتأثرة أو حذف دليل node_modules لا ينبغي اعتباره علاجًا كافيًا.
في بيئات التكامل المستمر/التسليم المستمر (CI/CD)، يجب تعليق عمليات سير العمل المتأثرة فورًا. ينبغي على المؤسسات إبطال مفعول عناصر البناء التي تم إنشاؤها خلال فترة التعرض، ومراجعة ما إذا كانت الإصدارات أو صور الحاويات أو حزم npm أو عناصر النشر أو مكونات البرامج الأخرى قد تم إنشاؤها بعد إدخال الحزمة الخبيثة إلى البيئة.