آلودگی نسخه ۱.۱۰۷.۰ از پکیج LiteLLM در PyPI به بدافزار سرقت اطلاعات و درطک — Compromised LiteLLM 1.107.0 on PyPI Installs a Credential Stealer and Backdoor
خلاصه
نسخه ۱.۱۰۷.۰ از پکیج محبوب LiteLLM در مخزن PyPI به بدافزار سرقت اطلاعات و درطک (Backdoor) آلوده شده بود. این بدافزار با هر بار اجرای پایتون فعال میشود و اطلاعات حساسی مانند کلیدهای SSH و توکنهای هوش مصنوعی را به سرور مهاجم ارسال میکند. این حادثه اهمیت امنیت زنجیره تامین نرمافزار را برجسته میکند.
نسخه ۱.۱۰۷.۰ از کتابخانه پرکاربرد LiteLLM در مخزن پایتون (PyPI) هدف یک حمله زنجیره تامین (Supply Chain Attack) قرار گرفت و به بدافزار سرقت اطلاعات (Credential Stealer) و درطک (Backdoor) آلوده شد. این نسخه بلافاصله پس از شناسایی توسط تیم امنیتی و ابزارهای مانیتورینگ از PyPI حذف شد، اما بررسی ابعاد فنی آن زوایای تاریکی از روشهای نفوذ به خطوط انتشار (Release Pipelines) را روشن کرد.
زمینه و بافت فنی رویداد
پکیج LiteLLM ابزاری رایج برای مدیریت و ارتباط با مدلهای مختلف زبان بزرگ (LLM) است. در حمله اخیر، تمامی هفت فایل ویل (Wheel) ارائهشده برای لینوکس، مکاوس و ویندوز در نسخه ۱.۱۰۷.۰ حاوی کدهای مخرب بودند. جالب اینجاست که مخزن رسمی گیتهاب در ریپازیتوری BerriAI/litellm فاقد این فایلها بود و سورسکد اصلی تمیز به نظر میرسید. تحلیلهای انجامشده توسط شرکت SafeDep نشان میدهد که بستههای جانبی پینشده و نسخههای قبلی یا نامزد انتشار (rc) مانند ۱.۱۰۶.۲ و نسخههای پیشنمایش کاملاً سالم بودهاند.
نحوه کارکرد بدافزار
با نصب پکیج مخرب، سه فایل کلیدی به دایرکتوری site-packages در محیط پایتون اضافه میشود:
- فایل cook.pth و cook.py: فایل
.pthبه محض شروع هر فرآیند پایتون (حتی ابزارهایی مثل pip یا لنگویج سرورهای IDE که هرگز LiteLLM را ایمپورت نمیکنند) کدهای مخرب را اجرا میکند. این بخش مسئول سرقت کلیدهای SSH، رمزهای مرورگر، توکنهای ابزارهای هوش مصنوعی، متغیرهای محیطی و دیتابیسهای پروکسی LiteLLM است. دادهها رمزنگاری شده و به آدرس مهاجم ارسال میشوند. - فایل sitecustomize.py: یک دیمون پسزمینه ایجاد میکند که هر ساعت اجرا شده، آدرس سرور مهاجم را از یک فایل روی گیتهاب میخواند و کدهای جدید را برای اجرا دانلود میکند.
مکانیسم تزریق کد در بیلد
بررسیها نشان میدهد که تنظیمات ابزار بیلد maturin در فایل pyproject.toml دستکاری شده بود. خط `data =
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل