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

ملخص
- أصابت نسخة Shai Hulud v2 أكثر من 500 حزمة npm (أكثر من 700 إصدار) وامتدت إلى Java/Maven – يا للهول!
- تشغل الحزم المصابة مُحمّل تثبيت مسبق يُنزّل Bun ويُنفّذ حمولة مُعتمة بحجم 10 ميجابايت بصمت.
- تستخرج الحمولة متغيرات البيئة (GITHUB_TOKEN، NPM_TOKEN، مفاتيح AWS)، وتفحصها بحثًا عن الأسرار؛ وتُصلح C2 نفسها ذاتيًا عبر GitHub.
في هذه الأيام، ليست هجمات سلسلة التوريد التي تستهدف npm نادرة. لقد مرّ شهران، لكننا عدنا بهجوم آخر – هذا الهجوم أثّر على أكثر من 500 حزمة. يا للهول!
أدت حملة هجوم سلسلة توريد متطورة تُسمى “Shai Hulud v2” إلى اختراق مئات الحزم داخل بيئة npm، وامتدت الآن إلى عناصر Java/Maven. أثر الهجوم بالفعل على أكثر من 500 حزمة و700 إصدار، متسللاً إلى برامج من موردين رئيسيين، بما في ذلك Zapier وPostman وPostHog وAsyncAPI وENS Domains.
وبناءً على ما توصلنا إليه، يعتمد ناقل العدوى على مُحمّل ثنائي المراحل مصمم لتجنب الكشف. تحتوي الحزم المُخترقة على نص برمجي مسبق التثبيت في ملف package.json الخاص بها، والذي يُنفّذ ملفًا باسم setup_bun.js. يعمل هذا النص البرمجي كمُحمّل خفي يكتشف تلقائيًا نظام التشغيل المُضيف وبنيته. ثم يحدد موقع أو يُنزّل وقت تشغيل Bun – وهو وقت تشغيل JavaScript سريع – ويُنفّذ حمولة ضخمة مُعتمة بحجم 10 ميجابايت بعنوان bun_environment.js. تُلغي هذه العملية جميع المخرجات القياسية وسجلات الأخطاء، وبالتالي تظل عمليات الخلفية الضارة غير مُكتشفة أثناء تثبيت الحزمة.
تجدر الإشارة إلى أن المشكلة يبدو أنها تمتد بالفعل إلى بيئة Maven. لاحظ الباحثون وجود الحمولة الخبيثة في org.mvnpm:posthog-node، وهي أداة Maven تُولّد تلقائيًا من حزم npm. هذا يؤكد أن الربط الآلي بين أنظمة البرمجيات يمكنه سد الثغرات الأمنية عن غير قصد، مما يسمح فعليًا للبرمجيات الخبيثة القائمة على JavaScript بتلويث بيئات Java. يا للهول!
تستخدم البرمجية الخبيثة بنية تحتية C2 مرنة “ذاتية الإصلاح”. عند تنفيذها، تبحث في مستودعات GitHub العامة عن عبارة منارة محددة: “Sha1-Hulud: The Second Coming”. في حال العثور عليها، تسترد البرمجية الخبيثة رمز وصول GitHub مخفيًا ومشفّرًا بثلاث قواعد 64 من المستودع. يُستخدم هذا الرمز بعد ذلك كبيانات اعتماد أساسية لاستخراج البيانات. يتيح هذا للمهاجمين “إعادة نشر” الحملة عن طريق إنشاء مستودعات جديدة في حال إزالة المستودعات السابقة، لذا فهي في الواقع مقاومة جدًا لمحاولات الإزالة.
يبدو أن الهدف الرئيسي للبرمجية الخبيثة هو سرقة بيانات الاعتماد على نطاق واسع. فهي تلتقط جميع متغيرات البيئة، بما في ذلك GITHUB_TOKEN وNPM_TOKEN وAWS_ACCESS_KEY_ID. علاوة على ذلك، تقوم بتنزيل أداة TruffleHog الأمنية وتشغيلها لفحص نظام الملفات بأكمله بدقة بحثًا عن الأسرار المُضمنة.
إذا كنت ترغب في قراءة المزيد حول تفاصيل هذه المشكلة، فهذا التقرير مُفصّلٌ للغاية.


