التحديث 1520 بالتوقيت العالمي، 30 أبريل 2026: تم اختراق حزمتين إضافيتين اليوم:

حزمة NPM: الاتصال الداخلي العميل@7.0.5

حزمة باي بي آي البرق@2.6.2 و 2.6.3

يبدو أن كلتا الحزمتين تحتويان على نفس الوظيفة الضارة التي تمت مشاهدتها مسبقًا في عملية SAP. التحليل مستمر.

التحديث 2140 بالتوقيت العالمي، 29 أبريل 2026: تحليل الحمولة الصافية للعميل والاتصال الداخلي

يُظهر تحليل الحمولات الضارة تطورًا في تقنيات الترشيح وجمع بيانات الاعتماد. بالإضافة إلى عمليات التصفية السابقة المستندة إلى GitHub، تستفيد البرامج الضارة الآن من البنية التحتية المخصصة، وفي المقام الأول النطاق zero.masscan.cloud، مع تنفيذ آلية احتياطية ديناميكية أيضًا.

يسترد الإجراء الاحتياطي بيانات التكوين من GitHub من خلال البحث عن الالتزامات التي تحتوي على كلمة رئيسية محددة (“beautifulcastle”)، والتي تتضمن حمولة مشفرة base64 تشير إلى نقطة نهاية التصفية (حاليًا يتم حلها لـ 94.154.172[.]43/v1/telemetry. يسمح هذا الأسلوب للمهاجمين بتحديث البنية التحتية للتسلل دون نشر إصدارات جديدة من الحزم الضارة.

تعمل الحمولة الموجودة في حزمة الاتصال الداخلي للعميل على توسيع القدرات بشكل أكبر من خلال المسح النشط للأسرار في بيئات Kubernetes وHashiCorp Vault. فهو يستعلم عن نقاط نهاية خدمة Kubernetes وتكوينات Vault، باستخدام المطابقة الشاملة المستندة إلى regex لاستخراج بيانات الاعتماد مثل مفاتيح AWS والرموز المميزة لـ GitHub وnpm وسلاسل اتصال قاعدة البيانات والمفاتيح الخاصة وأسرار واجهة برمجة التطبيقات (على سبيل المثال، Stripe وSlack وTwilio). يشير هذا إلى تركيز قوي على البيئات السحابية الأصلية وخطوط CI/CD، مما يزيد بشكل كبير من التأثير المحتمل للتسوية من خلال الحصاد الآلي لبيانات الاعتماد على نطاق واسع.

التحديث 1745 بالتوقيت العالمي، 29 أبريل 2026: تم تأكيد إسناد TeamPCP وتوثيق الوظائف الجديدة.

أدت عملية جديدة لسلسلة التوريد من TeamPCP تطلق على نفسها اسم “Mini Shai Hulud” إلى اختراق حزم npm المتعلقة بـ SAP عن طريق حقن نصوص برمجية ضارة للتثبيت المسبق يتم تنفيذها أثناء تثبيت التبعية. تستفيد الحملة من حمولة متعددة المراحل لحصد أسرار المطورين وCI/CD عبر GitHub وnpm ومقدمي الخدمات السحابية الرئيسيين، وتقوم بتسريب البيانات عبر مستودعات GitHub التي يتحكم فيها المهاجم. ويحتوي أيضًا على تعليمات برمجية مصممة للنشر عبر الرموز المميزة المخترقة. من المحتمل جدًا أن يكون TeamPCP مسؤولاً عن هذه الحملة، استنادًا إلى مفتاح RSA العام المشترك والتداخلات في إجراءات التشفير وحواجز الحماية في المنطقة.

تم إنشاء إصدارات ضارة من حزم النظام البيئي SAP المشروعة (على سبيل المثال، `@cap-js/sqlite`، `@cap-js/postgres`) عن طريق تعديلها لتشمل برنامج نصي `للتثبيت المسبق` ينفذ `setup.mjs` تلقائيًا أثناء `تثبيت npm`. يقوم هذا البرنامج النصي بتنزيل وقت تشغيل Bun وتنفيذ حمولة مشوشة (`execution.js`)، مما يتيح تنفيذ التعليمات البرمجية التي يتحكم فيها المهاجم قبل اكتمال تثبيت الحزمة.

عند تنفيذها، تكون حمولة المرحلة الثانية عبارة عن إطار عمل لسرقة بيانات الاعتماد والنشر مصمم لاستهداف كل من بيئات المطورين وخطوط أنابيب CI/CD. فهو يجمع البيانات الحساسة بما في ذلك رموز GitHub، وبيانات اعتماد npm، وأسرار السحابة (AWS، وAzure، وGCP)، ورموز Kubernetes، وأسرار GitHub Actions – مع الاستفادة من التقنيات المتقدمة مثل استخراج الأسرار من ذاكرة التشغيل. يحدث التسلل عبر مستودعات GitHub العامة، حيث ينشر حمولات مشفرة. بالإضافة إلى ذلك، تشتمل البرامج الضارة على منطق نشر لإصابة مستودعات إضافية وتوزيعات للحزم.

أثناء الإعداد الأولي، تقوم البرامج الضارة بإجراء فحص للنظام لتحديد ما إذا كان الجهاز المخترق مهيأًا للغة الروسية. يقوم بذلك عن طريق فحص إعدادات التاريخ/الوقت المحلية للنظام ومتغيرات لغة البيئة الخاصة به. إذا بدأت أي من هذه القيم بـ “ru”، فإن الحمولة تنتهي فجأة من تلقاء نفسها، مما يضمن عدم تسرب أي بيانات من الأنظمة الناطقة باللغة الروسية.

المستخدمون المخترقون حسب الساعات، والمنطقة الزمنية UTC

في حين أننا نقدر أن هذه الحملة نشطة حاليًا، فإن حجم المستخدمين المخترقين ومستودعات التسلل التي أنشأها المهاجمون يبدو أقل بكثير من حجم Shai-Hulud أو Shai-Hulud 2.0.

المستودعات المخترقة حسب الساعات، المنطقة الزمنية UTC

تحديثات ملحوظة

تتبع هذه العملية على نطاق واسع نفس الأساليب المستخدمة في عمليات TeamPCP السابقة، ولكنها تحتوي على عدد من التطورات الملحوظة.

الترشيح على جيثب

في عملية Bitwarden، ستحاول البرامج الضارة إخراج كتلة الأسرار المشفرة إلى GitHub فقط في حالة فشل آلية الترشيح الأساسية إلى مجال القيادة والسيطرة. في هذه العملية، يعد التسلل إلى GitHub هو الطريقة الأساسية والوحيدة لاستخلاص الأسرار. الآليات متشابهة إلى حد كبير، باستخدام نفس نظام التسمية (كلمة 1-كلمة 2-رقم) ونفس وصف الريبو “”تخزين تكوين Checkmarx” أكبر تغيير هو أن عملية SAP تستخدم واجهة برمجة تطبيقات GraphQL، بدلاً من واجهة برمجة تطبيقات REST، التي تم استخدامها في عملية Bitwarden.

الرجوع إلى تسمم جيثب

إذا كانت مجموعة بيانات الاعتماد غير قادرة على تحديد أ gh[op]_ (PAT/OAuth) الرمز المميز و GITHUB_REPOSITORY تم تعيينه وسيحاول تسميم مستودع GitHub هذا. لا يفعل هذا إلا إذا ghs_ أو ghs_old الرموز المميزة موجودة (ولا توجد رموز GitHub PAT المميزة). يتم وضع الملفات أدناه في الريبو، في محاولة لإصابة المستخدمين الذين يفتحون الريبو في Claude Code أو VSCode:

طريق محتوى غاية التجزئة
.كلود/تنفيذ.js نسخة ذاتية من الحمولة الجاري تشغيلها عبر Bun.main الحمولة لمستخدمي كلود كود مطابق للتنفيذ الأولي.js
.كلود/setup.mjs القطارة القطارة التي تقوم بتنزيل Bun وتنفيذ الحمولة مطابق لملف setup.mjs الأولي
.كلود/settings.json تكوين خطافات كلود كود خطاف Claude Code SessionStart – يقوم بتشغيل العقدة .vscode/setup.mjs في كل جلسة

SHA256: 14eb4ce01dd4307759887ff819359b70d7d9ff709ecde039a5abc1aac325b128 SHA1: ff7ed7a0fa1c43eed01809d076feedbaed464fc7 MD5: 00ca0c04d247ef09f2b2acc452029345

.vscode/tasks.json تكوين مهمة VS Code مهمة VS Code “إعداد البيئة” – تقوم بتشغيل العقدة .claude/setup.mjs في المجلد المفتوح (runOn: FolderOpen)

SHA256: 927387d0cfac1118df4b383decc2ea6ba49c9d2f98b47098bcbcba1efc026e1f SHA1: 7b0278216ac31ec18eca9eb8bc1c1261a1b26f6c MD5: dbb9b09957113463bbeb420c2c4108b5

.vscode/setup.mjs نفس القطارة مثل .clude/setup.mjs قطارة لمسار تنفيذ VS Code مطابق لملف setup.mjs الأولي

سرقة بيانات اعتماد المتصفح

تضيف عملية SAP القدرة على سرقة بيانات الاعتماد من متصفحات متعددة (Chrome وSafari وEdge وBrave وChromium) وتصفية أي كلمات مرور موجودة هناك. هذه الميزة لم تكن موجودة في أي من العمليات السابقة.

آلية التراجع للترشيح

بالتوافق مع هجمات Shai-Hulud السابقة، يستخدم هذا البديل الجديد آلية احتياطية لاستخراج الأسرار من البيئات التي تفتقر إلى رموز GitHub (GH) أو بيانات الاعتماد المحلية. إذا فشل تجميع بيانات الاعتماد المحلية، تبحث البرامج الضارة بشكل نشط في GitHub عن عمليات التنفيذ التي تبدأ بعبارة توقيع محددة: “OhNoWhatsGoingOnWithGitHub”.

هذه العبارة هي رسالة الالتزام الافتراضية التي تستخدمها البرامج الضارة عند تصفية البيانات. يُلحق بهذه العبارة رمز GitHub المشفر مزدوج القاعدة 64:

"message": "OhNoWhatsGoingOnWithGitHub:WjJodlh[Redacted]" 

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

الإسناد

يقيّم Wiz بثقة عالية أن هذا هو عمل مشغلي TeamPCP أنفسهم الذين قاموا سابقًا باختراق مكتبات متعددة. يرجع هذا التقييم إلى مفتاح RSA العام المشترك المستخدم لتشفير الأسرار المسربة. وهذا يعني أن نفس المفتاح الخاص سيقوم بفك تشفير الحمولات، مما يحد من إمكانية الوصول إلى البيانات المسحوبة إلى TeamPCP.

القواسم المشتركة الإضافية:

  • تحتوي البرامج الضارة على فحص مبكر للغة النظام، وإذا تبين أنها “ru”، فإن البرامج الضارة تخرج ولا تقوم بتصفية أي أسرار. كان هذا موجودًا سابقًا في تسويات Checkmarx وBitwarden.

  • تستخدم الحزمة نفس ربط تثبيت npm لبدء التنفيذ الذي تم استخدامه في تسوية Bitwarden CLI.

  • كان الاستخلاص القائم على GitHub إلى مستودعات Dune تحت عنوان طريقة C2 الاحتياطية لعملية Bitwarden CLI، ولكنه الآن هو الخيار الأساسي.

وفي حين أن هذه العملية تحتوي على إشارات إلى عمليات شاي خلود من خريف عام 2025، إلا أنه لا يمكننا ربطها بشكل قاطع أو القول بأنها جهة فاعلة منفصلة.

حزم npm:

  • @cap-js/sqlite – الإصدار 2.2.2

  • @cap-js/postgres – الإصدار 2.2.2

  • @cap-js/db-service – الإصدار 2.10.1

  • ميغابايت – v1.2.48

@cap-js/postgres 2.2.2

ملف التجزئة
كرة القطران (3,409,213 بايت) SHA256: 1d9e4ece8e13c8eaf94cb858470d1bd8f81bb58f62583552303774fa1579edee
كرة القطران (3,409,213 بايت) SHA1: e80824a19f48d778a746571bb15279b5679fd61c
كرة القطران (3,409,213 بايت) MD5: e32eaf0c3cde9616831a1e92d42b0058
Execution.js (11,723,748 بايت) SHA256: eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb
Execution.js (11,723,748 بايت) SHA1: ca4a5bb85778ffcd2153ace88fe2d882c8ceeb23
Execution.js (11,723,748 بايت) MD5: b523a69b27064d1715d1f0aaffcfae63

@cap-js/db-service 2.10.1

ملف التجزئة
كرة القطران (3,490,641 بايت) SHA256: 258257560fe2f1c2cc3924eae40718c829085b52ae3436b4e46d2565f6996271
كرة القطران (3,490,641 بايت) SHA1: 4b04304f6d51392e3f43856c94ca95800518a694
كرة القطران (3,490,641 بايت) MD5: d468f16eafccbc54a994f3d675ace8ae
Execution.js مطابق لـ @cap-js/postgres 2.2.2

@cap-js/sqlite 2.2.2

ملف التجزئة
كرة القطران (3,395,651 بايت) SHA256: a1da198bb4e883d077a0e13351bf2c3acdea10497152292e873d79d4f7420211
كرة القطران (3,395,651 بايت) SHA1: 7b6a28e92149637e5d7c7f4a2d3e54acd507c929
كرة القطران (3,395,651 بايت) MD5: 8cd683f78735c9bfc32600c73d3d9abe
Execution.js (11,729,871 بايت) SHA256: 6f933d00b7d05678eb43c90963a80b8947c4ae6830182f89df31da9f568fea95
Execution.js (11,729,871 بايت) SHA1: bc95cc5dda788295aa0c9456791520599ef99526
Execution.js (11,729,871 بايت) MD5: 6fb87d243b011b5445f379f80e1a6b4d

إم بي تي 1.2.48

ملف التجزئة
كرة القطران (3,373,788 بايت) SHA256: 86282ebcd3bebf50f087f2c6b00c62caa667cdcb53558033d85acd39e3d88b41
كرة القطران (3,373,788 بايت) SHA1: 0af7415d65753f6aede8c9c0f39be478666b9c12
كرة القطران (3,373,788 بايت) MD5: 04d8a99447b16f6839fff3b978f88d7e
Execution.js (11,678,349 بايت) SHA256: 80a3d2877813968ef847ae73b5eeeb70b9435254e74d7f07d8cf4057f0a710ac
Execution.js (11,678,349 بايت) SHA1: 6bc859aaee1f8885eec2a3016226e877e5adba08
Execution.js (11,678,349 بايت) MD5: 45dc9c02f82b4370ca92785282d43a86

القطارة المشتركة (جميع الحزم الأربعة)

ملف التجزئة
setup.mjs (4,549 بايت) SHA256: 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34
setup.mjs (4,549 بايت) SHA1: 307d0fa7407d40e67d14e9d5a4c61ac5b4f20431
setup.mjs (4,549 بايت) MD5: 35baf8316645372eea40b91d48acb067
  • تحديد التعرض على الفور: ابحث في البيئات وملفات القفل ومخازن العناصر وسجلات CI عن إصدارات الحزم المتأثرة والملفات الضارة (setup.mjs وexecution.js).

  • تدوير جميع بيانات الاعتماد: في حالة الاشتباه في التعرض، قم بتدوير رموز GitHub، ورموز npm، وبيانات الاعتماد السحابية، ورموز Kubernetes المميزة، وأسرار CI/CD، حيث تستهدف هذه البرامج الضارة جميعها.

  • تدقيق نشاط GitHub: ابحث عن الالتزامات المشبوهة أو المستودعات المنشأة حديثًا أو المؤشرات مثل الكلمة الأساسية للانتشار ومؤلفي الالتزام غير العاديين.

شاركها.
اترك تعليقاً