لم تقتصر أحدث حملة استهداف لسلسلة التوريد على اختراق سجلات البرمجيات مفتوحة المصدر فحسب، بل استولت أيضًا على مسار إصدار البرامج داخل إحدى أكثر المؤسسات حرصًا على الأمن في العالم، وكان نقطة الدخول هي عملية تثبيت روتينية لإحدى التبعيات عبر npm.
في 11 مايو 2026، نفذت مجموعة TeamPCP المهددة الأمني الموجة الرابعة من حملة دودة Shai-Hulud، التي تُعرف الآن باسم Mini Shai-Hulud. أدى الهجوم إلى اختراق 84 إصدارًا من الحزم الخبيثة عبر 42 حزمة TanStack في سجل npm خلال فترة ست دقائق، وتوسع في النهاية ليشمل أكثر من 170 حزمة عبر سجلات الكود المصدري npm و PyPI (Python Package Index)، بما في ذلك مساحات الأسماء التابعة لـ Mistral AI و UiPath و OpenSearch. تتلقى حزمة واحدة على الأقل من الحزم المتأثرة، وهي @tanstack/react-router، ما يقرب من 12 مليون تنزيل أسبوعيًا.
هذه هي الموجة الرابعة في حملة متصاعدة. وتشمل الموجات السابقة الاختراق الأولي لـ npm (Shai-Hulud 1.0) والموجة 2.0 التي استهدفت بيانات اعتماد GitHub.
كشفت شركة OpenAI هذا الأسبوع عن تعرض جهازي موظفين للاختراق. لم تتأثر أي بيانات للمستخدمين أو أنظمة الإنتاج أو حقوق الملكية الفكرية، لكن إجراءات الاحتواء استلزمت عزل الأنظمة، وتغيير بيانات الاعتماد، والاستعانة بخبراء جنائيين خارجيين، بالإضافة إلى إجراء تغيير شامل لشهادات توقيع البرامج عبر أنظمة macOS وWindows وiOS وAndroid، وذلك نتيجة لتثبيت تابع واحد.
الموجة الرابعة من "ميني شاي-هولود": حقائق سريعة
- تاريخ الهجوم: 11 مايو 2026
- الحزم المخترقة: 84 نسخة ضارة موزعة على 42 حزمة من @tanstack/*؛ ما يزيد عن 170 حزمة إجمالاً في سجلات npm وPyPI
- رقم CVE: CVE-2026-45321، درجة CVSS 9.6 (حرجة)
- المصدر: TeamPCP (يُعرف أيضًا باسم PCPcat و UNC6780)
- الآلية: ثلاث ثغرات أمنية مترابطة في GitHub Actions - طلب Pwn، وتسميم ذاكرة التخزين المؤقت، واستخراج رمز OIDC (OpenID Connect) من ذاكرة عملية المشغل
- ضحية بارزة: OpenAI - تعرض جهازي موظفين للاختراق؛ وتم تسريب أسرار، بما في ذلك شهادات توقيع البرامج لأنظمة macOS وiOS وWindows وAndroid، من مستودعات شفرات المصدر الداخلية
- الموجات السابقة: Shai-Hulud 1.0 (سبتمبر 2025)، و2.0 (نوفمبر 2025)، و3.0 (ديسمبر 2025)
- التأثير: تعرض بيئات التطوير وبيئات التكامل المستمر/التسليم المستمر (CI/CD) للاختراق ، والاستيلاء على حسابات المسؤولين والحزم، ولم تعد معلومات المنشأ (SLSA) والإصدارات الموقعة «آمنة بشكل افتراضي»
- المخاطر الرئيسية: الحزم الخبيثة التي تجتاز شهادة المنشأ من المستوى الثالث وفقًا لمعيار SLSA (مستويات سلسلة التوريد Software )
كيف تم تنفيذ الهجوم
تُعد «موجة شاي-هولود الرابعة المصغرة» النسخة الأكثر تطوراً من الناحية التقنية في هذه الحملة حتى الآن. ففي حين اعتمدت الموجات السابقة على حسابات القائمين على الصيانة التي تم اختراقها لنشر الحزم الخبيثة مباشرةً، استغلت «الموجة الرابعة» ثلاث ثغرات أمنية في GitHub Actions لاختطاف مسار الإصدار الشرعي نفسه.
تسلسل الهجوم:
- التفرع والتخفي: قام المهاجم بتفرع مستودع TanStack/router، وأعاد تسميته إلى zblgg/configuration حتى لا يظهر كنسخة متفرعة واضحة في قوائم عرض النسخ المتفرعة على GitHub.
- تشغيل سير العمل: تم فتح طلب سحب أدى إلى تشغيل سير العمل pull_request_target - وهو نمط "Pwn Request" الذي يمنح سير العمل حق الوصول إلى الشفرة التي تم تفرعها
- تسميم ذاكرة التخزين المؤقت: قام كود النسخة الفرعية للمهاجم بكتابة إدخال "pnpm-store" مسموم بحجم 1.1 جيجابايت في ذاكرة التخزين المؤقت لـ GitHub Actions، مع تعيين مفتاح له بحيث يستعيده سير عمل الإصدار لاحقًا
- إخفاء الآثار: تم بعد ذلك إجبار طلب السحب الخبيث على الانتقال إلى حالة "لا توجد عمليات" وإغلاقه لإخفاء أدلة الاختراق
- انتظر تشغيل الآلية: عندما قام مسؤولو صيانة TanStack الشرعيون بدمج طلبات سحب غير ذات صلة في الفرع الرئيسي، تم تشغيل آلية سير عمل الإصدار واستعادة ذاكرة التخزين المؤقت الملوثة
- Steal the token: Attacker-controlled binaries read /proc/<pid>/mem of the Runner.Worker process to extract the OIDC token minted for npm trusted publishing
- النشر عبر مسار الإصدار: استُخدمت تلك الرموز لنشر 84 إصدارًا من الحزم الخبيثة في سجل npm عبر مسار الإصدار الشرعي الخاص بـ TanStack.
- والنتيجة: حزم تحتوي على شهادات أصل صالحة من المستوى الثالث وفقًا لمعيار SLSA، وشهادات Sigstore صالحة، وتوقيعات GitHub Actions شرعية، تم إنتاجها عبر مسار الإصدار الشرعي، وتحتوي على برامج ضارة لسرقة بيانات الاعتماد. وكما أكد فريق TanStack في تحليله اللاحق للحادث، بدت الحزم، من وجهة نظر المطور، أصيلة من الناحية التشفيرية، دون أي مؤشر مرئي على تعرضها للاختراق.
تم الكشف عن الأسرار: قامت الحمولة الخبيثة بتسريب الأسرار المكشوفة — وهي بيانات الاعتماد والرموز التي كانت متاحة بشكل فعلي على الأنظمة المخترقة — عبر ثلاث قنوات متكررة: نطاق مستغل لأخطاء الإملاء (git-tanstack[.]com)، وشبكة "Session" اللامركزية للمراسلة، ونقاط API GitHub باستخدام الرموز المسروقة. وشملت بيانات الاعتماد المستهدفة رموز GitHub، والأسرار السحابية من AWS و GCP و Azure، ومواد مصادقة CI/CD، وبيانات اعتماد Kubernetes، Vault HashiCorp Vault ومفاتيح SSH.
على أجهزة المطورين، قامت البرمجية الخبيثة بتثبيت برنامج خفي دائم باسم gh-token-monitor (عبر macOS LaunchAgent أو Linux systemd) كان يتصل بـ GitHub كل 60 ثانية. وعند تلقي خطأ 40X ناتج عن إلغاء الرمز المميز، حاول البرنامج الخفي تشغيل الأمر rm -rf ~/ لمسح الدليل الرئيسي للمستخدم. ثم توقف البرنامج الخفي تلقائيًا بعد مرور 24 ساعة.
تأثير OpenAI وما يخبرنا به
وقد أوضحت OpenAI بدقة ما تم تسريبه: معلومات محدودة تتعلق ببيانات الاعتماد من مجموعة فرعية من مستودعات شفرات المصدر الداخلية التي كان بإمكان الموظفين المتضررين الوصول إليها، بما في ذلك شهادات توقيع الشفرات لمنتجات macOS وiOS وWindows وAndroid. أكدت OpenAI عدم وجود أدلة على استخدام تلك الشهادات لتوقيع برامج ضارة، لكنها تقوم بتغييرها جميعًا كإجراء احترازي وتطلب من مستخدمي macOS تحديث تطبيقاتهم قبل 12 يونيو 2026، وبعد ذلك قد تتوقف التطبيقات الموقعة بالشهادات القديمة عن العمل.
هناك تفصيل ثانٍ في الإفصاح الصادر عن OpenAI يستحق الاهتمام. فالجهازان اللذان تعرضا للاختراق لم يكونا قد تلقيا بعد تحديثات إعدادات إدارة الحزم، بما في ذلك الضوابط مثل التحقق من الحد الأدنى لعمر الإصدار والتحقق من مصدر الحزمة، والتي كان يجري نشرها عبر بيئة المنظمة. وقد وقع الهجوم خلال فترة نشر تلك التحديثات.
وهذا يصف ثغرة حقيقية وشائعة. يتم نشر الضوابط الأمنية بشكل تدريجي. وخلال أي عملية نشر على مراحل، تتعرض مجموعة فرعية من الأنظمة لمخاطر أكبر. استمرت حملة TeamPCP على مدار أسابيع، حيث قامت بنشر حزم برمجية خبيثة في سجلات النظام وانتظرت حتى يتم تثبيتها. ولم يكن توقيت ذلك مصادفة.
تحقق من Software لديك لمنع Supply Chain
صُمم حل MetaDefender Software Chain™ لمساعدة المؤسسات على فحص العناصر الفعلية والحزم والملفات الثنائية التي تدخل في دورة حياةSoftware (SDLC)، بما في ذلك الحزم التي تحمل توقيعات صالحة أو شهادات إثبات المنشأ، مما يوفر رؤية شاملة للبرمجيات عبر مسار العمل عند نقطة استخدام الحزم.
تتصدى ثلاث ميزات ضمنSupply Chain MetaDefender Supply Chain Software بشكل مباشر للثغرات التي استغلها هذا الهجوم:
Metascan™ Multiscanning: تجمع بين أكثر من 30 محركًا تجاريًا لمكافحة البرامج الضارة لفحص الحزم من سجلات الكود المصدري، بما في ذلك npm وPyPI، قبل وصولها إلى محطات عمل المطورين أو مسارات التكامل المستمر/التسليم المستمر (CI/CD). ففي حين قد لا يكتشف محرك الكشف الفردي أحد المتغيرات المنشورة حديثًا، فإن نطاق الكشف المدمج يقلل من الفترة الزمنية التي يمكن خلالها للحزمة الخبيثة أن تعمل دون أن يتم اكتشافها.
إنشاءSoftware (SBOM) : يوفر رؤية شاملة لمكونات البرمجيات عبر المكدس، والتبعيات المباشرة والانتقالية، وسجل الإصدارات، وبيانات التعريف الخاصة بالسجل، مع دعم لأكثر من عشر لغات برمجة. تساعد قائمة مكونات البرمجيات (SBOM) في الكشف عن التغييرات غير المتوقعة في الحزم قبل انتشارها في المراحل اللاحقة، كما تتيح التصدير بتنسيقي CycloneDX وSPDX لدعم الامتثال للمتطلبات التنظيمية، بما في ذلك قانون المرونة التشغيلية الرقمية (DORA).
Proactive DLP™: تفحص شفرة المصدر بحثًا عن الأسرار المضمنة بشكل ثابت - مثل كلمات المرور API والرموز المميزة وبيانات الاعتماد المضمنة في الشفرة قبل أن تتعرض للمهاجمين. وهذا يختلف عن الاستجابة لتسريب بيانات الاعتماد: تعالج تقنية Proactive DLP™ المخاطر التي تنشأ عن إمكانية الوصول إلى الأسرار المتروكة داخل شفرة المصدر أو ملفات التكوين عند اختراق مستودع البيانات، كما حدث في حادثة OpenAI.
MetaDefender Software Supply Chain يتكامل بشكل أصلي مع GitHub و GitLab و Azure DevOps و Nexus، مما يضع عملية الفحص داخل مسار العمل بدلاً من إجرائها بجانبه. ويضيف الإصدار الأخير، الإصدار 3.3.0، دعمًا لنقل المكونات بشكل آمن عبر بيئات معزولة من خلال نقل البيانات في اتجاه واحد باستخدام تقنية الصمام الثنائي للبيانات، مما يسمح للمؤسسات في البيئات المعزولة أو ذات الأمان العالي بالتحقق من صحة المكونات قبل عبورها حدود الشبكة، مع توفر عملية تنشيط تتناسب مع سير عمل DevSecOps الحالي.

الإجراءات الفورية الموصى بها
بالنسبة لأي مؤسسة قد تكون قامت بتثبيت الحزم المتأثرة خلال فترة "Mini Shai-Hulud":
- تأكد من وجود الخدمة الخلفية gh-token-monitor قبل إلغاء الرموز: قم أولاً بعزل الأنظمة المتأثرة وتصويرها؛ حيث يؤدي الإلغاء السابق لأوانه إلى تشغيل حمولة المسح.
- تغيير كلمات المرور المعرضة للخطر: كلمات مرور GitHub PAT ورموز npm ومفاتيح SSH وبيانات اعتماد الخدمات السحابية لأي مطور أو مسار عمل قام بتثبيت حزم خلال الفترة المعنية؛ وتفعيل المصادقة متعددة العوامل (MFA).
- إزالة الحزم المخترقة: مسح ذاكرة التخزين المؤقت لـ npm ومجلد node_modules؛ وتثبيت إصدارات الحزم التي تم نشرها بعد 12 مايو 2026.
- تدقيق إجراءات GitHub وسير عمل التكامل المستمر/التسليم المستمر (CI/CD): ابحث عن أحداث النشر غير المتوقعة، أو سير العمل الجديد، أو الاتصالات الصادرة إلى نقاط نهاية غير مألوفة.
- تقوية خطوط الأنابيب: تقييد البرامج النصية لدورة الحياة، والحد من الوصول إلى الشبكة الخارجية، وتقليل نطاق الرموز المميزة.
- يرجى الجمع بين عمليات التحقق من المصدر وفحص المحتوى: فالمصدر الصحيح يشير إلى منشأ مسار البيانات، لا إلى سلامته؛ ويجب استخدام فحص البرامج الضارة جنبًا إلى جنب مع التحقق من الشهادات.
الماخذ الرئيسية
يشير شهادة المنشأ إلى المصدر، لا إلى سلامة المحتوى
أنتجت "الموجة الرابعة" حزمًا ضارة مصدقة بشكل صحيح لأن مسار الإصدار نفسه تعرض للاختراق. وتعد عمليات التحقق من التوقيع والمنشأ مؤشرًا مفيدًا، وليست ضمانة لسلامة المحتوى.
تُعد «فترة النشر» فترة تعرض للمخاطر
وقد وقعت حادثة OpenAI أثناء عملية تطبيق تدريجي لضوابط جديدة في سلسلة التوريد. وتواجه كل مؤسسة ثغرات مماثلة أثناء نشر الضوابط. ويساعد الفحص على مستوى المحتوى في كل مرحلة على تقليل الاعتماد على اكتمال تغطية السياسات قبل وقوع الهجوم.
هذه الحملة مستمرة
تُعد «Mini Shai-Hulud» الموجة الرابعة من حملة تزايدت فيها درجة التعقيد التقني بشكل منهجي منذ سبتمبر 2025. إن اعتبار أي حادثة فردية قد تم حلها دون معالجة نقاط الضعف الأساسية في سلسلة العمليات يترك المؤسسات عرضة للهجوم التالي.
إن الجمع بين الرؤية الشاملة لقائمة مكونات البرمجيات (SBOM) والمسح المتعدد للبرامج الضارة والكشف عن الأسرار المبرمجة بشكل ثابت يساعد في تقليل نقاط الضعف عبر بيئات تطوير البرمجيات الحديثة. لا تثق بأي ملف. لا تثق بأي جهاز.
هل أنت مستعد لحماية مسار تطوير البرمجيات لديك من هجمات سلسلة التوريد مثل "ميني شاي-هولود"؟
