+− THE DAILY DIFFdev & AI news
NEEDS REVIEW

ملفات نموذج Hugging Face يمكنها تشغيل تعليمات برمجية مخفية

يمكن لحزم النماذج الضارة تنفيذ تعليمات برمجية أثناء التحميل غير الآمن.

يمكن لحزم النماذج الضارة تنفيذ تعليمات برمجية أثناء التحميل غير الآمن. تشرح ثلاثة أمثلة موثقة قذائف Pickle العكسية، وسلوك ماسح الملفات المعطلة، والارتباك في أسماء النماذج الذي تم إثباته بحثيًا، مع قيود واضحة على ادعاءات سرقة بيانات الاعتماد.

اقرأ النسخة المكتوبة (الإنجليزية) ↗

ما يغطيه هذا الفيديو

  • أوزان النماذج الرقمية، التسلسل القابل للتنفيذ، والتعليمات البرمجية المخصصة للمستودع هي أمور مختلفة.
  • وثقت JFrog و ReversingLabs حمولات قذائف عكسية؛ تقاريرهما المختارة لا تثبت سرقة بيانات الاعتماد من ضحايا محددين.
  • كان Checkmarx Model Confusion عرضًا بحثيًا يتطلب نموذجًا بعيدًا مطابقًا وتحميلاً غير آمن.
  • فضل safetensors وأجهزة التحميل المصححة، راجع وثبت التعليمات البرمجية المخصصة، وافصل الحزم غير المألوفة عن الأسرار الشخصية والوصول غير الضروري للشبكة.

النص المترجم

مترجم من السرد الإنجليزي الأصلي. يتم التحكم في الصوت والتعليقات التوضيحية المتاحة بواسطة YouTube.

كيف يمكن لتنزيل نموذج أن يدعو ضيفًا؟

0:00 ملف النموذج هو مجرد أرقام على القرص. تحميل حزمة Hugging Face ضارة واحدة فتح قذيفة بعيدة، وهو تفسير طموح للذكاء الاصطناعي المحلي. كيف يصبح التحميل تنفيذًا؟ ما هي الأسرار التي يمكنه الوصول إليها؟ ما الذي يوقفه بالفعل؟ واحتفظ بلغز واحد في ذهنك. يمكن أن يفشل النموذج في التحميل بعد أن يكون الجزء الخطير قد حدث بالفعل.

0:18 هذا هو The Daily Diff، تحت الغطاء. Hugging Face هي منصة لمشاركة نماذج التعلم الآلي، مجموعات البيانات والتطبيقات. أوزان النموذج هي الأرقام المتعلمة. يمكن أن يحتوي المستودع أيضًا على تكوين ورمز Python. الخطر هنا هو التغليف القابل للتنفيذ الذي يعبر إلى جهاز الكمبيوتر الخاص بك عندما تقوم بتحميله. يخزن Pickle كائنات Python مع تعليمات لإعادة بنائها.

كيف يقوم المحمل بتشغيل تعليمات الطرد؟

0:37 يمكن للمحمل غير الآمن اتباع تلك التعليمات واستدعاء الوظائف أثناء فك التغليف. تنزيل البايتات يضع الطرد على قرصك. إلغاء التسلسل يفتحه. في مكان ما، تم ترقية تنسيق ملف إلى مسؤول نظام غير مدفوع الأجر. أفادت JFrog عن Goober Two في فبراير 2024. فتحت حمولة Pickle الخاصة بها قذيفة عكسية، متصلة بالخارج لتقديم وصول الأوامر عن بعد. تم حذف المستودع. وجدت JFrog أيضًا أدلة تشير إلى تورط باحثين،

1:02 لذا فإن الإسناد غير مؤكد. تم توثيق الضيف غير المرغوب فيه. لم يتم إثبات سرقة بيانات الاعتماد من الضحايا الفعليين.

ما هي الأسرار التي يمكن للعملية الوصول إليها؟

