تاکنون ۶۰ بسته‌ی مخرب npm در رجیستری بسته‌ها کشف شده است که قابلیت مخرب جمع‌آوری نام‌های میزبان، آدرس‌های IP، سرورهای DNS و دایرکتوری‌های کاربر را در یک نقطه‌ی پایانی تحت کنترل Discord دارند.

کریل بویچنکو، محقق امنیتی Socket، در گزارشی که هفته‌ی گذشته منتشر شد، گفت: این بسته‌ها که تحت سه حساب مختلف منتشر شده‌اند، دارای یک اسکریپت زمان نصب هستند که در طول نصب npm فعال می‌شود. این کتابخانه‌ها به‌طور جمعی بیش از ۳۰۰۰ بار دانلود شده‌اند.

این شرکت امنیتی زنجیره‌ی تأمین نرم‌افزار گفت[۱]: «این اسکریپت سیستم‌های ویندوز، macOS یا لینوکس را هدف قرار می‌دهد و شامل بررسی‌های اولیه‌ی گریز از سندباکس است که هر ایستگاه کاری یا گره‌ی ادغام مداوم آلوده را به منبع بالقوه‌ای برای شناسایی ارزشمند تبدیل می‌کند.»

نام این سه حساب که هرکدام ۲۰ بسته را در یک دوره‌ی زمانی ۱۱ روزه منتشر کرده‌اند، در زیر فهرست شده است. حساب‌ها دیگر در npm وجود ندارند:

  • bbbb335656
  • cdsfdfafd1232436437
  • sdsds656565

این کد مخرب، طبق گفته‌ی Socket، به‌صراحت طوری طراحی شده است که هر دستگاهی را که بسته را نصب می‌کند، شناسایی کند و درعین‌حال اگر تشخیص دهد که در یک محیط مجازی مرتبط با آمازون، گوگل و دیگران در حال اجرا است، اجرای آن را متوقف کند.

اطلاعات جمع‌آوری‌شده، که شامل جزئیات میزبان، سرورهای DNS سیستم، اطلاعات کارت رابط شبکه (NIC) و آدرس‌های IP داخلی و خارجی است، سپس به یک وب‌هوک Discord منتقل می‌شود.

بویچنکو گفت: “با جمع‌آوری آدرس‌های IP داخلی و خارجی، سرورهای DNS، نام‌های کاربری و مسیرهای پروژه، یک عامل تهدید را قادر می‌سازد تا شبکه را ترسیم کرده و اهداف با ارزش بالا را برای کمپین‌های آینده شناسایی کند.”

این افشاگری پس‌ازآن صورت می‌گیرد که مجموعه‌ای دیگر از هشت بسته npm که خود را به‌عنوان کتابخانه‌های کمکی برای چارچوب‌های جاوا اسکریپت پرکاربرد ازجمله React، Vue.js، Vite، Node.js و ویرایشگر متن‌باز Quill جا می‌زنند، اما پس از نصب، بارهای مخرب را مستقر می‌کنند. این بسته‌ها بیش از ۶۲۰۰ بار دانلود شده‌اند و هنوز هم برای دانلود از مخزن در دسترس هستند:

  • vite-plugin-vue-extend
  • quill-image-downloader
  • js-hood
  • js-bomb
  • vue-plugin-bomb
  • vite-plugin-bomb
  • vite-plugin-bomb
  • vite-plugin-bomb-extend
  • vite-plugin-react-extend

کوش پاندیا، محقق امنیتی Socket، گفت[۲]: «این بسته‌ها که خود را به‌عنوان افزونه‌ها و ابزارهای قانونی جا می‌زنند، مخفیانه حاوی بارهای مخربی هستند که برای خراب کردن داده‌ها، حذف فایل‌های حیاتی و از کار انداختن سیستم‌ها طراحی شده‌اند، شناسایی نشده باقی مانده‌اند.»

