كشفت تقارير أمنية حديثة عن حملة قرصنة منظمة تستهدف مطوري البرمجيات حول العالم، بقيادة جهات فاعلة مدعومة من كوريا الشمالية. تستغل هذه الحملة، المسماة “Contagious Interview”، البنى التحتية لمستودعات الشيفرات مثل npm وGitHub ومنصات الاستضافة مثل Vercel لنشر برمجيات خبيثة من نوع OtterCookie.
تُظهر هذه العملية المتطورة كيف تتكيف الجهات الخبيثة مع أساليب تطوير البرمجيات الحديثة، لا سيما في بيئات JavaScript وWeb3. وقد تم رصد ما لا يقل عن 197 حزمة npm خبيثة جديدة منذ 10 أكتوبر 2025، وتم تسجيل أكثر من 31,000 عملية تنزيل إضافية لهذه الحزم خلال الموجة الأخيرة وحدها.
جهات كورية شمالية وراء استغلال npm وGitHub لنشر برمجيات خبيثة
تعتمد هذه الهجمات على منهجية دقيقة لسلسلة التوريد. يقوم المهاجمون بإنشاء ملفات تعريف وهمية للمطورين على GitHub، ونشر حزم تحمل أخطاء إملائية على npm لمحاكاة المكتبات الشرعية، واستخدام Vercel لاستضافة الحمولة الخبيثة.
عندما يقوم المطورون، دون علم منهم، بتثبيت هذه الحزم المصابة، يتم تشغيل برمجية نصية تلقائية (postinstall script) تتواصل مع نهايات طرفية يتحكم بها المهاجم لجلب وتشغيل أحدث نسخة من برمجية OtterCookie.
هذا التكامل السلس مع سير عمل التطوير القياسي يجعل الهجوم خطيرًا بشكل خاص، حيث يتجاوز الوعي الأمني التقليدي، نظرًا لتوقع المطورين لتنفيذ الشيفرات عند تثبيت حزم npm.
بنية تحتية متطورة للحملة
تشير التحليلات الأمنية الواردة من Socket.dev إلى أن البنية التحتية لهذه حملة “Contagious Interview” تعكس عملية مدروسة جيدًا.
تمكّن الباحثون من تتبع الحزم الخبيثة، مثل “tailwind-magic” التي تحاكي مكتبة “tailwind-merge” الشرعية، إلى حساب GitHub تابع للمهاجمين باسم “stardev0914” ونقطة نهاية استضافة على Vercel باسم “tetrismic.vercel.app”.
ضم هذا الحساب ما لا يقل عن 18 مستودعًا مصممًا ليكون بمثابة مركبات توصيل وجاذبات مقنعة، مع مستودعات تركز على مشاريع العملات المشفرة، بما في ذلك واجهات وهمية لمنصات التداول اللامركزية (DEX) ومواقع لرموز.
توجهت ما لا يقل عن خمس حزم خبيثة أساسية، بما في ذلك “node-tailwind” و”tailwind-node” و”react-modal-select”، عبر هذه البنية التحتية.
برمجية OtterCookie: تجسس وتحكم عن بعد
يعكس هيكل البرمجية الخبيثة نفسها تطويرًا متطورًا. تعمل OtterCookie كأداة لسرقة المعلومات (infostealer) وباب خلفي للتحكم عن بعد (remote access trojan) تتمتع بقدرات عبر الأنظمة الأساسية عبر Windows وmacOS وLinux.
بمجرد تنفيذها ضمن عملية Node.js، تجري البرمجية الخبيثة فحوصات بيئية أولية للكشف عن الأجهزة الافتراضية والبيئات المعزولة (sandboxes)، وتجمع بصمة الجهاز المصاب، ومن ثم تنشئ اتصالاً ثنائي الاتجاه مع خوادم القيادة والتحكم.
يضمن نهج اكتشاف التخفي هذا أن البرمجية الخبيثة تنشط بالكامل فقط على أجهزة المطورين الشرعية، بدلاً من بيئات التحليل التي يعمل فيها الباحثون الأمنيون عادةً.
آليات الإصابة والاستمرارية
تُظهر آلية الإصابة هندسة دقيقة. تستخدم حزم npm الخبيثة برمجية نصية تعمل عند قيام المطورين بتشغيل الأمر `npm install`.
يقوم هذا النص باستدعاء نقطة نهاية المهاجم على `https://tetrismic.vercel.app/api/ipcheck` باستخدام مكتبة axios، والتي تعيد شيفرة JavaScript مضمنة في حقل JSON يسمى “model”.
بعد ذلك، تستخرج الحزمة هذا الحقل وتقوم بتنفيذه باستخدام `eval` داخل عملية Node.js للضحية، مما يمنح المهاجمين امتيازات Node.js كاملة ويتيح تنفيذ الشيفرات بشكل عشوائي.
يقوم خادم الاستضافة بتحديث حمولة `main.js` باستمرار، مما يسمح للمهاجمين بتدوير إصدارات البرمجيات الخبيثة عبر حزم متعددة وتخصيص الاستجابات لكل هدف.
بمجرد نشرها، تنشئ OtterCookie استمرارية عبر آليات متعددة. على أنظمة Windows، تنشئ البرمجية الخبيثة مهام مجدولة باسم “NodeUpdate” تعمل عند تسجيل الدخول بأعلى الامتيازات، وتضيف إدخالات في سجل النظام تحت `HKCURunNodeHelper`.
تقوم الحمولة الفعلية بتوليد ثلاث عمليات عاملة غير متزامنة باستخدام `child_process.spawn`، كل منها تعمل كعملية Node.js منفصلة مع توجيه `stdio` إلى التجاهل وتعيين العلامة `windowsHide` إلى true.
تقوم هذه العمليات بعد ذلك بإلغاء تسجيل نفسها (`unref`)، مما يسمح لها بالاستمرار في العمل في الخلفية بعد انتهاء المحمل الأولي.
في الوقت نفسه، تقوم البرمجية الخبيثة بتسجيل ضغطات المفاتيح على مستوى النظام باستخدام وحدة `GlobalKeyboardListener`، وتلتقط لقطات شاشة من جميع الشاشات المتصلة كل 5 ثوانٍ، وتستخرج محتويات الحافظة، وتمسح نظام الملفات بشكل متكرر بحثًا عن ملفات تطابق أنماط مثل “.env” و”metamask” و”phantom” و”seed” لجمع بيانات محافظ العملات المشفرة وبيانات الاعتماد.
تمتد قدرات جمع البيانات الشاملة لتشمل ملفات تعريف المتصفحات. تستهدف البرمجية الخبيثة بشكل خاص متصفحات Chrome وBrave على جميع أنظمة التشغيل الثلاث، وتصل إلى بيانات اعتماد تسجيل الدخول المخزنة عن طريق الاستعلام عن قاعدة بيانات SQLite “Login Data” الموجودة في دليل ملف تعريف كل متصفح.
بالإضافة إلى ذلك، تحدد وتستخرج البيانات من ما لا يقل عن 42 امتدادًا مختلفًا للمتصفحات الخاصة بمحافظ العملات المشفرة، بما في ذلك MetaMask وPhantom وKeplr وعشرات غيرها التي يستخدمها مطورو Web3 بشكل شائع.
تتدفق جميع البيانات التي تم جمعها عبر البنية التحتية للقيادة والتحكم على عنوان IP 144.172.104.117، والذي يتعامل مع كل من جمع البيانات وإصدار الأوامر، مما يسمح للمهاجمين بإصدار أوامر عن بعد والحفاظ على وصول تفاعلي دائم عبر سطر الأوامر.

