+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

فایل‌های مدل Hugging Face می‌توانند کد پنهان را اجرا کنند

بسته‌های مدل مخرب می‌توانند هنگام بارگیری ناامن کد را اجرا کنند.

بسته‌های مدل مخرب می‌توانند هنگام بارگیری ناامن کد را اجرا کنند. سه مثال مستند، شل‌های معکوس Pickle، رفتار اسکنر فایل خراب و سردرگمی مدل-نام نشان داده شده در تحقیقات را توضیح می‌دهند، با محدودیت‌های واضح در مورد ادعاهای سرقت اعتبارنامه.

نسخه نوشتاری را بخوانید (انگلیسی) ↗

این ویدیو چه مواردی را پوشش می‌دهد

  • وزن‌های مدل عددی، سریالی‌سازی قابل اجرا و کد مخزن سفارشی چیزهای متفاوتی هستند.
  • JFrog و ReversingLabs بارهای مفید شل معکوس را مستند کردند؛ گزارش‌های منتخب آن‌ها سرقت اعتبارنامه از قربانیان نام‌برده را اثبات نمی‌کند.
  • سردرگمی مدل Checkmarx یک نمایش تحقیقاتی بود که به یک مدل راه دور تطبیق یافته و بارگذاری ناامن نیاز داشت.
  • safetensors و لودرهای پچ شده را ترجیح دهید، کد سفارشی را بررسی و پین کنید، و بسته‌های ناآشنا را از اسرار شخصی و دسترسی غیرضروری به شبکه جدا کنید.

رونوشت ترجمه شده

ترجمه شده از روایت اصلی انگلیسی. صوت و زیرنویس‌های موجود توسط YouTube کنترل می‌شوند.

چگونه دانلود یک مدل می‌تواند مهمان دعوت کند؟

0:00 یک فایل مدل فقط اعدادی روی دیسک است. بارگذاری یک بسته مخرب Hugging Face یک شل راه دور را باز کرد، که تفسیری جاه‌طلبانه از هوش مصنوعی محلی است. چگونه بارگذاری به اجرا تبدیل می‌شود؟ به کدام اسرار می‌تواند دسترسی پیدا کند؟ واقعاً چه چیزی جلوی آن را می‌گیرد؟ و یک معما را در ذهن داشته باشید. یک مدل ممکن است پس از وقوع بخش خطرناک، بارگیری نشود.

0:18 این The Daily Diff است، پشت پرده. Hugging Face پلتفرمی برای به اشتراک گذاری مدل‌های یادگیری ماشین، مجموعه داده‌ها و برنامه‌ها است. وزن‌های مدل همان اعداد آموخته شده هستند. یک مخزن همچنین می‌تواند شامل پیکربندی و کد پایتون باشد. خطر در اینجا بسته‌بندی قابل اجرا است که هنگام بارگیری آن وارد رایانه شما می‌شود. Pickle اشیاء پایتون را با دستورالعمل‌هایی برای بازسازی آنها ذخیره می‌کند.

چگونه یک لودر دستورالعمل‌های بسته را اجرا می‌کند؟

0:37 یک لودر ناامن می‌تواند آن دستورالعمل‌ها را دنبال کند و هنگام بازگشایی توابع را فراخوانی کند. دانلود بایت‌ها بسته را روی دیسک شما قرار می‌دهد. سریالی‌زدایی آن را باز می‌کند. جایی، یک فرمت فایل به مدیر سیستم بدون پرداخت ارتقا یافته است. JFrog در فوریه ۲۰۲۴ Goober Two را گزارش کرد. بار مفید Pickle آن یک شل معکوس را باز کرد که به بیرون متصل شد تا دسترسی فرمان راه دور را فراهم کند. مخزن حذف شد. JFrog همچنین سرنخ‌هایی پیدا کرد که نشان‌دهنده دخالت محقق بود،

1:02 بنابراین انتساب نامشخص است. مهمان ناخواسته مستند شد. سرقت اعتبارنامه از قربانیان واقعی اثبات نشد.

