في 1 يونيو 2026، حددت شركة Wiz Research اختراقًا لسلسلة التوريد يؤثر على الحزم المتعددة المنشورة بموجب @redhat-cloud-services مساحة الاسم npm. وكشفت التحقيقات ذلك ما لا يقل عن 32 إصدارًا للحزمة يحتوي على تعديلات غير مصرح بها لا تتطابق مع مستودعات المصدر المقابلة. يبلغ متوسط ​​هذه الحزم التراكمية حوالي 80.000 عملية تنزيل أسبوعية.

سجل التغيير

تحديث 1 يونيو 2026 الساعة 1 ظهرًا بالتوقيت العالمي المنسق: تم إبطال معظم الإصدارات الضارة، مع بقاء نسختين حتى كتابة هذا التقرير.

تحديث 1 يونيو 2026 الساعة 2 ظهرًا بالتوقيت العالمي المنسق: تمت إضافة قسم السبب الجذري مع التحليل.

1 يونيو 2026 الساعة 2:20 مساءً بالتوقيت العالمي المنسق: تمت إضافة معلومات حول الموجة الثانية من الالتزامات.

تحديث 1 يونيو 2026 الساعة 3 مساءً بالتوقيت العالمي المنسق: تمت إضافة الموجة الثانية إلى جدول الحزم المتأثرة، بالإضافة إلى تفاصيل إضافية حول الحمولة.

4 يونيو 2026، الساعة 9:20 صباحًا بالتوقيت العالمي المنسق: نشرت شركة Wiz Research تحذيرًا إضافيًا بشأن التهديدات، يغطي موجة جديدة من الحزم المرتبطة بهذه الحملة. المجموعة الجديدة من الحزم إساءة الاستخدام binding.gyp لتنفيذ تعليمات برمجية ضارة أثناء تثبيت الحزمة. تتوافق الحمولة الرئيسية مع نشاط TeamPCP Mini Shai-Hulud السابق وحملة Miasma، مع وصف معدل (Miasma - The Spreading Blight).

حدد تحليل إصدارات الحزمة المخترقة حمولة ضارة شائعة تم تقديمها عبر العديد من الإصدارات المتأثرة. تحتوي الحزم على آليات تنفيذ وقت التثبيت المضافة حديثًا، بما في ذلك البرامج النصية للتثبيت المسبق التي تستدعي برنامجًا ضارًا تلقائيًا index.js الملف أثناء تثبيت الحزمة. تتألف الحمولات من ملفات جافا سكريبت كبيرة بشكل غير عادي ومبهمة بشدة eval() وتقنيات فك التشفير المستندة إلى ROT لإخفاء وظائفها.

يبدو أن الحمولة مشتقة من البرامج الضارة (Mini) Shai-Hulud مفتوحة المصدر بواسطة TeamPCP. التعديلات المرصودة تجميلية إلى حد كبير، مع استبدال الإشارات إلى عالم الكثيب بموضوعات الأساطير اليونانية (أي “المتقشف”)، في حين تظل الوظائف الأساسية والحرفية متشابهة إلى حد كبير. يقوم هذا المتغير بإنشاء مستودعات تحتوي على الوصف Miasma: The Spreading Blight.

أحد التغييرات الرئيسية في هذا المتغير الجديد هو إضافة جامعي البيانات الجدد الذين يركزون على الهويات السحابية. على وجه التحديد، تمت إضافة أدوات تجميع هويات GCP وAzure التي تجمع كل الهويات التي يمكن للجهاز المصاب الوصول إليها. وبينما ركزت الإصدارات السابقة من البرامج الضارة في المقام الأول على استخراج الأسرار من هذه البيئات، يشير هذا البديل إلى زيادة تركيز المهاجم على الوصول إلى السحابة نفسها والاستفادة منها.

بالإضافة إلى ذلك، تولد البرامج الضارة الآن حمولة مشفرة بشكل فريد لكل إصابة، مما يجعل بطاقات IOC القائمة على التجزئة مفيدة فقط لإصدار حزمة محدد. على عكس المتغيرات السابقة التي كانت تنسخ نفسها ببساطة، فإن هذا الأسلوب يجعل الكشف وتتبع الإصدار أكثر صعوبة بشكل ملحوظ.

