لم يكن جوهر الهجوم في كود PHP نفسه؛ إذ ظلت مكتبات PHP حميدة بدون أي خطافات تثبيت أو نشاط شبكة خبيث . بدلاً من ذلك، قام المهاجمون بحقن 583 ملف سير عمل خبيث من GitHub Actions (
.github/workflows/*.yml) في المستودعات المصدرية للمطور. احتوى كل إصدار حزمة متأثر على ما بين 55 و62 ملف سير عمل . سير عمل GitHub Actions هي ملفات YAML تحدد مهاماً آلية مثل تشغيل الاختبارات أو نشر الكود. قام المهاجمون بإعادة استخدام هذه البنية التحتية للأتمتة الشرعية.
بمجرد أن يؤدي نسخ (fork) أو استنساخ للمستودع المخترق إلى تشغيل سير عمل (على سبيل المثال، عند حدث push)، يقوم ملف .yml الخبيث بتعليمات لخادم Ubuntu المستضاف على GitHub بما يلي :
43[.]228[.]157[.]68.هذا حول كل سير عمل يتم تشغيله إلى عقدة مسح واستغلال، مستخدماً البنية التحتية المجانية لـ GitHub كمنصة موزعة للهجوم .
كان الهدف من الحملة هو CVE-2026-41940، وهي ثغرة حرجة في cPanel ومدير الاستضافة WebHost Manager (WHM) .
cpsrvd Authorization مصمم يحتوي على أحرف سطر جديد خام. سمح هذا لهم بحقن خصائص عشوائية في ملف جلسة، مثل user=root وhasroot=1، مما يمنحهم فعلياً وصولاً إدارياً على مستوى الجذر لواجهة WHM دون الحاجة إلى كلمة مرور صالحة بمجرد نجاح الاستغلال على خادم cPanel/WHM مخترق، صُممت حمولة ما بعد الاستغلال لجمع مجموعة واسعة من بيانات الاعتماد والأسرار. شملت الأهداف الأساسية :
يشير سرقة هذه المجموعة الواسعة من بيانات الاعتماد إلى عملية انتهازية غير محددة البيانات تهدف إلى الحصول على أي رموز وصول قيّمة موجودة على الخادم المخترق .
كانت ملفات سير العمل الـ583 في حزم Packagist العشرة مجرد بداية الاكتشاف. من خلال التوسع بناءً على مؤشرات المهاجم مثل اسم نطاق رد الاتصال DNSHook المشترك وأنماط إعادة استخدام الكود، اكتشف الباحثون عملية أكبر بكثير :
يشير هذا التفاوت الكبير بقوة إلى أن المهاجمين اخترقوا العديد من حسابات المستخدمين والمستودعات الأخرى إلى جانب حساب dinushchathurya الواحد . لم تكن الحملة فشل نقطة واحدة بل عملية منسقة متعددة الحسابات. ذكر موقع The Hacker News هجوماً منفصلاً وسابقاً على سلسلة توريد Packagist في مايو 2026 اخترق 8 حزم بعناصر خبيثة ذات صلة
، مما يسلط الضوء بشكل أكبر على ضعف النظام البيئي.
تشكل الحملة تهديداً مستمراً لأن البنية التحتية للمهاجم لم يتم تحييدها بالكامل. قد تستمر الحملة من خلال :
43[.]228[.]157[.]68) قيد التشغيل ويستقبل البيانات بنشاط بينما تم تعليق حساب المطور الأصلي على Packagist، فإن النطاق الهائل لملفات سير العمل المتطابقة (حتى ~16,000) يعني أن العملية لها بصمة واسعة يصعب القضاء عليها تماماً .
push أو workflow_dispatch دون مراجعة يدوية.43[.]228[.]157[.]68) واسم نطاق رد الاتصال DNSHook المعروف .github/workflows/ غير متوقعة، حيث قد يكون كود PHP نفسه نظيفاً بينما يعيش الهجوم بالكامل في تكوين CI/CD