افزونه VS Code شرکت انتروپیک روی ویرایشگر Cursor برای حدود ۱۲ ساعت آلوده به بَکدور شد
هنوز مشخص نیست که مهاجمان چگونه به حساب کاربری تأییدشده انتروپیک در Cursor دسترسی پیدا کردهاند.
به گزارش منابع مختلف در روز جمعه، یک افزونه رسمی برای مدل Claude شرکت انتروپیک آلوده به بَکدور شده و امنیت حداکثر ۵,۰۰۰ دستگاه از توسعهدهندگان را تهدید کرده است. انتروپیک تاکنون مشتریان خود را از این حادثه مطلع نکرده است.
این بسته آلوده، یک افزونه VS Code بود که در مارکتپیکس Cursor (سازنده ابزارهای توسعهدهنده مبتنی بر هوش مصنوعی) عرضه شده بود. این شرکت روز جمعه اعلام کرد که نسخه مخرب 2.1.313 متعاقباً «حداکثر ۵,۰۰۰ کاربر» را تحت تأثیر قرار داده است؛ احتمالاً زمانی که کاربران آن را دانلود کردهاند یا سیستمهایشان بهطور خودکار آن را دریافت و نصب کرده است. به گفته کوین بومونت، پژوهشگر مستقل، انتروپیک چند ساعت پس از انتشار نسخه قبلی در Cursor، نسخه 2.1.314 را عرضه کرد. هم بومونت و هم مدیر فناوری و یکی از بنیانگذاران شرکت امنیتی Phorian اعلام کردند که نسخه 2.1.313 از طریق حساب رسمی انتروپیک در Cursor توزیع شده است. تا این لحظه، نه Cursor و نه انتروپیک توضیح ندادهاند که مهاجمان چگونه کنترل این حساب را به دست گرفتهاند.
در جستجوی اعتبارنامههای ابری
لوک رابرتز، مدیر فناوری و همبنیانگذار Phorian، به وبسایت Ars گفت: «این یک نفوذ در زنجیره تأمین بود که در آن مهاجم به کانال توزیع رسمی دسترسی پیدا کرد. نسخه مخرب 2.1.313 در حساب رسمی انتروپیک منتشر شد و عملاً جایگزین نسخه 2.1.312 گردید. افزونهها بهطور پیشفرض در Cursor بهروزرسانی خودکار میشوند، اما کاربران میتوانند این مورد را در تنظیمات پیکربندی کنند.» شرکت Phorian جزئیات بیشتر را در این لینک ارائه داده است.
انتروپیک هنوز هیچ اخطار عمومی رسمی درباره این حادثه به مشتریان خود ارائه نکرده است.
Cursor اعلام کرد که این افزونه مخرب تلاش میکند با استفاده از یک کلید SSH جدید تحت کنترل مهاجم، یک بَکدور دائمی SSH نصب کند، سرویس محلی SSH را فعال نموده و یک تونل معکوس SSH برقرار سازد. این کد به گونهای نوشته شده بود که روی سیستمعاملهای ویندوز، macOS و لینوکس کار کند. از آنجا که افزونههای Cursor با دسترسیهای محیط توسعه یکپارچه (IDE) ابزار اجرا میشوند، نسخه آلوده به بَکدور احتمالاً به محض نصب، به فایلهای محلی، سورسکد و ابزارهای توسعهدهنده دسترسی پیدا میکرده است.
شرکت Cursor اعلام کرد قابلیتهای این بَکدور شامل موارد زیر است:
- جمعآوری اطلاعات میزبان و کاربر: نام میزبان، نام کاربری، سیستمعامل، معماری سختافزار، مسیر دایرکتوری خانه (home)، نام متغیرهای محیطی، دایرکتوریهای کاری، ایمیل پیکربندیشده گیت و IP عمومی.
- تلاش برای افزودن یک کلید SSH تحت کنترل مهاجم به فایل authorized_keys، فعالسازی سرویس محلی SSH و برقراری یک تونل معکوس SSH. به جز در شرایط بسیار خاصی که Cursor با دسترسیهای مدیر سیستم (Administrator) اجرا شده باشد، این مرحله به دلیل خطاهای موجود در کد مخرب با شکست مواجه میشد.
- تلاش برای پایدارسازی تونل معکوس SSH از طریق LaunchAgent (در macOS) یا یک وظیفه زمانبندیشده (Scheduled Task) که تلاش میکند با سطح دسترسی SYSTEM و به همراه یک اسکریپت راهاندازی جایگزین (Startup-script fallback) در ویندوز اجرا شود. اسکریپتهای پسزمینه تقریباً هر ۶۰ ثانیه یک بار برای برقراری مجدد تونل تلاش میکنند.
- ارسال جزئیات میزبان و وضعیت بَکدور از طریق درخواست HTTP POST به مسیر /beacon روی پورت 8099.
شرکت Phorian اعلام کرد که سرقت نام متغیرها به اپراتور اجازه داده است به سرعت از اعتبارنامههای ابری و توکنهای API ذخیرهشده روی دستگاه آلوده فهرستبرداری کند؛ احتمالاً به این منظور که بتواند مشخص کند در حملات بعدی کدام ماشینها را در اولویت هدفگیری قرار دهد.
وجود باگ در کدهای مخرب ویندوز و macOS در برخی موارد مانع از عملکرد صحیح بَکدور شده است. Phorian اعلام کرد که با وجود این نقصهای کدنویسی، «این بدافزار همچنان یک تهدید جدی است که استمرار خود را حفظ کرده و اطلاعات شناسایی میزبان را به سمت اپراتور مخابره میکند.»
Cursor اعلام کرد که کارکنان این شرکت با ارائهدهنده ابریِ میزبانِ سروری که شل معکوس به آن متصل میشده همکاری کردهاند تا دستگاههای آلوده دیگر نتوانند به آن دسترسی داشته باشند. پرسنل همچنین نسخه آلوده را از مارکتپیکس حذف کرده و توزیع آن را مسدود نمودند. این شرکت همچنین مارکتپیکس VS Code را موقتاً بست تا اقدام به چرخش کلیدها، ممیزی کنترلهای دسترسی و تأیید عدم آلودگی سایر افزونهها کند. مارکتپیکس در حال حاضر باز است.
همچنان مشخص نیست چرا انتروپیک بهطور عمومی به مشتریان درباره این تهدید هشدار نمیدهد و چرا این شرکت و Cursor توضیح نمیدهند که نفوذ به زنجیره تأمین چگونه رخ داده است. هیچکدام از این دو شرکت به پرسشهای مطرحشده در این زمینه پاسخی ندادند.
هر کسی که افزونه VS Code انتروپیک را از طریق Cursor بین ساعت ۵:۲۷ بامداد روز پنجشنبه تا ۴:۳۵ عصر همان روز نصب یا بهروزرسانی کرده است، باید خود را آسیبدیده بداند؛ البته منطقی است که هرکسی که اخیراً چنین کاری انجام داده نیز خود را بهطور بالقوه آلوده در نظر بگیرد. هم Cursor و هم Phorian نشانگرهای مختلفی از این سازش امنیتی (Indicators of Compromise)، از جمله آدرسهای IP و هشهای رمزنگاریشده را منتشر کردهاند.
نظر مهندس بهمن آبادی: این حادثه زنگ خطری جدی برای آسیبپذیری زنجیره تأمین در اکوسیستم ابزارهای هوش مصنوعی است؛ چرا که اعتماد کورکورانه به آپدیتهای خودکار IDE و بستههای شخص ثالث میتواند به راحتی به نشت کلیدهای API و دسترسی روت منجر شود. به عنوان توسعهدهنده، باید همواره آپدیت خودکار افزونههای حیاتی را غیرفعال کنیم، از اصالت ناشر مطمئن شویم و توکنهای حساس را بهصورت ایمن در متغیرهای محیطی یا ابزارهای مجزا مدیریت کنیم.