مشخص شده است که برخی از بسته‌های شناسایی‌شده به‌محض اینکه توسعه‌دهندگان آن‌ها را در پروژه‌های خود فراخوانی می‌کنند، به‌طور خودکار اجرا می‌شوند و امکان حذف بازگشتی فایل‌های مربوط به Vue.js، React و Vite را فراهم می‌کنند. برخی دیگر به‌گونه‌ای طراحی شده‌اند که یا روش‌های اساسی جاوا اسکریپت را خراب کنند یا مکانیسم‌های ذخیره‌سازی مرورگر مانند localStorage ،sessionStorage و کوکی‌ها را دست‌کاری کنند.

npmیکی دیگر از بسته‌های قابل‌توجه، js-bomb است که فراتر از حذف فایل‌های چارچوب Vue.js عمل می‌کند و همچنین بر اساس زمان فعلی اجرا، خاموش کردن سیستم را آغاز می‌کند.

این فعالیت به یک عامل تهدید به نام xuxingfeng ردیابی شده است[۳] که همچنین پنج بسته قانونی و غیر مخرب منتشر کرده است که طبق برنامه کار می‌کنند. برخی از بسته‌های مخرب در سال ۲۰۲۳ منتشر شده‌اند. پاندیا گفت: “این رویکرد دوگانه انتشار بسته‌های مضر و مفید، ظاهری قانونی ایجاد می‌کند که باعث می‌شود بسته‌های مخرب بیشتر مورد اعتماد و نصب قرار گیرند.”

این یافته‌ها همچنین پس از کشف یک کمپین حمله جدید که فیشینگ ایمیل سنتی را با کد جاوا اسکریپت که بخشی از یک بسته npm مخرب است و در قالب یک کتابخانه متن‌باز بی‌خطر پنهان شده است، ترکیب می‌کند، منتشر شده‌اند.

سردا، محقق Fortra، گفت[۴]: «پس از برقراری ارتباط، این بسته یک اسکریپت مرحله دوم را بارگیری و ارائه می‌دهد که لینک‌های فیشینگ را با استفاده از آدرس ایمیل قربانی سفارشی می‌کند و آن‌ها را به یک صفحه ورود جعلی Office 365 هدایت می‌کند که برای سرقت اعتبارنامه‌های آن‌ها طراحی شده است.»

نقطه شروع حمله یک ایمیل فیشینگ حاوی یک فایل .HTM مخرب است که شامل کد جاوا اسکریپت رمزگذاری شده میزبانی‌شده در jsDelivr[5] و مرتبط با یک بسته npm که اکنون حذف شده است به نام [۶]citiycar8 است. پس از نصب، از بار داده جاوا اسکریپت تعبیه‌شده در بسته برای شروع یک زنجیره تغییر مسیر URL استفاده می‌شود که درنهایت کاربر را به یک صفحه فرود جعلی هدایت می‌کند که برای گرفتن اعتبارنامه‌های آن‌ها طراحی شده است.

npm

سردا گفت: «این حمله فیشینگ سطح بالایی از پیچیدگی را نشان می‌دهد، به‌طوری‌که عاملان تهدید، فناوری‌هایی مانند رمزگذاری AES، بسته‌های npm که از طریق CDN ارائه می‌شوند و چندین تغییر مسیر را برای پنهان کردن نیات مخرب خود به هم پیوند می‌دهند.»

«این حمله نه‌تنها روش‌های خلاقانه‌ای را که مهاجمان برای فرار از شناسایی تلاش می‌کنند، نشان می‌دهد، بلکه اهمیت هوشیاری در چشم‌انداز همواره در حال تکامل تهدیدات امنیت سایبری را نیز برجسته می‌کند.»

بهره‌برداری از مخازن متن‌باز برای توزیع بدافزار به یک رویکرد آزمایش‌شده برای انجام حملات زنجیره تأمین در مقیاس بزرگ تبدیل شده است. در هفته‌های اخیر، افزونه‌های مخرب سرقت داده‌ها نیز در بازارVisual Studio Code (VS Code) مایکروسافت کشف شده‌اند که برای سرقت اعتبارنامه‌های کیف پول ارزهای دیجیتال با هدف قرار دادن توسعه‌دهندگان Solidity در ویندوز طراحی شده‌اند.

