اكتشف باحثو الأمن السيبراني حزمتي npm مخترقتين ومجموعة من حزم Go المصممة لنشر أداة سرقة المعلومات المستندة إلى Python على مضيفات Windows وLinux وmacOS المعرضة للخطر.
وقال JFrog في تحليل فني: “يتجنب هذا الهجوم مسارات تنفيذ npm الأكثر شيوعًا من خلال البرامج النصية لدورة الحياة، ربما في محاولة للبقاء “متوافقًا” مع التشديدات الأمنية لـ npm v12″.
“تخفي الحزمة التنفيذ داخل مهمة VS Code، وتم تكوينها للتشغيل تلقائيًا عند فتح مجلد المشروع في VS Code. ومن هناك، تسترد البرامج الضارة جافا سكريبت المشفر من بيانات معاملات blockchain، وتتصل بالبنية التحتية التي يتحكم فيها المهاجم، وتطلق الباب الخلفي لـsocket.io، وتنشر في النهاية أداة سرقة معلومات Python.
أسماء حزم npm المحددة مذكورة أدناه –
- أتش تي أم أل إلى جوتنبرج
- جلب أصول الصفحة (الذي يدرج html-to-gutenberg باعتباره تبعية)
تم تحميل الحزمتين إلى npm في 25 مايو 2026، ولم تعدا متاحتين للتنزيل من السجل. نقطة البداية للهجوم هي مهمة Microsoft Visual Studio Code (VS Code) مخفية تسمى “eslint-check” والتي تم تكوينها باستخدام خيار “runOn: ‘folderOpen'” لبدء تنفيذ تعليمات برمجية عشوائية عند فتح المجلد كمجلد مساحة عمل في IDE مثل VS Code أو Cursor.
قال JFrog: “إنهم لا ينفذون بشكل متكرر كل .vscode/tasks.json المتداخل؛ في هذه الحالة، يتم تشغيل المشغل عندما يتم فتح دليل الحزمة الضارة نفسه كمساحة عمل ويتم وضع علامة عليه كموثوق، أو عندما يسمح المطور صراحةً بالمهام التلقائية”. “يخفي الأمر أيضًا الحمولة كملف خط – public/fonts/fa-solid-400.woff2، على الرغم من أن الملف يحتوي فقط على تعليمات برمجية JavaScript.”
تجدر الإشارة إلى أن إساءة استخدام مهمة التشغيل التلقائي لـ VS Code، إلى جانب إخفاء برامج JavaScript الضارة كملفات خطوط، قد نُسبت إلى كوريا الشمالية. وقد وصفه فريق OpenSourceMalware، الذي يتتبع النشاط تحت اسم Fake Font، بأنه نسخة مختلفة من Contagious Interview، وهي حملة طويلة الأمد تستهدف مطوري البرامج والموظفين الفنيين من خلال عمليات مقابلات عمل احتيالية.

وأشار الباحث الأمني بول مكارتي في شهر يناير إلى أن “حملة “Fake Font” هذه توفر أداة تحميل متعددة المراحل تنشر في النهاية الباب الخلفي InvisibleFerret Python، المصمم لسرقة محافظ العملات المشفرة وبيانات اعتماد المتصفح وإنشاء وصول مستمر”. “هذه هي الحملة الفرعية الثالثة لحملة Contagious Interview المستمرة منذ عام 2023.”
يستخدم ملف الخط المزيف البنية التحتية لـ blockchain كمحلل للسقوط الميت، ويعتمد على TronGrid وAptos كآلية احتياطية لجلب حمولة JavaScript للمرحلة التالية بطريقة مرنة لجهود الإزالة. تكرر مرحلة JavaScript نفس نمط الاسترداد الميت لتكوين خادم الأمر والتحكم (C2) الذي يتيح تحميل الملفات وتسليم البرامج الضارة لـ Python.
يتضمن ذلك إعداد باب خلفي لـSocket.io يمنح المشغل التحكم عن بعد في المضيف المصاب من خلال ميزات مثل تنفيذ الصدفة، وجمع الحافظة، وعمليات نظام الملفات، وتحميل الملفات، وإدارة العمليات، وتنفيذ JavaScript التعسفي.
بالتوازي، تطلق سلسلة العدوى مكون محمل Python المسؤول عن استرداد Python infostealer من خادم C2 وتثبيت التبعيات الضرورية. الأداة عبارة عن أداة واسعة النطاق لسرقة بيانات الاعتماد والمتصفح والمحفظة والمطورين يمكنها سحب البيانات المخزنة في المتصفحات المستندة إلى Chromium وMozilla Firefox ومديري كلمات المرور والموثقين ومحافظ العملات المشفرة.
كما أنه مجهز لجمع المعلومات الموجهة للمطورين مثل بيانات اعتماد Git وGitHub CLI hosts.yml وسجلات GitHub Desktop وVS Code والتخزين العالمي، بالإضافة إلى البيانات من Windows Credential Manager وLinux Secret Service وKDE Wallet وmacOS Keychain والبيانات التعريفية للتخزين السحابي لـ Dropbox وGoogle Drive وMicrosoft OneDrive وApple iCloud وBox وMega وpCloud.
في المرحلة النهائية، يتم تجميع البيانات المجمعة في أرشيفات مضغوطة بتنسيق ZIP وتحميلها إلى خادم C2 وإلى روبوت Telegram في حالة توفير المهاجم لرمز الروبوت أثناء وقت التشغيل.
استهدفت الحملة أيضًا نظام Go البيئي، حيث اكتشفت Nextron Systems مجموعة من 16 حزمة Go تحتوي على نفس البرامج الضارة. القائمة هي كما يلي –
- github.com/lambda-platform/lambda
- github.com/reauheau/goaubio
- github.com/glacialspring/go-winsparkle
- github.com/bm-197/chill
- github.com/naol7/dist-task-scheduler
- github.com/anatoli-derese/a2sv-excercise
- github.com/amantsehay/a2sv-go-course
- github.com/dexbotsdev/uniswap-v2-v3-arbitrage
- github.com/lambda-platform/ebarimt-rest-api
- github.com/lambda-platform/dan
- github.com/zainirfan13/graphql-client
- github.com/hngi/team-fierce-backend-golang
- github.com/glacialspring/static
- github.com/rickt/slack-weather-bot
- github.com/Barsu5489/commerce
- github.com/Setsu548/Logistic
وأضاف JFrog: “يبدو أن معظمها عبارة عن حزم مشروعة، وقد تضمن أحدث إصدار تم إصداره البرامج الضارة إلى جانب محتويات الحزمة الأصلية، باستخدام نفس البنية وملف الخط المزيف”.
يُنصح المستخدمون الذين قاموا بتثبيت الحزم بإزالتها بأثر فوري، والبحث في أجهزة المطورين عن المهام المخفية لفتح مجلد VS Code، وتدوير بيانات الاعتماد، والرموز المميزة، وبيانات الاعتماد السحابية، ومفاتيح API، وبيانات الاعتماد المخزنة في المتصفح، وبيانات اعتماد المحفظة.
وخلصت شركة الأمن السيبراني إلى أن “الحمولات تظهر أن المهاجم كان مهتمًا بالسرقة الفورية والوصول التفاعلي”. “يوفر الباب الخلفي القائم على مقبس io تنفيذ الأوامر وجمع الملفات، بينما تقوم مرحلة بايثون بجمع بيانات الاعتماد والمحفظة على نطاق واسع عبر المتصفحات ومخازن بيانات اعتماد نظام التشغيل وأدوات المطورين وتطبيقات العملات المشفرة.”
