روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ متخصصین GReAT ما دو بسته مخرب در PyPI[1] -مخزن نرمافزاری محبوب طرفسوم برای پیتون- پیدا کردند. بنابر شرحهای پکیجها اینها آرشیوهایی بودند که کار با LLMهای محبوب (منظورمان مدلهای بزرگ زبانی[2] هستند) را مجاز میکردند. با این حال، در واقع آنها با استفاده از نسخه دموی چتجیپیتی عملکرد اعلامشده را تقلید کرده بودند و هدف اصلیشان نصب بدافزاری بود به نام JarkaStealer. این پکیجها بیش از یک سال برای دانلود، قابلدسترسی بودند. با قضاوت از آمار مخزن، تا کنون آنها بیش از 1700 بار توسط کاربران بیش از 30 کشور دانلود شدند.
پکیجهای مخرب و مورد استفادهشان
پکیج های مخرب توسط یک نویسنده در مخزن آپلود شده بودند و در حقیقت تنها در نام و شرح با هم تفاوت داشتند. اولی gptplus نام داشت و ظاهراً دسترسی به GPT-4 Turbo API را از OpenAI میداد و دومی نامش claudeai-eng بود و به نقل از توصیفات همچنین تضمین دسترسی به Claude AI API را از Anthropic PBC میداد. شرحیات هر دو بسته شامل نمونههای کارکرد میشدند که خود توضیحی بودند برای نحوه ساختن چتها و ارسال پیامهایی به مدلهای زبانی. اما در واقعیت، کد این پکیجها حاوی مکانیزمی بود برای تعامل با پروکسی دموی چتجیپیتی جهت متقاعد کردن قربانی در رابطه با اینکه پکیج داشته درست کار میکرده. در عین حال، فایل __init__.py هم داده های موجود در داخل آن را رمزگشایی کرده و فایل JavaUpdater.jar را از مخزن GitHub دانلود کرد. اگر جاوا روی ماشین قربانی پیدا نشد از دراپباکس هم Java Runtime Environment را دانلود و نصب میکرد. خود فایل jar حاوی بدافزار JarkaStealer بود که برای دستکاری محیط توسعه و استخراج چراغ خاموش دادههای سرقتی استفاده میشد.
بدافزار JarkaStealer چیست و چرا خطرناک است؟
JarkaStealer بدافزاری است احتمالاً نوشتهشده توسط نویسندگان روسیزبان که در وهله اول برای جمعآوری دادههای محرمانه و ارسال آن به مهاجمین استفاده میشود. در ادامه قابلیتهای آن را گفتهایم:
- سرقت اطلاعات از مرورگرهای مختلف؛
- گرفتن اسکرین شات؛
- جمعآوری اطلاعات سیستم؛
- سرقت توکنهای سشن از برنامههای مختلف (از جمله تلگرام، دیسکورد، استیم و حتی کلاینت چیتِ ماینکرفت؛
- قطع فرآیندهای مرورگر برای بازیابی دادههای ذخیرهشده.
اطلاعات جمعآوریشده سپس آرشیو گشته به سرور مهاجم ارسال و بعد از ماشین قربانی شناسایی میشود. نویسندگان بدافزار آن را از طریق مدل MaaS (بدافزار به عنوان سرویس) توزیع میکنند. با این حال همچنین کد منبع JarkaStealer را روی گیتهاب پیدا کردیم پس این امکان وجود دارد که این کمپین شامل نویسندگان بدافزار نباشد.
چطور ایمن بمانیم؟
ما در خصوص ایمپلنتهای مخرب در پکیجهای gptplus و claudeai-eng به ادمینهای PyPI
خبر دادیم و اکنون که این مقاله را میخوانید این دو بسته از مخزن حذف شدهاند. با این وجود هیچ تضمینی نیست که این ترفند یا ترفندی مشابه روی پلتفرم دیگری ظاهر نشود. ما همچنان فعالیت مربوط به بدافزار JarkaStealer را تحت نظارت قرار داده و به دنبال سایر تهدیدهای در ذخایر نرمافزاری منبع باز خواهیم بود. برای انهایی که یکی از این بستههای مخرب را دانلود و استفاده کردهاند، توصیه اصلیمان این است که فوراً حذفش کنند. این بدافزار عملکرد پایداری ندارد پس تنها زمانی لانچ میشود که پکیج استفاده شده باشد. اما همه پسوردها و توکنهای سشن که روی دستگاه قربانی استفاده شدند میتوانند توسط JarkaStealer سرقت شده باشند و باید فوراً آنها را تغییر داده یا از نو صادرشان کنید. همچنین توصیهمان به شما این است که توسعهدهندگان به طور ویژه موقع کار با پکیجهای نرمافزاری منبع باز حواسشان باشد و پیش از ادغامشان در پروژهها خوب وارسیشان کنند. این شامل تحلیل پرجزئیات روی وابستگیها و زنجیره تأمین مربوط به محصولات نرمافزاری میشود- خصوصاً اگر صحبت سر فناوریهای هوش مصنوعی و ادغامشان باشد. در این سناریو، تاریخ ساخت پروفایل نویسنده روی PyPI میتواند پرچم قرمز باشد. محققین دریافتند هر دو بسته در یک روز منتشر شده بودنددر حالیکه حسابی که آنها را منتشر کرده بود فقط چند روز قبل ثبت شده بود. برای کاهش ریسکهای کار با پکیجهای نرمافزاری منبع باز و طرفسوم و جلوگیری از حمله به زنجیره تأمین، توصیه میکنیم فرآیندهای DevSecOps را در فیدِ داده تهدیدهای نرمافزاری منبع باز کسپرسکی[3] بگنجانید؛ این در واقع مشخصاً برای نظارت اجزای منبع باز استفادهشده برای شناسایی تهدیدهایی که ممکن است آن داخل پنهان شده باشند طراحی شده است.
[1] Python Package Index
[2] large language models
[3] Kaspersky Open Source Software Threats Data Feed
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.