کدام اسرار در دسترس فرآیند هستند؟

1:09 کدی که به عنوان کاربر شما اجرا می‌شود، می‌تواند هر چیزی را که آن فرآیند می‌تواند بخواند، بخواند. یک کلید ابری نصب شده یا یک توکن قابل دسترسی به یک هدف ممکن تبدیل می‌شود. ارسال آن به بیرون نیز به یک مسیر شبکه فعال نیاز دارد. وزن‌های عددی به تنهایی قدرت‌های اعتبارنامه جادویی ندارند. مجوزهای شما بخش جالب کارت مدل را تامین می‌کنند. یک در دیگر وجود دارد. برخی از مدل‌ها از شما می‌خواهند به کد راه دور اعتماد کنید، که پایتون را از مخزن مجاز می‌کند. فایل‌های safetensor می‌توانند در کنار آن کد قرار گیرند.

1:32 بررسی فرمت وزن یک ورودی را پوشش می‌دهد، در حالی که کد مخزن هنوز منتظر است تا شما به آن یک نشان بازدید کننده بدهید. Checkmarx سردرگمی مدل را نشان داد.

چرا یک مسیر محلی گم شده می‌تواند به یک مدل راه دور تبدیل شود؟

1:38 یک مسیر مدل محلی گم شده می‌تواند به یک مخزن عمومی با نام مشابه حل شود. این را با کد راه دور فعال ترکیب کنید، و بسته اشتباه می‌تواند اجرا شود. این یک نمایش تحقیقاتی بود که شامل نمونه‌ای از یک شرکت ناشناس بود و در عرض یک روز تصحیح شد. یک پوشه گم شده صاحب‌خانه پیدا کرد. ReversingLabs در فوریه ۲۰۲۵ دو نمونه را گزارش کرد و این تکنیک را nullify AI نامید. هر دو حاوی شل‌های معکوس بودند. بسته‌بندی ۷-zip آن‌ها بارگذاری عادی PyTorch را مسدود کرد،

چگونه بسته‌های خراب از اسکنر قدیمی فرار کردند؟

1:58 بنابراین این مسیر نیاز به استخراج و سریالی‌زدایی ناامن داشت. جریان‌های Pickle خراب نیز یک نقطه کور اسکنر را فاش کردند. یک اسکن ناموفق قبل از اینکه کسی بسته را باز کند، سزاوار بررسی است. در آزمایش بی‌ضرر محققان، دستورالعمل‌ها یک فایل را قبل از اینکه لودر به بخش خراب برسد و خطایی ایجاد کند، نوشتند. تصور کنید یک بسته را باز می‌کنید، راکون را رها می‌کنید، سپس متوجه می‌شوید که برچسب حمل و نقل نامعتبر است. پیام خطا با گرامر عالی و زمان‌بندی وحشتناک می‌رسد. Hugging Face نمونه‌های گزارش شده را ظرف ۲۴ ساعت حذف کرد و اسکنر را تغییر داد. آن یافته خاص منجر به یک اصلاح شد.

2:18 یک اسکن امنیتی شواهد مفیدی است و برخورد با هر خطای اسکنر به عنوان یک گواهی سلامت کامل، تفسیری فوق‌العاده سخاوتمندانه از شکست باقی می‌ماند. safetensorها و لودرهای پچ شده فعلی را ترجیح دهید. PyTorch لودر پیش‌فرض خود را از نسخه ۲.۶ به بعد محدود کرد. کد سفارشی را بررسی کنید و بازنگری بررسی شده را پین کنید. بسته‌های ناآشنا را به صورت جداگانه و بدون کلیدهای شخصی اجرا کنید، با دسترسی محدود به شبکه. یک کانتینر پر از اعتبارنامه‌های نصب شده، یک سبد هدیه با فضای نام است. آن معمای آغازین یک پاسخ دارد.

2:43 خرابی بارگذاری به شما می‌گوید که اجرا در کجا متوقف شد.

