یک بستهی مخرب به نام ‘pycord-self’ در مخزن پکیجهای پایتون (PyPI) توسعهدهندگان Discord را هدف قرار داده تا توکنهای احراز هویت را سرقت کند و یک درب پشتی (backdoor) برای کنترل از راه دور سیستم قرار میدهد.
این بسته، بستهی بسیار محبوب ‘discord.py-self’ را تقلید میکند که نزدیک به ۲۸ میلیون دانلود داشته است، و حتی عملکرد پروژهی قانونی را نیز ارائه میدهد.
بستهی رسمی یک کتابخانه پایتون است که ارتباط با API کاربران Discord را ممکن میسازد و به توسعهدهندگان اجازه میدهد تا حسابها را بهطور برنامهنویسی کنترل کنند.
این معمولاً برای ارسال پیام، خودکارسازی تعاملات، ایجاد رباتهای Discord، نوشتن اسکریپتهای مدیریت خودکار، ارسال اعلانها یا پاسخها، و اجرای دستورات یا بازیابی دادهها از Discord بدون نیاز به حساب ربات استفاده میشود.
بر اساس گفتههای شرکت امنیت کد Socket، بستهی مخرب در ژوئن سال گذشته به PyPi اضافه شده و تا به امروز ۸۸۵ بار دانلود شده است.
در زمان نوشتن این متن، بسته هنوز در PyPI موجود است و از یک ناشر که جزئیات آن توسط پلتفرم تأیید شده، منتشر شده است.
سرقت توکن و دسترسی مداوم
محققان Socket بستهی مخرب را تجزیه و تحلیل کردند و متوجه شدند که pycord-self شامل کدی است که دو عمل اصلی انجام میدهد. یکی از آنها سرقت توکنهای احراز هویت Discord از قربانی و ارسال آنها به یک آدرس URL خارجی است.
مهاجمان میتوانند از توکن دزدیدهشده برای تصرف حساب Discord توسعهدهنده استفاده کنند بدون اینکه به اطلاعات دسترسی نیاز داشته باشند، حتی اگر حفاظت دو مرحلهای فعال باشد.
عملکرد دوم بستهی مخرب ایجاد یک مکانیزم درب پشتی پنهان است که با ایجاد یک اتصال مداوم به یک سرور از راه دور از طریق پورت ۶۹۶۹، انجام میشود.
Socket در گزارشی توضیح میدهد که : بستهی مخرب بر اساس سیستمعامل، شلی را اجرا میکند (bash در لینوکس یا cmd در ویندوز) که به مهاجم این امکان را میدهد که بهطور مداوم به سیستم قربانی دسترسی داشته باشد.
درب پشتی بهطور جداگانه اجرا میشود، که باعث میشود شناسایی آن سخت شود، در حالی که بسته به نظر میرسد که بهطور معمول عمل میکند و هیچ نشانهای از فعالیت مخرب ندارد.
به توسعهدهندگان نرمافزار توصیه میشود که از نصب بستهها بدون بررسی منبع کد خودداری کنند، بهویژه اگر بسته محبوب باشد. تأیید نام بسته همچنین میتواند ریسک قربانی شدن در برابر “typosquatting” را کاهش دهد.
هنگام کار با کتابخانههای متنباز، توصیه میشود که کد را برای عملکردهای مشکوک بررسی کنید، در صورت امکان، و از هر چیزی که به نظر میرسد مخفی یا پیچیده شده است اجتناب کنید. علاوه بر این، ابزارهای اسکن میتوانند در شناسایی و مسدود کردن بستههای مخرب کمک کنند.