
تحلل هذه الدراسة ثغرات إلغاء تسلسل pickle في بايثون، مع التركيز على CVE-2024-3568 في TFAutoModel من Hugging Face Transformers. نقوم بإعادة إنتاج الاستغلال لفحص سببه الجذري، ونواقل الهجوم، والمخاطر.
شرح آلية إلغاء تسلسل pickle ومبدأ هجوم __reduce__، وإعادة إنتاج ثغرة إلغاء التسلسل CVE-2024-3568 في مكتبة Hugging Face Transformers، وتحليل المخاطر الأمنية في مكتبة Transformers واقتراح حلول فعّالة لتعزيز الأمان. التفاصيل الكاملة موجودة في مستند PDF الخاص بالتجربة.
(كود مؤلف الـ PoC انظر CVE-2024-3568 أو مجلد author_inf)
موقع الثغرة
طريقة TFAutoModel.load_repo_checkpoint() (Transformers ≤ v4.37.2)
مبدأ الهجوم
ملف extra_data.pickle داخل نقطة تفتيش خبيثة يطلق تنفيذ أوامر عن بُعد (RCE) عند إلغاء تسلسله عبر pickle.load()
نطاق التأثير
# شرح الإعداد التفصيلي في مستند PDF الخاص بالتجربة
pip install transformers==4.37.2 tensorflow
git clone https://github.com/llm-sec/transformer-hacker
انظر مستند PDF للتفاصيل.
يتعلق ملفا test.py وtest2.py بتحليل المبدأ (بمساعدة AI问小白، مع الشكر للتقدم التقني الذي عزز الإنتاجية).
توليد نقطة تفتيش خبيثة (الأوامر المحددة في مستند PDF)
تفعيل الثغرة (مثال الكود في مستند PDF)
التحقق من الهجوم (طريقة التحقق في مستند PDF)
load_repo_checkpoint()التحليل الفني التفصيلي: المبدأ الكامل للثغرة وطريقة الاستغلال واستراتيجية الدفاع انظر مستند PDF الخاص بالتجربة تنفيذ الـ PoC: كود مؤلف الـ PoC انظر CVE-2024-3568 أو مجلد author_inf