چه چیزی کلید را از دسترس مهمان دور نگه می‌دارد؟

2:46 دستورالعمل‌های قبلی ممکن است قبلاً اجرا شده باشند. قبل از باز کردن بسته، اسرار را از دسترس آن دور نگه دارید. حکم، پشت پرده. لودر. دانلود رایگان باید با یک مدل همراه باشد، و لیست مهمان باید تصمیم من باقی بماند. اگر ترجیح می‌دهید این را بخوانید تا اینکه من آن را بگویم، diff هر روز صبح به صورت رایگان در inbox شما در daily diff dot dev می‌رسد، لینک زیر. و این diff امروز است. من نیکو از Axrisi هستم. با مسئولیت‌پذیری ادغام کنید.

3:08 Hugging Face یک پلتفرم برای اشتراک‌گذاری مدل‌های یادگیری ماشین، مجموعه داده‌ها و برنامه‌ها است. Hugging Face در ۲۴ ساعت نمونه‌های گزارش شده را حذف کرد و اسکنر را تغییر داد.

چرا باید این را نیاز به بررسی (NEEDS REVIEW) علامت بزنم؟

3:16 این یافته خاص منجر به یک اصلاح شد. هنگامی که یک فایل مدل را بارگیری می‌کنید، انتظار دارید که فقط با اعداد سر و کار داشته باشید. اما بسته‌های مدل مخرب می‌توانند هنگام بارگیری ناامن، کد مخرب را اجرا کنند. این امر به دلیل نحوه ذخیره‌سازی اشیاء پایتون با دستورالعمل‌های بازسازی آن‌ها در قالب Pickle است. یک لودر ناامن می‌تواند این دستورالعمل‌ها را دنبال کند و توابع را هنگام بازگشایی اجرا کند. سه مثال مستند در این مقاله این خطر را روشن می‌کنند: شل‌های معکوس Pickle که توسط JFrog گزارش شده، رفتار اسکنر فایل خراب که توسط ReversingLabs مستند شده، و سردرگمی مدل-نام نشان داده شده در تحقیقات توسط Checkmarx. این گزارش‌ها نشان می‌دهند که اگرچه سرقت اعتبارنامه از قربانیان نام‌برده به طور قطعی اثبات نشده، اما کد در حال اجرا می‌تواند به هر چیزی که فرآیند دسترسی دارد، دسترسی پیدا کند. هنگامی که یک فایل مدل را بارگیری می‌کنید، انتظار دارید که فقط با اعداد سر و کار داشته باشید. اما بسته‌های مدل مخرب می‌توانند هنگام بارگیری ناامن، کد مخرب را اجرا کنند. این امر به دلیل نحوه ذخیره‌سازی اشیاء پایتون با دستورالعمل‌های بازسازی آن‌ها در قالب Pickle است. یک لودر ناامن می‌تواند این دستورالعمل‌ها را دنبال کند و توابع را هنگام بازگشایی اجرا کند. سه مثال مستند در این مقاله این خطر را روشن می‌کنند: شل‌های معکوس Pickle که توسط JFrog گزارش شده، رفتار اسکنر فایل خراب که توسط ReversingLabs مستند شده، و سردرگمی مدل-نام نشان داده شده در تحقیقات توسط Checkmarx. این گزارش‌ها نشان می‌دهند که اگرچه سرقت اعتبارنامه از قربانیان نام‌برده به طور قطعی اثبات نشده، اما کد در حال اجرا می‌تواند به هر چیزی که فرآیند دسترسی دارد، دسترسی پیدا کند. برای محافظت، استفاده از safetensors و لودرهای پچ شده را ترجیح دهید، کد سفارشی را بررسی و پین کنید، و بسته‌های ناآشنا را از اسرار شخصی و دسترسی غیرضروری به شبکه جدا کنید. Hugging Face پلتفرمی برای اشتراک‌گذاری مدل‌های یادگیری ماشین، مجموعه داده‌ها و برنامه‌ها است. این پلتفرم در پاسخ به آسیب‌پذیری‌های گزارش شده، تغییراتی از جمله حذف نمونه‌های مخرب و به‌روزرسانی اسکنر امنیتی خود را اعمال کرده است. برای محافظت از خود در برابر این خطرات، اقدامات زیر را انجام دهید: ۱. از safetensors و لودرهای پچ شده استفاده کنید. PyTorch از نسخه ۲.۶ به بعد لودر پیش‌فرض خود را محدود کرده است. ۲. کد سفارشی را بررسی کنید و بازنگری‌های تأیید شده را پین کنید. ۳. بسته‌های ناآشنا را در محیطی ایزوله، بدون کلیدهای شخصی و با دسترسی محدود به شبکه اجرا کنید. به یاد داشته باشید که خرابی در بارگذاری مدل لزوماً به این معنی نیست که هیچ کد مخربی اجرا نشده است؛ دستورالعمل‌های قبلی ممکن است قبلاً اجرا شده باشند. همیشه قبل از باز کردن بسته، اسرار خود را از دسترس آن دور نگه دارید. JFrog در فوریه ۲۰۲۴ Goober Two را گزارش کرد. بار مفید Pickle آن یک شل معکوس را باز کرد که به بیرون متصل شد تا دسترسی فرمان راه دور را فراهم کند. مخزن حذف شد. JFrog همچنین سرنخ‌هایی پیدا کرد که نشان‌دهنده دخالت محقق بود، بنابراین انتساب نامشخص است. مهمان ناخواسته مستند شد، اما سرقت اعتبارنامه از قربانیان واقعی اثبات نشد. ReversingLabs در فوریه ۲۰۲۵ دو نمونه را گزارش کرد و این تکنیک را nullify AI نامید. هر دو حاوی شل‌های معکوس بودند. بسته‌بندی ۷-zip آن‌ها بارگذاری عادی PyTorch را مسدود کرد، بنابراین این مسیر نیاز به استخراج و سریالی‌زدایی ناامن داشت. جریان‌های Pickle خراب نیز یک نقطه کور اسکنر را فاش کردند. Checkmarx نیز سردرگمی مدل را نشان داد. یک مسیر مدل محلی گم شده می‌تواند به یک مخزن عمومی با نام مشابه حل شود. ترکیب این با کد راه دور فعال می‌تواند باعث اجرای بسته اشتباه شود. این یک نمایش تحقیقاتی بود که در عرض یک روز تصحیح شد. The Daily Diff منبع اطلاعاتی شما در مورد امنیت سایبری و فناوری است. هر روز صبح، خلاصه‌ای از آخرین تحولات را به صورت رایگان در inbox شما در thedailydiff.dev ارائه می‌دهد. برای اطلاعات بیشتر و دریافت روزانه، به وب‌سایت مراجعه کنید. نیکو از Axrisi شما را به ادغام مسئولانه توصیه می‌کند.

منابع

  1. Data Scientists Targeted by Malicious Hugging Face ML Models with Silent BackdoorJFrog
  2. Malicious ML models discovered on Hugging Face platformReversingLabs
  3. AI Model Confusion: An LLM/AI Model Supply Chain AttackCheckmarx Zero
  4. Pickle ScanningHugging Face
  5. SafetensorsHugging Face
  6. Loading custom modelsHugging Face
  7. Serialization semanticsPyTorch

ویدیوهای مرتبط

under-the-hood · fa · ۱۹ مهر ۱۴۰۵

هنگامی که پاسخ ناپدید می شود، Stripe درخواست شما را به خاطر می آورد

یک وقفه می تواند پس از اتمام عملیات توسط سرور، وضعیت پرداخت را نامشخص بگذارد. این توضیح‌دهنده «زیر کاپوت» از قرارداد مستند شده‌ی idempotency در Stripe API v1 برای نمایش کلیدهای عملیاتی پایدار، بازپخش

2:54 ↗