تكشف حزم npm المخترقة حملة جديدة تستغل VS Code لتثبيت سارق معلومات مكتوب ببايثون على ويندوز ولينكس وmacOS بصمت.
ما قصة حزم npm المخترقة الجديدة؟
رصد باحثون أمنيون حزمتين مخترقتين على npm، إلى جانب مجموعة من حزم Go، صُممت لبدء سلسلة إصابة متعددة المراحل تستهدف المطورين مباشرة. الخطورة هنا لا تتعلق فقط بوجود شيفرة خبيثة داخل الحزمة، بل بالطريقة التي جرى بها إخفاء التنفيذ لتفادي المسارات التقليدية التي تراقبها أدوات الأمان.
وبدل الاعتماد على lifecycle scripts المعتادة في npm، تم تضمين آلية تشغيل بديلة داخل بيئة التطوير نفسها. هذا الأسلوب يمنح المهاجمين فرصة لتمرير البرمجية الخبيثة بهدوء، خصوصاً عندما يفتح المطور المشروع داخل المحرر ويثق بمحتواه.
كيف تستغل حزم npm المخترقة مهام VS Code؟
تعتمد الحملة على مهمة مخفية داخل VS Code تحمل اسماً يبدو عادياً مثل eslint-check. وتم ضبطها بخيار التشغيل التلقائي عند فتح المجلد، ما يعني أن تنفيذ الأوامر قد يبدأ بمجرد فتح مساحة العمل في VS Code أو أدوات مشابهة مثل Cursor.
الأخطر أن الحمولة جرى تمويهها على هيئة ملف خطوط داخل المسار public/fonts/fa-solid-400.woff2، بينما يحتوي الملف فعلياً على JavaScript خبيث. وبهذا الشكل، قد يمر الملف على المطور أو حتى على بعض الفحوصات السريعة دون إثارة الشكوك.
- التشغيل يبدأ عند فتح المجلد داخل بيئة التطوير.
- المهمة المخفية تبدو كأنها جزء من أدوات الفحص البرمجي.
- الحمولة تتنكر في هيئة ملف خطوط بصيغة woff2.
- الاستهداف يشمل ويندوز ولينكس وmacOS.
لماذا هذا الأسلوب مقلق للمطورين؟
لأنه يستغل سلوكاً يومياً طبيعياً: فتح مشروع جديد وتجربته سريعاً. ووفقاً لمتابعة تيكبامين، فإن الجمع بين الثقة في مساحة العمل والتنفيذ التلقائي للمهام يخلق نقطة ضعف عملية داخل سلاسل التوريد البرمجية.
ماذا تفعل البرمجية الخبيثة بعد التنفيذ؟
بعد تشغيل المهمة، تبدأ المرحلة التالية بجلب شيفرة JavaScript مشفرة من بيانات معاملات على شبكات بلوكتشين، مع وجود آليات بديلة لضمان استمرار الوصول إلى الحمولة اللاحقة. ثم تتصل البرمجية ببنية تحتية يتحكم بها المهاجم، وتفتح قناة خلفية عبر socket.io قبل إسقاط سارق معلومات مبني بلغة Python.
الهدف النهائي هو جمع بيانات حساسة من الجهاز المصاب، بما في ذلك محافظ العملات الرقمية وبيانات تسجيل الدخول المخزنة في المتصفح، إلى جانب الحفاظ على وصول مستمر للجهاز المصاب لأطول فترة ممكنة.
- جلب حمولة خبيثة من مصادر خارجية وبطريقة مموهة.
- فتح باب خلفي للتواصل مع خوادم المهاجم.
- تنزيل Python infostealer لسرقة البيانات.
- استهداف كلمات المرور ومحافظ الكريبتو وبيانات المتصفح.
كيف يحمي المطورون أنفسهم من هذا التهديد؟
أفضل خطوة هي التعامل بحذر مع أي مشروع غير موثوق قبل فتحه داخل VS Code، خصوصاً إذا كان يحتوي على مجلد .vscode أو ملفات tasks.json. كما يُنصح بمراجعة المهام التلقائية، وتعطيل التشغيل التلقائي عند الحاجة، وعدم منح الثقة للمشاريع الجديدة بشكل متسرع.
- فحص ملفات .vscode وtasks.json قبل تشغيل المشروع.
- تعطيل المهام التلقائية في المشاريع غير الموثوقة.
- مراجعة تبعيات npm وGo بشكل دوري.
- استخدام أدوات فحص سلاسل التوريد البرمجية.
في النهاية، تؤكد حزم npm المخترقة أن الهجمات لم تعد تكتفي بالحزمة نفسها، بل أصبحت تستغل أدوات التطوير وسلوك المطور اليومي. ولهذا، ترى تيكبامين أن حماية بيئة العمل لا تقل أهمية عن فحص الشيفرة والتبعيات قبل الاستخدام.