این فعالیت توسط Datadog Security Research به یک عامل تهدید که با نام MUT-9332 ردیابی می‌شود، نسبت داده شده است. نام افزونه‌ها به شرح زیر است:

  • solaibot
  • among-eth
  • blankebesxstnion

محققان Datadog گفتند[۷]: “این افزونه‌ها خود را به‌عنوان یک افزونه قانونی پنهان می‌کنند، کد مضر را در ویژگی‌های اصلی پنهان می‌کنند و از دامنه‌های فرمان و کنترلی استفاده می‌کنند که به نظر می‌رسد مربوط به Solidity هستند و معمولاً به‌عنوان بدافزار علامت‌گذاری نمی‌شوند.”

“هر سه افزونه از زنجیره‌های آلودگی پیچیده‌ای استفاده می‌کنند که شامل چندین مرحله از بدافزار مبهم‌سازی شده است، ازجمله افزونه‌ای که از یک payload پنهان در یک فایل تصویری میزبانی‌شده در بایگانی اینترنت استفاده می‌کند.”

به‌طور خاص، این افزونه‌ها به‌عنوان ارائه‌دهنده اسکن نحوی و تشخیص آسیب‌پذیری برای توسعه‌دهندگان Solidity تبلیغ می‌شدند. درحالی‌که آن‌ها عملکردهای واقعی ارائه می‌دهند، این افزونه‌ها همچنین برای ارائه بارهای مخربی طراحی شده‌اند که اعتبارنامه‌های کیف پول ارز دیجیتال را از سیستم‌های ویندوز قربانی می‌دزدند. این سه افزونه از آن زمان حذف شده‌اند.

هدف نهایی افزونه VS Code، انتقال یک افزونه مرورگر مبتنی بر Chromium مخرب است که قادر به غارت کیف پول‌های اتریوم و نشت آن‌ها به یک نقطه پایانی فرمان و کنترل (C2) است.

npm

همچنین مجهز به نصب یک فایل اجرایی جداگانه است که اسکن Windows Defender را غیرفعال می‌کند، دایرکتوری‌های داده‌های برنامه را برای Discord، مرورگرهای مبتنی بر Chromium، کیف پول‌های ارز دیجیتال و برنامه‌های Electron اسکن می‌کند و یک بار اضافی را از یک سرور از راه دور بازیابی و اجرا می‌کند.

همچنین ارزیابی می‌شود که MUT-9332 پشت یک کمپین اخیراً افشا شده[۸] است که شامل استفاده از ۱۰ افزونه مخرب VS Code برای نصب یک استخراج‌کننده ارز دیجیتال XMRig با جا زدن خود به‌عنوان ابزار کدنویسی یا هوش مصنوعی (AI) بوده است.

دیتاداگ گفت: «این کمپین نشان می‌دهد که MUT-9332 در پنهان کردن نیات مخرب خود تا چه حد حاضر است خلاقانه و شگفت‌انگیز عمل کند. این به‌روزرسانی‌های مربوط به بار داده نشان می‌دهد که این کمپین احتمالاً ادامه خواهد یافت و شناسایی و حذف این اولین دسته از افزونه‌های مخرب VS Code ممکن است MUT-9332 را وادار به تغییر تاکتیک در موارد بعدی کند.»

منابع

[۱] https://socket.dev/blog/60-malicious-npm-packages-leak-network-and-host-data

[۲] https://socket.dev/blog/malicious-npm-packages-target-react-vue-and-vite-ecosystems-with-destructive-payloads

[۳] https://www.npmjs.com/~xuxingfeng

[۴] https://www.fortra.com/blog/threat-analysis-malicious-npm-package-leveraged-o365-phishing-attack

[۵] https://thehackernews.com/2023/08/malicious-npm-packages-found.html

[۶] https://www.npmjs.com/package/citiycar8?activeTab=versions

[۷] https://securitylabs.datadoghq.com/articles/mut-9332-malicious-solidity-vscode-extensions

[۸] https://thehackernews.com/2025/04/malicious-npm-package-targets-atomic.html

[۹] https://thehackernews.com/2025/05/over-70-malicious-npm-and-vs-code.html