وقد لوحظ أن الجهات الفاعلة في مجال التهديد في كوريا الشمالية المرتبطة بحملة Contagious Interview تنشر 108 حزمة فريدة وملحقات لمتصفح الويب تشمل npm وPackagist وGo وGoogle Chrome كجزء من نشاط مستمر يشار إليه باسم PolinRider.
وقال كارلو زانكي، الباحث الأمني في شركة سوكيت، في تحليل نُشر هذا الأسبوع: “لا تزال الحملة نشطة، ومن المرجح أن تستمر الحزم الضارة الجديدة في الظهور حيث تقوم جهات التهديد بتسوية حسابات المشرفين، وتعديل المستودعات الشرعية، ونشر إصدارات الحزم المصابة حيث يحتفظون بالوصول إلى التسجيل أو يحصلون عليه”.
تشمل عناصر الإصدار الضارة البالغ عددها 162 إصدارات إصدارات متعددة تتوافق مع 108 حزمة وامتدادات فريدة، بما في ذلك 19 مكتبة npm، و10 حزم Composer، و61 وحدة Go، وملحق Google Chrome واحد.
المقابلة المعدية هو اللقب المخصص لحملة متحالفة مع كوريا الشمالية تستخدم التوظيف كسلاح لاستهداف مطوري البرامج والأفراد العاملين في قطاعات العملات المشفرة، وذلك باستخدام مقابلات وظيفية وتقييمات مقنعة لخداعهم لتنفيذ تعليمات برمجية ضارة.
ومن المعروف أن هذا النشاط نشط منذ عام 2023 على الأقل. يتنكر المهاجمون في هيئة مسؤولي توظيف أو متعاونين على منصات مثل LinkedIn أو GitHub أو مواقع الويب المستقلة، وغالبًا ما يقومون بإنشاء شركات واجهة متقنة وملفات تعريف الموظفين التي تم إنشاؤها بواسطة الذكاء الاصطناعي لبناء الثقة وتقديم البرامج الضارة في نهاية المطاف.
تم الإبلاغ عن PolinRider لأول مرة من قبل فريق OpenSourceMalware في مارس 2026، واصفًا إياه بأنه يتضمن جهات تهديد تزرع حمولات JavaScript ضارة ومبهمة في مئات من مستودعات GitHub العامة التي تنتمي إلى العديد من المالكين الفريدين لتقديم متغير جديد من BeaverTail، وهو برنامج JavaScript ضار معروف مرتبط بـ Contagious Interview.
اعتبارًا من 11 أبريل 2026، أدى النشاط إلى اختراق 1951 مستودعًا عامًا على GitHub مرتبطًا بـ 1047 مالكًا فريدًا، مع الدمج أيضًا مع مجموعة أخرى تسمى TaskJacker والتي تسقط ملفات مهام VS Code الضارة في المستودعات الحالية لمستخدمي GitHub. تتضمن مهام VS Code خيار “runOn: ‘folderOpen'” لبدء تنفيذ تعليمات برمجية عشوائية عند فتح المجلد كمجلد مساحة عمل في IDE مثل VS Code أو Cursor.
وقال OpenSourceMalware: “لا يستخدم ممثل التهديد بيانات اعتماد GitHub المسروقة”. “بدلاً من ذلك، تم اختراق الضحايا عبر ملحق VS Code الخبيث أو حزمة npm.” من المعتقد أن المهاجمين يستولون على حسابات الصيانة، على الأرجح من خلال الاستيلاء على النطاق منتهي الصلاحية أو مسار استرداد حساب آخر، لتنفيذ المخطط.
بمجرد تنفيذها، تبحث البرامج الضارة في الكمبيوتر المصاب عن ملفات معينة مثل “postcss.config.mjs”، و”tailwind.config.js”، و”eslint.config.mjs”، وnext.config.mjs، وbabel.config.js، و”app.js”، وإذا تم العثور عليها، فإنها تُلحق تعليمات برمجية JavaScript ضارة بها.
كما أنه يستخدم البرنامج النصي الدفعي لنظام التشغيل Windows لتعديل الالتزام الأخير بشكل خفي، مع جعله يبدو كما لو أنه تم إجراؤه بواسطة المؤلف الأصلي. يُشتبه في أنه يتم استخدام أدوات مماثلة لإعادة كتابة سجل Git لأنظمة التشغيل الأخرى مثل Linux وmacOS.
وقال سوكيت: “تظل التجارة الأساسية متسقة عبر الحملة: حيث تقوم الجهات الفاعلة في مجال التهديد بزرع أدوات تحميل جافا سكريبت المبهمة في مستودعات مشروعة، وإخفاء التعليمات البرمجية من خلال حشو المسافات البيضاء أو ملفات خطوط woff2 المزيفة، وتشغيل التنفيذ من خلال أدوات المطورين مثل ملفات مهام VS Code”.
في الموجة الأخيرة، تعمل الحمولة كمحمل برامج JavaScript الضارة الذي يصل إلى البنية التحتية لـ blockchain، بما في ذلك خدمات TRON وAptos وBNB Smart Chain، لجلب حمولة مشفرة في المرحلة الثانية يتم تفريغها إلى DEV#POPPER RAT وOmniStealer. تم تفصيل سلسلة الهجوم هذه بواسطة eSentire في مارس 2026.
وقال زانكي: “تستخدم الجهات الفاعلة في مجال التهديد إعادة كتابة سجل Git، بما في ذلك عمليات الدفع القسري والالتزامات المضادة للتأريخ لجعل التغييرات الضارة تبدو أقدم وأقل إثارة للريبة”. “هذا يجعل صفحة GitHub المقصودة وسجل الالتزام المرئي مؤشرات غير موثوقة للتسوية؛ يجب على المدافعين مراجعة سجلات نشاط المستودع، والبيانات التعريفية لإصدار الحزمة، وتكوين مهمة VS Code، والتغييرات المشبوهة في ملفات التكوين.”
يأتي هذا التطوير في الوقت الذي كشفت فيه JFrog عن مجموعة من حزم npm المرتبطة بـ Contagious Interview، والتي تم تنكر بعضها كأدوات Rollup polyfill لتمكين الوصول عن بعد وسرقة البيانات. في وقت سابق من هذا الأسبوع، تم تحديد مجموعة أخرى من حزم npm وحزم Go على أنها تتضمن مهام التشغيل التلقائي لـ VS Code لتشغيل حمولات JavaScript متخفية في شكل ملفات خطوط مزيفة، مما يشير إلى التداخلات التكتيكية بين Fake Font وTaskJacker وPolinRider.
يجب على المستخدمين الذين قاموا بتثبيت هذه الحزم التعامل مع البيئة على أنها مخترقة، وتدوير الأسرار المكشوفة من جهاز نظيف، وإزالة الإصدارات المتأثرة وإعادة البناء من ملف قفل جيد معروف، ومراجعة محطات عمل المطورين والمستودعات لمسارات التنفيذ المخفية أو الالتزامات المشبوهة التي عدلت ملفات “.vscode/tasks.json” و”config.js” و”vite.config.js” و”eslint.config.js”.
