نفوذ به کتابخانه Ultralytics: حمله زنجیره تأمین با بدافزار ماینر ارز دیجیتال

حمله به زنجیره تأمین کتابخانه‌های هوش مصنوعی

کتابخانه هوش مصنوعی Ultralytics هدف یک حمله زنجیره تأمین نرم‌افزار قرار گرفته است که در نتیجه آن نسخه‌های آلوده با بدافزار استخراج ارز دیجیتال در مخزن PyPI منتشر شده‌اند. نسخه‌های آسیب‌دیده (۸.۳.۴۱ و ۸.۳.۴۲) از PyPI حذف شده‌اند و وصله‌های امنیتی لازم اعمال شده است. این حادثه، ضعف‌های موجود در زنجیره تأمین نرم‌افزار و اهمیت حیاتی استقرار گردش‌های کاری امنیتی قوی را برجسته می‌سازد.

نفوذ به کتابخانه هوش مصنوعی Ultralytics با ماینر ارز دیجیتال

در یک حمله نگران‌کننده به زنجیره تأمین نرم‌افزار، دو نسخه از کتابخانه محبوب هوش مصنوعی Ultralytics مبتنی بر Python، آلوده به بدافزار استخراج ارز دیجیتال تشخیص داده شدند که برای کاربران ناآگاه منتشر شده بودند. نسخه‌های آسیب‌دیده، ۸.۳.۴۱ و ۸.۳.۴۲، متعاقباً از فهرست بسته‌های پایتون (Python Package Index : PyPI) حذف شدند و توسعه‌دهندگان کتابخانه از آن زمان وصله امنیتی را برای جلوگیری از حملات مشابه در آینده ارائه داده‌اند.

این حادثه، پیچیدگی روزافزون حملات زنجیره تأمین را که ابزارهای متن باز پرکاربرد را هدف قرار می‌دهند، به خوبی نشان می‌دهد. در ادامه، جنبه‌های کلیدی این نفوذ، پیامدهای آن و درس‌هایی را که توسعه‌دهندگان و کاربران می‌توانند از آن بیاموزند، بررسی می‌کنیم.

چه اتفاقی افتاد؟

نسخه‌های مخرب کتابخانه Ultralytics حاوی کد تزریق شده‌ای بودند که امکان استخراج ارز دیجیتال، به طور خاص با استفاده از XMRig، یک نرم‌افزار محبوب استخراج مونرو، را فراهم می‌کرد. کاربران پس از نصب نسخه‌های آلوده، افزایش چشمگیری در مصرف CPU گزارش دادند که منجر به تحقیقاتی شد که وجود تغییرات غیرمجاز در بسته را فاش کرد.

به گفته گلن جوچر، مسئول پروژه Ultralytics، این حمله از یک آسیب‌پذیری در محیط ساخت کتابخانه، به‌ویژه از طریق تزریق اسکریپت در GitHub Actions، سوءاستفاده کرده است. این امر به مهاجمان اجازه داد تا پس از اتمام فرآیند بررسی کد، محموله‌های مخرب را در بسته PyPI وارد کنند.

چگونگی انجام حمله

  • بهره‌برداری از محیط ساخت:
    این نفوذ از طریق GitHub Actions، ابزاری که برای خودکارسازی گردش‌های کاری مستقیماً در مخازن GitHub استفاده می‌شود، رخ داده است. مهاجمان از یک آسیب‌پذیری شناخته شده تزریق اسکریپت در “ultralytics/actions” سوءاستفاده کرده و از آن برای ایجاد یک درخواست pull مخرب که کد غیرمجاز را اجرا می‌کرد، استفاده نمودند.

  • اختلاف بین مخازن:
    نکته مهم این حمله، مغایرت بین کد منبع در GitHub و بسته PyPI بود. در حالی که مخزن GitHub ظاهراً بدون مشکل بود، نسخه‌های آپلود شده در PyPI حاوی محموله مخرب ماینر بودند که تشخیص را دشوارتر می‌کرد.

  • تاکتیک‌های عامل تهدید:
    درخواست‌های pull مخرب از یک حساب GitHub به نام “openimbot” سرچشمه گرفته است که ادعا می‌کرد وابسته به OpenIM SDK است. مهاجمان از طریق این حساب توانستند محموله‌های خود را در سیستم‌های macOS و لینوکس وارد و اجرا کنند.