1:09 يمكن للتعليمات البرمجية التي تعمل كمستخدمك قراءة أي شيء يمكن لهذه العملية قراءته. يصبح المفتاح السحابي المثبت أو الرمز المميز الذي يمكن الوصول إليه هدفًا محتملاً. إرساله يتطلب أيضًا مسار شبكة عامل. الأوزان الرقمية وحدها ليس لديها قوى سرية سحرية. أذوناتك توفر الجزء المثير للاهتمام من بطاقة النموذج. هناك باب آخر. تطلب بعض النماذج منك الوثوق بالتعليمات البرمجية البعيدة، مما يخول Python من المستودع. يمكن لملفات safetensor أن تجلس بجانب تلك التعليمات البرمجية.

1:32 يغطي فحص تنسيق الوزن مدخلاً واحدًا، بينما لا تزال تعليمات المستودع البرمجية تنتظرك لتسلمها شارة زائر.

لماذا يمكن لمسار محلي مفقود أن يصبح نموذجًا بعيدًا؟

1:38 أظهرت Checkmarx Model Confusion. يمكن أن يحل مسار نموذج محلي مفقود إلى مستودع عام يحمل اسمًا مطابقًا. اجمع ذلك مع التعليمات البرمجية البعيدة الممكّنة، ويمكن للحزمة الخاطئة أن تنفذ. كان هذا عرضًا بحثيًا يتضمن عينة لشركة غير مسماة، تم تصحيحها في غضون يوم واحد. حصل مجلد مفقود على مالك. أفادت ReversingLabs عن عينتين في فبراير 2025،

كيف تغلبت الحزم المعطلة على الماسح القديم؟

1:58 تطلق على التقنية اسم nullify AI. احتوت كلتا العينتين على قذائف عكسية. منع تغليف 7zip الخاص بهما التحميل العادي لـ PyTorch، لذا تطلب هذا المسار استخراجًا وإلغاء تسلسل غير آمن. كشفت تدفقات Pickle المعطلة أيضًا عن نقطة عمياء في الماسح الضوئي. يستحق الفحص الفاشل التحقيق قبل أن يفتح أي شخص الطرد. في اختبار الباحثين غير الضار، كتبت التعليمات ملفًا قبل أن يصل المحمل

2:18 إلى الجزء المعطل ويرفع خطأ. تخيل فتح طرد، تحرير الراكون، ثم ملاحظة أن ملصق الشحن غير صالح. تصل رسالة الخطأ بقواعد لغوية ممتازة وتوقيت فظيع. أزالت Hugging Face العينات المبلغ عنها في غضون 24 ساعة وغيرت الماسح الضوئي. دفع هذا الاكتشاف تحديدًا إلى إصلاح. الفحص الأمني دليل مفيد، واعتبار كل خطأ في الماسح الضوئي بمثابة شهادة بصحة جيدة يظل تفسيرًا سخيًا بشكل ملحوظ للفشل.

2:43 فضل safetensors وأجهزة التحميل المصححة الحالية.

ما الذي يبقي المفتاح بعيدًا عن متناول الضيف؟

2:46 ضيقت PyTorch محملها الافتراضي بدءًا من الإصدار 2.6. راجع التعليمات البرمجية المخصصة وثبت المراجعة المراجعة. قم بتشغيل الحزم غير المألوفة بمعزل عن المفاتيح الشخصية، مع وصول محدود للشبكة. الحاوية المليئة ببيانات الاعتماد المثبتة هي سلة هدايا ذات مساحات أسماء. لغز الفتح هذا له إجابة. فشل التحميل يخبرك أين توقف التنفيذ. ربما تكون التعليمات السابقة قد تم تشغيلها بالفعل.

3:08 احتفظ بالأسرار بعيدًا عن متناولها قبل فتح الطرد. الحكم، تحت الغطاء.

لماذا أختم هذا بـ NEEDS REVIEW؟

3:16 المحمل. يجب أن يأتي التنزيل المجاني مع نموذج، ويجب أن تظل قائمة الضيوف قراري. إذا كنت تفضل قراءة هذا بدلاً من سماعي أقوله، فإن الفرق يصل إلى بريدك الوارد كل صباح، مجانًا على the daily diff dot 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

فيديوهات ذات صلة