كشفت الجهود الأمنية عن هجوم جديد يستهدف مطوري البرمجيات الذين يعتمدون على أدوات الذكاء الاصطناعي في برمجة الأكواد، حيث تم نشر حزمة npm خبيثة تحمل اسم “gemini-ai-checker” بتاريخ 20 مارس 2026. تهدف هذه الحزمة إلى سرقة بيانات الاعتماد والرموز من أدوات الذكاء الاصطناعي الشائعة.
تمكن المهاجمون من خداع المطورين من خلال تقديم الحزمة على أنها أداة للتحقق من رموز Gemini من جوجل، بينما كانت تخفي برمجيات خبيثة مصممة لاختراق بيئات تطوير الأكواد. وبحسب خبراء الأمن، فإن هذا الهجوم يمثل تطوراً في أساليب التهديدات الإلكترونية التي تستهدف البنية التحتية للمطورين.
هجوم التوريد على أدوات الذكاء الاصطناعي
تُعد حزمة “gemini-ai-checker” جزءاً من هجوم توريد أكبر، حيث وجد المحللون حزم npm أخرى تحمل نفس البنية التحتية للقيادة والتحكم (C2). تم اكتشاف أن المشغل لهذه الحملة هو جهة تهديد مرتبطة بكوريا الشمالية، والمعروفة بعملية “Contagious Interview” وفقاً لشركة Cyber and Ramen.
قامت الحزمة الخبيثة بنسخ محتوى مقلد من مكتبة JavaScript شرعية تدعى “chai-await-async”، لخداع المطورين وإعطائها مظهراً موثوقاً. وعلى الرغم من ذلك، فإن التناقض بين اسم الحزمة والمحتوى كان مؤشراً قوياً على وجود مشكلة أمنية.
بمجرد تثبيت الحزمة، كانت تتصل خفية بخادم Vercel لاستضافة الواجهة الخلفية، لتقوم بتنزيل وتشغيل حمولة برمجية خبيثة مباشرة على جهاز الضحية. وتشبه هذه النسخة الإصدارات التي وثقتها مايكروسوفت في مارس 2026، والتي يُقدر أنها نشطة منذ أكتوبر 2025.
خلال الفترة التي سبقت بداية شهر أبريل 2026، تم حذف حزمة “gemini-ai-checker” من المستودعات، ولكن حزمتين أخريين، “express-flowlimit” و “chai-extensions-extras”، ظلتا متاحتين وواصلتا جمع التنزيلات. تشير التقديرات إلى أن هذه الحزم مجتمعة قد حققت أكثر من 500 عملية تنزيل.
آلية عمل الإصابة
تم تصميم آلية الإصابة بعناية لتجنب الكشف في كل مرحلة. كانت حزمة “gemini-ai-checker” تحتوي على 44 ملفاً بحجم 271 كيلوبايت، مع أربع تبعيات، مما يجعلها أكبر من أداة تحقق عادية، ولكنها مصممة لتبدو كمشروع حديث موثوق.
يحتوي الملف “libconfig.js” المخبأ داخل الحزمة على إعدادات القيادة والتحكم، بما في ذلك نطاق الخادم، ورمز المصادقة، والمسار، ورمز حامل التوكن. يقوم هذا التجزئة بكسر أي سلاسل نصية قابلة للكشف، مما يضمن بقاءها مخفية عن أدوات الفحص الأساسية.
عند التثبيت، يقوم ملف “libcaller.js” بإعادة تجميع هذه الأجزاء ويرسل طلباً عبر HTTP GET إلى نقطة نهاية Vercel، مع محاولات متعددة للاستجابة. إذا أعاد الخادم استجابة 404 تحتوي على حقل توكن، يتم تشغيل الحمولة البرمجية مباشرة في الذاكرة باستخدام Function.constructor، لتفادي أدوات التحليل الثابتة.
بمجرد فك تشفيرها، تكشف الحمولة عن بنية رباعية الأجزاء، حيث يعمل كل جزء كعملية Node.js منفصلة تتصل بخادم القيادة والتحكم عبر منافذ مخصصة. يؤسس الجزء الأول وصولاً عن بعد عبر Socket.IO.
يستهدف الجزء الثاني قواعد بيانات المتصفح وأكثر من 25 محفظة عملات مشفرة، بما في ذلك MetaMask و Exodus. أما الجزء الثالث، فيقوم بمسح الدلائل المنزلية بحثاً عن أنواع ملفات حساسة، مع التركيز بشكل خاص على أدلة أدوات الذكاء الاصطناعي. وأخيراً، يقوم الجزء الرابع بمراقبة الحافظة كل 500 مللي ثانية، مع تأخير بدء تشغيل لمدة 3000 مللي ثانية لتجنب الكشف.
ينصح المطورون بالتحقق من محتويات حزم npm قبل تثبيتها، والبحث عن أي تناقضات بين أسماء الحزم وتوثيقها. ويجب التعامل مع أدلة أدوات الذكاء الاصطناعي بنفس الحذر المطبق على مجلدات مثل .ssh أو .aws. كما يعد الإبلاغ عن أي حزم جديدة تحاول انتحال علامات تجارية معروفة أمراً حيوياً لتمكين المجتمع من الاستجابة قبل تفاقم الضرر.

