اكتشفت شركة الأمان Socket عشر حزم ضارة في مستودع npm تستهدف المطورين على أنظمة Windows وmacOS وLinux. هذه الحزم، المتاحة منذ يوليو، تستخدم التظاهر بالأخطاء الإملائية والتشويش المتطور لتثبيت برمجيات خبيثة مسروقة للمعلومات. البرمجيات الخبيثة تسرق بيانات الاعتماد من المتصفحات ومفاتيح SSH وملفات التكوين قبل نقل البيانات إلى المهاجمين.
منذ بداية يوليو، تداولت عشر حزم npm ضارة في مدير حزم JavaScript، محققة 9,900 تنزيل قبل إزالتها حول أواخر أكتوبر. اكتشفتها Socket، شركة متخصصة في أمان سلسلة توريد البرمجيات، وتستخدم الحزم تكتيكات التظاهر بالأخطاء الإملائية بأسماء تشبه الشرعية، مثل typescriptjs (بدلاً من TypeScript)، deezcord.js، dizcordjs، dezcord.js، etherdjs، ethesjs، ethetsjs، nodemonjs، react-router-dom.js، وzustand.js.
تبدأ العدوى أثناء التثبيت عبر سكريبت postinstall في ملف package.json. يفتح هذا السكريبت نافذة طرفية مخفية خاصة بنظام التشغيل وينفذ ملف app.js. يحتوي app.js على طبقات متعددة من التشويش، بما في ذلك ترميز URL وبيانات switch مع حسابات سداسية عشرية وثمانية، لإخفاء روتيناته الضارة. للحفاظ على مظهر الشرعية، يعرض CAPTCHA مزيفًا مرسومًا بفن ASCII، يتطلب إدخال المستخدم الذي يخدم فقط كإلهاء.
عند التفعيل، يرسل البرمجيات الخبيثة عنوان IP للهدف إلى خادم المهاجم ويحمل ملفًا ثنائيًا خاصًا بالمنصة. ثم ينتقل إلى تنفيذ Python باستخدام PyInstaller، مشغلاً تطبيقًا غير مشوش يدعى data_extracter. يقوم هذا الأداة بفحص مجلدات النظام بحثًا عن بيانات حساسة، بما في ذلك ملفات تعريف متصفحات Firefox وChromium، مفاتيح SSH، بيانات اعتماد AWS في ~/.aws/credentials، قواعد بيانات SQLite، ملفات تكوين JSON، ملفات تعريف الارتباط للمتصفح، حلقات المفاتيح، ورموز التحقق. يتم ضغط المعلومات المسروقة في ملف ZIP ونقلها إلى المهاجمين.
على الرغم من أن الحزم لم تعد متاحة على npm اعتبارًا من أواخر أكتوبر، إلا أن توافرها لمدة ثلاثة أشهر والتشويش المتقدم يثيران مخاوف بشأن الإصدارات غير المكتشفة. يبرز هذا الحادث الثغرات المستمرة في npm أمام هجمات سلسلة التوريد، مما يدفع إلى دعوات للمطورين للتحقق من الحزم ومراقبة التثبيتات عن كثب.