یک بسته آلوده PyPI به استارتآپ آموزشی Mercor نفوذ کرد — و ۴ ترابایت داده پیمانکاران را در اختیار Lapsus$ قرار داد

در ۳۱ مارس ۲۰۲۶، Mercor — یک استارتآپ ۱۰ میلیارد دلاری که خدمات برچسبگذاری داده، حاشیهنویسی و مدیریت پیمانکاران را به OpenAI، Anthropic، Meta و Google ارائه میدهد — یک نفوذ را تأیید کرد که محققان امنیتی آن را یکی از مهمترین حملات زنجیره تأمین علیه صنعت هوش مصنوعی تا به امروز میدانند. حدود ۴ ترابایت داده استخراج شد: ۹۳۹ گیگابایت کد منبع پلتفرم، ۲۱۱ گیگابایت سوابق پایگاه داده کاربران و حدود ۳ ترابایت محتویات باکتهای ذخیرهسازی از جمله اسکن پاسپورتهای پیمانکاران، شمارههای تأمین اجتماعی، مدارک احراز هویت و ضبط ویدئویی مصاحبههای فنی. گروه مدعی مسئولیت، Lapsus$ است که دادههای سرقتشده را برای حراج در بازار وب تاریک خود فهرست کرده است. تاکنون پنج دادخواست دعوی گروهی علیه Mercor توسط پیمانکاران آسیبدیده ثبت شده است.
زنجیره حمله: سه گام از اسکنر تا تولید
آنچه این نفوذ را از نظر فنی متمایز میکند، مسیر حمله است. این یک نفوذ مستقیم به سیستمهای Mercor نبود. یک حمله زنجیره تأمین سه مرحلهای بود که از طریق اکوسیستم ابزارهای متنباز حرکت کرد تا به هر محیط تولیدی برسد.
گام یک — ۱۹ مارس: Trivy به خطر افتاد. Trivy یک اسکنر آسیبپذیری متنباز پرکاربرد است که توسط Aqua Security نگهداری میشود و در خطوط لوله CI/CD هزاران سازمان ادغام شده است. گروه مهاجم که با نام TeamPCP فعالیت میکرد، دسترسی نوشتن به مصنوعات انتشار Trivy به دست آورد. بردار اولیه دقیق نفوذ به Trivy به صورت عمومی فاش نشده است، اما نتیجه این بود که TeamPCP توانایی تأثیر بر آنچه Trivy در طول اسکنهای خود اجرا میکرد، داشت.
گام دو: استخراج اعتبارنامه CI/CD از LiteLLM. LiteLLM — یک کتابخانه محبوب متنباز پایتون که یک دروازه API یکپارچه برای فراخوانی ارائهدهندگان مختلف مدلهای زبانی بزرگ فراهم میکند — از Trivy به عنوان بخشی از خط لوله CI/CD خودکار خود برای اسکن کانتینرها و وابستگیها از نظر آسیبپذیریهای شناخته شده استفاده میکرد. به طور بحرانی، پیکربندی CI/CD LiteLLM Trivy را به یک هش نسخه خاص مقید نکرده بود. این ابزار را بدون قفل نسخه دریافت میکرد، به این معنی که وقتی Trivy در معرض خطر درون محیط ساخت LiteLLm اجرا میشد، به اسرار خط لوله دسترسی داشت: اعتبارنامه انتشار PyPI، توکنهای مخزن و متغیرهای محیطی. TeamPCP این اعتبارنامهها را از طریق اسکنر در معرض خطر در طول یک اجرای معمول ساخت استخراج کرد.
گام سه — ۲۷ مارس: نسخههای مخرب LiteLLM در PyPI. مسلح به اعتبارنامه انتشار PyPI LiteLLM، TeamPCP دو انتشار مخرب را ارسال کرد: litellm==1.82.7 و litellm==1.82.8. بستهها از نظر رفتار سطحی با انتشارات قانونی یکسان بودند — آزمایشهای واردات اولیه را پشت سر میگذاشتند و میتوانستند تماسهای API LLM را به طور عادی مسیریابی کنند. محموله تزریقشده در هنگام واردات یا اولین استفاده اجرا میشد و اتصال خروجی برقرار میکرد و متغیرهای محیطی، کلیدهای API و مسیرهای سیستم فایل قابل دسترس برای فرآیند در حال اجرا را استخراج مینمود. هر سازمانی که این نسخهها را به محیط تولید خود میکشید — از طریق pip install litellm بدون تعیین نسخه یا از طریق اتوماسیون بهروزرسانی وابستگی — کد تحت کنترل مهاجم را اجرا میکرد.
Mercor یکی از آن سازمانها بود. با توجه به اینکه LiteLLM در سراسر اکوسیستم توسعه هوش مصنوعی به عنوان زیرساخت برای ساخت برنامههایی که GPT-4، Claude، Gemini و سایر مدلها را فراخوانی میکنند استفاده میشود، پنجره قرار گرفتن در معرض گسترده بود. پلتفرم Mercor که جریان کار پیمانکاران را مدیریت میکند، اسناد هویتی پیمانکاران را ذخیره میکند و دادههای آموزشی اختصاصی را برای آزمایشگاههای بزرگ هوش مصنوعی اداره میکند، یک هدف با ارزش بالا در آن پنجره بود.
چه چیزی سرقت شد
دادههای استخراجشده از Mercor به سه دسته تقسیم میشوند که هر کدام پروفایلهای خطر متفاوتی دارند:
- ۹۳۹ گیگابایت کد منبع پلتفرم. این شامل سیستم مدیریت پیمانکاران Mercor، ابزارهای ارزیابی و رابطهایی است که پیمانکاران از طریق آن با وظایف آموزشی هوش مصنوعی تعامل دارند. برای مشتریان Mercor — OpenAI، Anthropic، Meta، Google — قرار گرفتن این کد به طور بالقوه نشان میدهد که خطوط لوله آموزشی آنها در لایه رابط پیمانکار چگونه ساختار یافته است، چه نوع وظایفی از طریق Mercor مسیریابی میشود و چه مکانیزمهای کنترل کیفی در محل وجود دارد.
- ۲۱۱ گیگابایت سوابق پایگاه داده کاربران. این شامل پروفایل پیمانکاران، متادیتای حساب، سوابق پرداخت و مکاتبات داخلی است. شمای دقیق تأیید نشده است، اما با توجه به الزامات انطباق Mercor برای ورود به سیستم پیمانکاران، پایگاه داده تقریباً قطعاً شامل اطلاعات قابل شناسایی شخصی برای دهها هزار پیمانکار است.
- ~۳ ترابایت محتویات باکت ذخیرهسازی. این حساسترین دسته برای پیمانکاران فردی است. باکتهای ذخیرهسازی شامل ضبط ویدئویی مصاحبههای فنی مورد استفاده برای تأیید هویت و غربالگری صلاحیت، اسکن مدارک شناسایی صادرشده توسط دولت از جمله پاسپورتها و کارتهای ملی، شمارههای تأمین اجتماعی جمعآوریشده در طول ورود به سیستم پیمانکاران آمریکایی و اسناد احراز هویت ارسالشده برای برآورده کردن الزامات KYC بود. ترکیب ویدئوی بیومتریک، شناسنامه دولتی و شماره تأمین اجتماعی یک بسته هویت کامل را برای پیمانکاران آسیبدیده نشان میدهد — کافی برای سرقت هویت، جعل هویت ترکیبی و مهندسی اجتماعی هدفمند.
چرا زنجیرههای تأمین آموزشی هوش مصنوعی یک هدف منحصربهفرد حساس هستند
یک نفوذ به یک پلتفرم مدیریت پیمانکاران SaaS استاندارد عمدتاً به دلیل قرار گرفتن در معرض دادههای شخصی جدی خواهد بود. نفوذ Mercor به طور قاطعانه متفاوت است زیرا کارهایی که پیمانکاران از طریق Mercor انجام میدهند.
پیمانکاران هوش مصنوعی در سطح پایگاه مشتریان Mercor ورود داده عمومی انجام نمیدهند. آنها وظایفی را انجام میدهند که به اختصاصیترین و رقابتیترین جنبههای توسعه هوش مصنوعی مربوط میشود: ارزیابی خروجیهای مدل بر روی معیارهای قابلیتی که هنوز به صورت عمومی منتشر نشدهاند، حاشیهنویسی موارد لبهای که نشان میدهد مدل در کجا در حال شکست است، رتبهبندی پاسخها بر اساس معیارهایی که روششناسی آموزشی RLHF یک شرکت را رمزگذاری میکنند، و آزمایش فیلترهای ایمنی به گونهای که نشان میدهد مدل چه میتواند و چه نمیتواند انجام دهد. دستورالعملها، معیارها و مشخصات وظیفهای که پیمانکاران دریافت میکنند هسته فکری نحوه آموزش و هماهنگسازی مدلهای خود توسط این آزمایشگاهها است.
کد منبع Mercor — که شامل رابطها و ابزارهایی است که از طریق آن این وظایف تحویل داده میشوند — میتواند آن روششناسیها را حتی اگر خود داده وظیفه فردی در مجموعه استخراجشده نبوده باشد، فاش کند. برای یک حریف که یک مدل رقابتی میسازد، یا برای یک بازیگر دولتی که سعی میکند مرزهای ایمنی و تکنیکهای آموزشی سیستمهای هوش مصنوعی مرزی را درک کند، این نشاندهنده دسترسی به اطلاعاتی است که از تحقیقات عمومی قابل بازسازی نیست.
واکنش پاییندستی
واکنش مشتریان Mercor سنجیده اما قابل توجه بوده است. Meta در ۲ آوریل، دو روز پس از تأیید نفوذ، تمام کارهای دادهای که از طریق Mercor مسیریابی میشد را به طور نامحدود متوقف کرد و به عدم قطعیت در مورد یکپارچگی محیط پیمانکار و قرار گرفتن بالقوه مشخصات وظیفه اشاره کرد. OpenAI و Anthropic هر دو بیانیههایی صادر کردند که تأیید میکنند در حال ممیزی قرار گرفتن خود هستند — به طور خاص بررسی میکنند که آیا هرگونه داده آموزشی اختصاصی، معیارهای حاشیهنویسی یا چارچوبهای ارزیابی در زمان نفوذ از طریق پلتفرم اکنون در معرض خطر Mercor برای پیمانکاران قابل دسترس بوده است یا خیر.
نه OpenAI و نه Anthropic تأیید نکردهاند که آیا مواد آموزشی اختصاصی در دادههای استخراجشده بوده است. تخلیه کد منبع ۹۳۹ گیگابایت محتملترین بردار برای قرار گرفتن غیرمستقیم است: اگر کد منبع پلتفرم Mercor شامل قالبهای وظیفه تعبیهشده، معیارهای ارزیابی یا نمونههای خروجی مدل مورد استفاده برای آموزش کیفیت پیمانکار باشد، آنها اکنون در اختیار Lapsus$ خواهند بود.
Lapsus$ کل مجموعه داده ۴ ترابایتی را برای حراج در بازار وب تاریک خود با قیمتی که منابع به عنوان هفت رقمی توصیف میکنند فهرست کرده است. این گروه سابقه مستندی در اجرای فروش داده دارد — به ویژه با دادههای سرقتشده از Nvidia، Samsung و Microsoft در سال ۲۰۲۲ — که به فهرست حراج اعتباری فراتر از یک تهدید باجگیری معمولی میدهد.
پنج دادخواست دعوی گروهی در دادگاه فدرال ایالات متحده توسط پیمانکاران آسیبدیده ثبت شده است که به رویههای امنیت داده سهلانگارانه، عدم اجرای کنترلهای کافی زنجیره تأمین و اطلاعرسانی ناکافی پس از نفوذ اشاره دارد. دادخواستها به طور خاص Mercor را نام میبرند؛ هیچیک هنوز شرکتهای هوش مصنوعی که برنامههای پیمانکار آنها در پلتفرم میزبانی میشد را نام نبرده است.
توسعهدهندگان چه باید بکنند
اگر کدبیس شما از LiteLLM استفاده میکند، مراحل فوری مشخص هستند:
- نسخه نصبشده خود را بررسی کنید.
pip show litellmرا اجرا کنید یاrequirements.txt،pyproject.tomlیا فایل قفل خود را بررسی کنید. اگرlitellm==1.82.7یاlitellm==1.82.8را در هر جای گراف وابستگی خود دارید — از جمله وابستگیهای انتقالی — محیط را در معرض خطر تلقی کنید. تمام اسرار قابل دسترس برای آن فرآیند را بچرخانید: کلیدهای API، اعتبارنامه پایگاه داده، توکنهای ارائهدهنده ابر و هر متغیر محیطی. - راهبرد تعیین وابستگی PyPI خود را ممیزی کنید. هر وابستگی که با یک محدوده نسخه (
litellm>=1.82) یا بدون محدودیت نسخه (litellm) کشیده شده است در برابر این دسته حمله آسیبپذیر بود. به نسخههای دقیق مقید کنید و از یک فایل قفل (Poetry'spoetry.lockیاrequirements.txtتولیدشده توسط pip-compile) که شامل هش است استفاده کنید. پرچم hash-pinning--require-hashesدر pip نصب بستهای که محتوای آن با هش ثبتشده مطابقت ندارد را غیرممکن میکند، حتی اگر یک مهاجر نسخهای را در PyPI جایگزین کند. - استفاده از پین کردن نسخه ابزار CI/CD خود را مرور کنید. نفوذ LiteLLM به این دلیل آغاز شد که Trivy در خط لوله ساخت LiteLLM به یک نسخه خاص مقید نشده بود. هر ابزار در خط لوله CI/CD شما — اسکنرها، لینترها، ابزارهای ساخت، اجراکنندههای آزمایش — باید به یک نسخه خاص و ترجیحاً به یک هش محتوا مقید شود. GitHub Actions امکان پین کردن اکشنها به یک SHA کامل commit را به جای یک برچسب میدهد که از حملات قابل تغییر برچسب جلوگیری میکند. برای ابزارهای مبتنی بر کانتینر مانند Trivy، به خلاصه تصویر (
aquasec/trivy@sha256:...) پین کنید، نه به برچسب (aquasec/trivy:latest). - ممیزی کنید که چه اسراری در محیط ساخت شما قابل دسترس است. اعتبارنامه انتشار PyPI هرگز نباید به عنوان متغیرهای محیطی در همان مرحله خط لوله که اسکن وابستگی یا آزمایش را اجرا میکند در دسترس باشد. از وظایف خط لوله جداگانه با دامنههای اعتبارنامه متمایز استفاده کنید و اصول کمترین امتیاز را به اسرار هر مرحله اعمال کنید.
الگو: حملات زنجیره تأمین علیه ابزارهای توسعهدهنده
حمله LiteLLM جدیدترین در یک دنباله از حملات زنجیره تأمین است که به تدریج لایههای عمیقتری از پشته ابزار توسعهدهنده را هدف قرار داده است:
- SolarWinds (دسامبر ۲۰۲۰): بازیگران دولتی (APT29/Cozy Bear) سیستم ساخت SolarWinds را به خطر انداختند و یک در پشتی را به پلتفرم Orion توزیعشده به حدود ۱۸۰۰۰ سازمان از جمله آژانسهای فدرال ایالات متحد تزریق کردند. بردار حمله خود خط لوله ساخت بود.
- Codecov (آوریل ۲۰۲۱): مهاجمان اسکریپت آپلودر bash Codecov را که در زیرساخت خودش میزبانی میشد تغییر دادند. هر خط لوله CI/CD که اسکریپت را اجرا میکرد — یک الگوی رایج برای گزارش پوشش کد — متغیرهای محیطی، از جمله اسرار را به سرورهای تحت کنترل مهاجم آپلود میکرد.
- xz Utils (مارس ۲۰۲۴): یک کارزار مهندسی اجتماعی چندساله پیچیده منجر به ادغام یک در پشتی در کتابخانه فشردهسازی xz شد که تأیید اعتبار سرور SSH در سیستمهای لینوکس را هدف قرار میداد. مهاجم دو سال را صرف ایجاد اعتماد به عنوان یک مشارکتکننده قانونی قبل از وارد کردن کد مخرب کرد.
- LiteLLM از طریق Trivy (مارس ۲۰۲۶): یک اسکنر آسیبپذیری که بدون پین کردن نسخه استفاده میشد به نقطه ورود برای سرقت اعتبارنامه تبدیل شد، که سپس انتشار یک بسته مخرب را با نام یک کتابخانه مورد اعتماد در PyPI ممکن ساخت.
خط عبور ثابت است: مهاجمان از دفاعهای سختشده برنامه عبور نمیکنند. آنها روابط اعتماد بین ابزارهایی را که توسعهدهندگان برای ساخت، آزمایش و استقرار نرمافزار به آنها تکیه میکنند، استثمار میکنند. با به هم پیوستهتر شدن ابزارهای توسعه هوش مصنوعی — با کتابخانههایی مانند LiteLLM که به عنوان زیرساخت حیاتی برای مسیریابی تماسها به مدلهای مرزی خدمت میکنند — شعاع انفجار یک وابستگی در معرض خطر واحد به نسبت رشد میکند. نفوذ Mercor یک مورد خارج از عرف نیست. این تصویری از آنچه چند سال آینده حملات زنجیره تأمین علیه صنعت هوش مصنوعی به نظر خواهد رسید است.
Originally reported by Security Boulevard. Read the original article for additional details.
View original source