تشير الأدلة إلى أن حساب GitHub الخاص بموظف Red Hat قد تم اختراقه واستخدامه لإدخال البرامج الضارة في هذه الحزم. دفع الحساب المخترق عمليات الالتزام اليتيمة الضارة إلى مستودعين من مستودعات RedHatInsights، متجاوزًا مراجعة التعليمات البرمجية. حدث هذا عبر موجتين من النشاط.

الوقت (التوقيت العالمي المنسق) مستودع ارتكاب شا فرع
10:53:06 RedHatInsights/frontend-components 8bf051251ec3b973e39a313547e53421a2f8d2f6 oidc-61fff775
10:53:22 RedHatInsights/javascript-clients 608d01124cd6b5b8c55888e984b4c4d9b06fa686 oidc-4d5900f3
10:53:33 RedHatInsights/platform-frontend-ai-toolkit oidc-2530ec68
13:44:48 RedHatInsights/frontend-components ab9903d9edc720d1e11ea7d3d3e7a1c456f44ff7 oidc-af10000d
13:45:49 RedHatInsights/javascript-clients oidc-6523a11b
13:46:47 RedHatInsights/platform-frontend-ai-toolkit 7569d69cf3684a792ce63d19b6e0d9d192597963 oidc-93b9a955

تحتوي هذه على الحد الأدنى من سير العمل الذي يطلب رمز OIDC لنشر npm:

name: release
on:
  push:
    branches: ['*']
jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
      - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
      - name: prepare
        run: bun run _index.js
        env:
          OIDC_PACKAGES: "@redhat-cloud-services/frontend-components, ..."

تم تشغيل سير العمل عند الدفع إلى أي فرع، وطلب رمز هوية OIDC الخاص بـ GitHub عبر رمز المعرف: الكتابة، ثم تنفيذ حمولة مشوشة (_index.js) التي نشرت حزمًا تحتوي على شهادات مصدر صالحة لـ SLSA. يشبه هذا هجوم TeamPCP السابق ضد Tanstack، والذي تضمن أيضًا إنتاج شهادات مصدر SLSA صالحة.

تتوافق الحرفية التجارية المرصودة مع TTPs المرتبطة بحملة سلسلة التوريد npm “Mini Shai-Hulud” التابعة لـ TeamPCP. ومع ذلك، نظرًا لأن فريق TeamPCP أصدر تفاصيل ورموزًا علنية تتعلق بعملية Mini Shai-Hulud، فقد تتمكن جهات التهديد الأخرى من تكرار نفس التقنيات أو تكييفها. ونتيجة لذلك، يجب التعامل مع أوجه التشابه التي لوحظت في هذا الحادث كدليل على تداخل TTP بدلاً من إسنادها بشكل نهائي إلى TeamPCP، ولا يمكن استبعاد إمكانية قيام جهة مقلدة بالاستفادة من الأدوات والمنهجيات المتاحة للجمهور.

  • يجب على المؤسسات التحقيق على الفور في محطات عمل المطورين وبيئات CI/CD والمستودعات بحثًا عن علامات التسوية. يجب على الفرق تدقيق الأنظمة للحزم المتأثرة، وإجراءات GitHub، وامتدادات VSCode، مع مراجعة نشاط GitHub أيضًا للمستودعات غير المصرح بها، أو رموز الوصول التي تم إنشاؤها حديثًا، أو عمليات تنفيذ سير العمل المشبوهة.

  • نظرًا لأن البرامج الضارة تستهدف بيانات اعتماد المطورين وأسرارهم، يجب على المؤسسات افتراض التعرض المحتمل لرموز GitHub المميزة ومفاتيح SSH وبيانات الاعتماد السحابية وأسرار CI/CD وتدويرها وفقًا لذلك.

  • أخيرًا، يجب على المؤسسات تعزيز دفاعات سلسلة توريد البرامج من خلال تنفيذ قائمة التبعية المسموح بها، وإنشاء SBOM، والتحقق من الحزمة، وتحسين مراقبة بيئات التطوير والبناء.

