محققان امنیت سایبری محققان امنیت سایبری مجموعه پکیجهای مخرب در npm را شناسایی کردند که نسخه macOS ویرایشگر کد منبع مبتنی بر هوش مصنوعی Cursor را هدف قرار دادهاند.
شرکت امنیتی زنجیره تأمین نرمافزار Socket گزارش داد که این پکیجها، که بهعنوان ابزارهای توسعهدهنده با وعده «ارزانترین API Cursor» عرضه شدهاند، دارای قابلیتهای زیر هستند:
- اطلاعات کاربری را سرقت میکنند.
- پیلود بعدی مخربی از زیرساختهای تحت کنترل مهاجمان دریافت میکنند.
- فایل js برنامه Cursor را بازنویسی میکنند.
- مکانیزم بهروزرسانی خودکار را غیرفعال میکنند تا تداوم حضورشان حفظ شود.
پکیج های مخرب npm مربوط به Cursor
پکیج های مخرب npm مربوط به Cursor
پکیجهای مخرب عبارتاند از:
این پکیجها همچنان در مخزن npm قابل دانلود هستند. پکیج aiide-cur در ۱۴ فوریه ۲۰۲۵ توسط کاربری به نام «aiide» منتشر شد و بهعنوان ابزاری برای پیکربندی نسخه macOS ویرایشگر Cursor توصیف شده است. دو پکیج دیگر یک روز قبلتر توسط مهاجمی با نام مستعار «gtr2018» منتشر شدند. در مجموع، این سه پکیج بیش از ۳۲۰۰ بار دانلود شدهاند.
این پکیجها پس از نصب، اطلاعات کاربری Cursor را جمعآوری کرده و پیلود بعدی را از سرورهای راه دور (مانند t.sw2031[.]com یا api.aiide[.]xyz) دریافت میکنند. این پیلود برای جایگزینی کد معتبر Cursor با منطق مخرب استفاده میشود.
پکیج sw-cur همچنین مکانیزم بهروزرسانی خودکار Cursor را غیرفعال کرده و تمام فرآیندهای Cursor را متوقف میکند. سپس برنامه را دوباره راهاندازی میکند تا کد مخرب اعمال شود و به مهاجم امکان اجرای کد دلخواه در محیط پلتفرم را بدهد.
Socket اعلام کرد که این یافتهها نشاندهنده روندی روبهرشد است که در آن مهاجمان از پکیجهای مخرب npm برای ایجاد تغییرات مخرب در نرمافزارهای معتبر نصبشده روی سیستمهای توسعهدهندگان استفاده میکنند. این روش پیچیدگی جدیدی به حملات زنجیره تأمین اضافه میکند، زیرا بدافزار حتی پس از حذف پکیجهای مخرب باقی میماند و نیاز به نصب مجدد نرمافزار تغییر یافته دارد.
این شرکت افزود که مهاجمان از پکیجهای مخرب برای نفوذ به نرمافزارهای معتبر محلی استفاده میکنند. مهاجمان با شعار «ارزانترین API Cursor» از علاقه توسعهدهندگان به هوش مصنوعی و کسانی که بهدنبال هزینههای کمتر برای دسترسی به مدلهای هوش مصنوعی هستند، سوءاستفاده میکنند.
در ادامه توضیح داد که در این روش، مهاجمان پکیجهای بهظاهر بیضرری را منتشر میکنند که کد نرمافزارهای مورد اعتماد روی سیستم قربانی را بازنویسی میکنند. این منطق مخرب از اعتماد نرمافزار اصلی بهره میبرد، حتی پس از حذف پکیج تداوم مییابد و بهطور خودکار به تمام مجوزهای نرمافزار (مانند توکنهای API، کلیدهای امضا و دسترسی به شبکه) دسترسی پیدا میکند.
دو پکیج مخرب دیگر در npm
Socket همچنین دو پکیج npm دیگر به نامهای pumptoolforvolumeandcomment (۶۲۵ دانلود) و debugdogs (۱۱۹ دانلود) را شناسایی کرد که پیلود مبهمی را برای سرقت کلیدهای رمزارز، فایلهای کیفپول و دادههای معاملاتی مرتبط با پلتفرم BullX در سیستمهای macOS ارائه میدهند. این دادهها از طریق ربات تلگرام استخراج میشوند. هر دو پکیج در سپتامبر ۲۰۲۴ توسط کاربری به نام «olumideyo» منتشر شدند.
محقق امنیتی شرکت Socket گزارش داد که پکیج debugdogs صرفا pumptoolforvolumeandcomment را فراخوانی میکند و بهعنوان پیلود ثانویه عمل میکند. این الگوی «wrapper» امکان انتشار حمله تحت نامهای مختلف را بدون تغییر کد مخرب اصلی آسانتر میکند. این حمله هدفمند میتواند در چند ثانیه کیفپولها را خالی کرده و اطلاعات حساس و دادههای معاملاتی را افشا کند.
حمله زنجیره تأمین به پکیج rand-user-agent
همچنین، شرکت Aikido از حمله زنجیره تأمین به پکیج معتبر npm به نام rand-user-agent خبر داد که برای تزریق کد مخرب حاوی تروجان دسترسی از راه دور (RAT) به نسخههای ۲.۰.۸۳، ۲.۰.۸۴، و ۱.۰.۱۱۰ آلوده شده است. این نسخهها برای برقراری ارتباط با سرور خارجی و دریافت دستوراتی طراحی شدهاند که امکان تغییر دایرکتوری جاری، آپلود فایلها و اجرای دستورات شل را فراهم میکنند. این نقض در ۵ می ۲۰۲۵ شناسایی شد.
در حال حاضر، این پکیج npm منسوخ شده و مخزن GitHub مرتبط با آن غیرقابل دسترس است و به صفحه ۴۰۴ هدایت میشود. هنوز مشخص نیست که چگونه این پکیج نقض شده است.
توصیههای امنیتی
برای مقابله با تهدیدات سه پکیج معرفی شده در ابتدای گزارش، باید پکیجهایی که اسکریپتهای پس از نصب اجرا میکنند، فایلهایی خارج از node_modules تغییر میدهند یا تماسهای شبکه غیرمنتظره برقرار میکنند را شناسایی کرد. ترکیب این نشانهها با پین کردن نسخهها، اسکن وابستگیها(dependency) در زمان واقعی و نظارت بر یکپارچگی فایلها در وابستگیهای حیاتی توصیه میشود.
کاربران rand-user-agent نیز که به نسخههای ۲.۰.۸۳، ۲.۰.۸۴، یا ۱.۰.۱۱۰ ارتقا دادهاند، باید به نسخه امن قبلی (۲.۰.۸۲) که هفت ماه پیش منتشر شده بود، بازگردند. با این حال، این کار بدافزار را از سیستم حذف نمیکند.