تم اكتشاف حزمة npm خبيثة تُدعى js-logger-pack، تقوم بتحويل منصة Hugging Face، وهي منصة شهيرة لاستضافة نماذج الذكاء الاصطناعي، إلى شبكة لتوزيع البرامج الضارة وخلفية لتخزين البيانات المسروقة. يأتي هذا الاكتشاف ليُسلط الضوء على أساليب المهاجمين المتطورة في استغلال الخدمات السحابية الموثوقة لتنفيذ هجمات سلسلة التوريد.
بدت الحزمة في البداية غير ضارة، حيث كانت تقوم بتحميل أداة تسجيل بيانات تبدو ظاهريًا مفيدة، ولكنها في الواقع كانت تخفي تهديدًا مزدوجًا. تبدأ العملية الخبيثة عبر سكربت postinstall الذي يتم تشغيله تلقائيًا عند تثبيت الحزمة، مما يسمح بتشغيل عملية خلفية منفصلة تسمح لبرنامج التثبيت بالانتهاء بشكل طبيعي بينما يستمر المحمل الخفي في العمل.
استغلال Hugging Face كبنية تحتية لتوزيع البرامج الضارة
بناءً على نظام التشغيل المستهدف، تقوم العملية الخبيثة بتحميل واحد من أربعة ملفات ثنائية خبيثة من مستودع Hugging Face عام يتحكم به المهاجم، تحت اسم المستخدم “Lordplay/system-releases”. لقد نجح باحثو JFrog Security في تحديد واستخراج حمولة JavaScript المضمنة من هذه الملفات الثنائية التي تعمل عبر أنظمة تشغيل متعددة (Windows، macOS، Linux).
وقد أكد تحليلهم أن نفس حزمة JavaScript عبر المنصات تم حقنها في كل حاوية، مع وجود كافة المنطق الخبيث مدمجًا في تلك الحزمة الواحدة. لم تكن الملفات الثنائية الأربعة عائلات برامج ضارة منفصلة، بل كانت مجرد زرعة واحدة مغلفة في أربع حاويات مختلفة لوقت تشغيل Node.js. تم نشر هذه النتائج التفصيلية في 23 أبريل 2026.
آلية العمل والانتشار
بمجرد نشرها، تقوم هذه الزرعة بتثبيت نفسها بشكل مستمر عبر آليات خاصة بكل نظام تشغيل، مثل المهام المجدولة ومفاتيح التشغيل في سجل ويندوز، وإدخالات LaunchAgent في macOS، ووحدات نظام systemd للمستخدمين في Linux. بعد ذلك، تبدأ في إرسال معلومات النظام إلى خادم قيادة وتحكم ثابت العنوان (195[.]201[.]194[.]107) عبر WebSocket.
لقد أتاح ذلك للمهاجم موطئ قدم حي قادر على قراءة وكتابة أي ملفات، والبحث عن بيانات الاعتماد، وتسجيل ضغطات المفاتيح، ومراقبة الحافظة، ونشر المزيد من الحمولات. ما جعل هذه الحملة مقلقة بشكل خاص ليس فقط سلسلة العدوى، بل اختيار وجهة استخراج البيانات.
Hugging Face كخلفية لاستخراج البيانات
الجزء الأكثر إثارة للانتباه تقنيًا في هذه الحملة هو استخدام Hugging Face كقناة مباشرة لسرقة البيانات. عندما يقوم المهاجم بتشغيل مهمة تحميل عبر خادم القيادة والتحكم، يتلقى برنامج الزرعة رمز Hugging Face، واسم مستخدم، ومسار مستهدف، ومعرف تحميل.
يقوم الزرعة بضغط الملف أو المجلد المطلوب في أرشيف gzip، ثم يقوم بإنشاء أو إعادة استخدام مجموعة بيانات خاصة على Hugging Face تحت حساب المهاجم، ويقوم بتحميل الأرشيف باستخدام عميل Hugging Face مدمج. بمجرد الانتهاء، يقوم الزرعة بإخطار المتحكم المستضيف على Hetzner. تم تعقب التحميلات المعلقة في ملف حالة محلي واستئنافها عند إعادة الاتصال، مما يضمن عدم فقدان أي بيانات مسروقة حتى لو انقطع الاتصال.
لقد منح هذا المهاجم ميزة تشغيلية حقيقية. لم يضطر خادم القيادة والتحكم أبدًا إلى تخزين المحتوى المسروق مباشرة، مما قلل من تعرضه وجعل حركة المرور أكثر صعوبة في الكشف عنها. ببساطة، قام المهاجم بتوجيه الزرعة إلى حسابات Hugging Face التي يتحكم بها، وترك المنصة تتولى عملية التخزين.
كما أن الزرعة تدعم ميزة لمسح الجلسة تقوم بإغلاق عمليات المتصفح ومسح بيانات الاعتماد، مما يجبر المستخدمين على إعادة إدخال كلمات المرور بينما يكون مسجل المفاتيح (keylogger) يعمل بالفعل. يمكن التقاط أي بيانات اعتماد يتم إدخالها بعد تسجيل الخروج الإجباري هذا وإرسالها إلى مجموعة بيانات خاصة في غضون دقائق.
يوصى بتدوير جميع الأسرار فورًا، بما في ذلك مفاتيح AWS، ومفاتيح SSH، ورموز npm، وكلمات مرور قاعدة البيانات، ومفاتيح API، وبيانات اعتماد المتصفح. يجب إزالة جميع آثار الثبات عن طريق حذف المهمة المجدولة MicrosoftSystem64، أو مفتاح التشغيل في السجل، أو إدخال LaunchAgent، أو وحدة systemd، حسب نظام التشغيل. قم بتطهير الحزمة ومسح ذاكرة التخزين المؤقت لـ npm، ثم قم بتشغيل “npm config set ignore-scripts true” لمنع تشغيل خطافات postinstall تلقائيًا. يجب مراجعة جميع تغييرات تبعيات package.json بعناية، بما في ذلك التحديثات الطفيفة للمستوى التصحيحي. يجب التعامل مع أي جهاز قام بتشغيل js-logger-pack الإصدار 1.1.27 على أنه مخترق بالكامل حتى يتم تدوير جميع الأسرار وإزالة جميع آثار الثبات.