تأثیر بر کاربران

این نفوذ در درجه اول بر سیستم‌هایی تأثیر گذاشت که نسخه‌های آلوده (۸.۳.۴۱ و ۸.۳.۴۲) را دانلود و نصب کرده بودند. در حالی که آسیب فوری محدود به استخراج ارزهای دیجیتال بود – که منجر به کاهش عملکرد و هزینه‌های احتمالی انرژی می‌شد – این حادثه هشداری جدی در مورد پیامدهای احتمالی استقرار محموله‌های مخرب‌تر، مانند درب‌های پشتی یا تروجان‌های دسترسی از راه دور (RAT)، به صدا درآورد.

ComfyUI، پروژه‌ای که به Ultralytics وابسته است، به‌روزرسانی را منتشر کرد تا در صورت اجرای یکی از نسخه‌های آلوده به کاربران هشدار دهد. به کاربران اکیداً توصیه شد که هرچه سریع‌تر به آخرین نسخه امن ارتقا دهند.

درس‌های آموخته شده و اقدامات پیشگیرانه

این حادثه آسیب‌پذیری‌های حیاتی در زنجیره‌های تأمین نرم‌افزار و اهمیت ایمن‌سازی محیط‌های ساخت را برجسته می‌کند. در زیر نکات کلیدی آمده است:

  • تقویت امنیت محیط ساخت:
    توسعه‌دهندگان باید اطمینان حاصل کنند که محیط‌های ساخت آنها در برابر دسترسی غیرمجاز ایمن هستند. ابزارهایی مانند GitHub Actions باید برای آسیب‌پذیری‌های احتمالی بررسی شوند و وصله‌ها به سرعت اعمال گردند.

  • تأیید صحت بسته:
    کاربران باید صحت کد منتشر شده در مخازنی مانند PyPI را با مخزن منبع آن (مثلاً GitHub) مقایسه و تأیید کنند. وجود مغایرت می‌تواند نشان‌دهنده دستکاری مخرب باشد.

  • نظارت بر وابستگی‌ها:
    پروژه‌هایی که به کتابخانه‌های خارجی متکی هستند باید سازوکارهایی برای شناسایی به‌روزرسانی‌های مخرب در وابستگی‌های خود داشته باشند. ممیزی‌های منظم و ابزارهای مدیریت وابستگی می‌توانند به کاهش خطرات کمک کنند.

  • افزایش آگاهی در مورد حملات زنجیره تأمین:
    افزایش روزافزون چنین حوادثی بر ضرورت هوشیاری توسعه‌دهندگان و سازمان‌ها در برابر تهدیدات زنجیره تأمین که اکوسیستم‌های متن باز را هدف قرار می‌دهند، تأکید می‌کند.

مسیر پیش رو

در حالی که تیم Ultralytics به سرعت برای رفع این نفوذ اقدام کرد، این حمله به عنوان یادآوری واضحی از آسیب‌پذیری‌های موجود در گردش‌های کاری توسعه نرم‌افزار مدرن عمل می‌کند. با افزایش اتکای سازمان‌ها و افراد به ابزارهای متن باز، تضمین امنیت آنها بسیار حائز اهمیت می‌شود.

با اتخاذ رویه‌های امنیتی مستحکم، از جمله آزمایش خودکار، نظارت بر وابستگی و پیکربندی گردش کار ایمن، توسعه‌دهندگان می‌توانند خطر نفوذهای مشابه را در آینده کاهش دهند. برای کاربران، آگاهی و دقت در به‌روزرسانی کتابخانه‌های حیاتی به همان اندازه ضروری است.

نفوذ به Ultralytics نمونه بارزی از چگونگی منجر شدن آسیب‌پذیری‌ها در محیط‌های ساخت به پیامدهای گسترده است. با پیچیده‌تر شدن این حملات، همکاری بین توسعه‌دهندگان، مسئولین و کاربران برای حفاظت از یکپارچگی اکوسیستم‌های متن باز حیاتی خواهد بود.

اگر به خواندن کامل این مطلب علاقه‌مندید، روی لینک مقابل کلیک کنید: the hacker news