يمكن لعملاء Wiz استخدام الاستعلامات والاستشارات المعدة مسبقًا في Wiz Threat Intel Center للبحث عن المثيلات ذات الصلة في بيئتهم. ستواصل Wiz Research تحديث هذه النصائح مع تطور الوضع.

طَرد النسخة المخترقة
@redhat-cloud-services/topological-inventory-client = 3.0.10 || = 3.0.11 || = 3.0.13
@redhat-cloud-services/compliance-client = 4.0.3 || = 4.0.4 || = 4.0.6
@redhat-cloud-services/rbac-client = 9.0.3 || = 9.0.4 || = 9.0.6
@redhat-cloud-services/insights-client = 4.0.4 || = 4.0.5 || = 4.0.7
@redhat-cloud-services/frontend-components = 7.7.2 || = 7.7.3 || = 7.7.5
@redhat-cloud-services/frontend-components-utilities = 7.4.1 || = 7.4.2 || = 7.4.4
@redhat-cloud-services/remediations-client = 4.0.4 || = 4.0.5 || = 4.0.7
@redhat-cloud-services/frontend-components-notifications = 6.9.2 || = 6.9.3 || = 6.9.5
@redhat-cloud-services/patch-client = 4.0.4 || = 4.0.5 || = 4.0.6
@redhat-cloud-services/host-inventory-client = 5.0.3 || = 5.0.4 || = 5.0.6
@redhat-cloud-services/rule-components = 4.7.2 || = 4.7.3 || = 4.7.5
@redhat-cloud-services/frontend-components-advisor-components = 3.8.2 || = 3.8.3 || = 3.8.5
@redhat-cloud-services/notifications-client = 6.1.4 || = 6.1.5 || = 6.1.7
@redhat-cloud-services/sources-client = 3.0.10 || = 3.0.11 || = 3.0.13
@redhat-cloud-services/integrations-client = 6.0.4 || = 6.0.5 || = 6.0.7
@redhat-cloud-services/frontend-components-config = 6.11.3 || = 6.11.4 || = 6.11.6
@redhat-cloud-services/frontend-components-config-utilities = 4.11.2 || = 4.11.3 || = 4.11.5
@redhat-cloud-services/hcc-pf-mcp = 0.6.1 || = 0.6.2 || = 0.6.4
@redhat-cloud-services/frontend-components-remediations = 4.9.2 || = 4.9.3 || = 4.9.5
@redhat-cloud-services/eslint-config-redhat-cloud-services = 3.2.1 || = 3.2.2 || = 3.2.4
@redhat-cloud-services/javascript-clients-shared = 2.0.8 || = 2.0.9 || = 2.0.11
@redhat-cloud-services/quickstarts-client = 4.0.11 || = 4.0.12 || = 4.0.14
@redhat-cloud-services/config-manager-client = 5.0.4 || = 5.0.5 || = 5.0.7
@redhat-cloud-services/hcc-feo-mcp = 0.3.1 || = 0.3.2 || = 0.3.4
@redhat-cloud-services/entitlements-client = 4.0.11 || = 4.0.12 || = 4.0.14
@redhat-cloud-services/tsc-transform-imports = 1.2.2 || = 1.2.3 || = 1.2.5
@redhat-cloud-services/hcc-kessel-mcp = 0.3.1 || = 0.3.2 || = 0.3.4
@redhat-cloud-services/frontend-components-testing = 1.2.1 || = 1.2.2 || = 1.2.4
@redhat-cloud-services/types = 3.6.1 || = 3.6.2 || = 3.6.4
@ريدهات-الخدمات السحابية/كروم 2.3.1
@redhat-cloud-services/frontend-components-translations 4.4.1
@redhat-cloud-services/vulnerabilities-client 2.1.8
شاركها.
اترك تعليقاً