خلال هذا الهجوم، استخدم القراصنة وظيفة claimRewards في العقد الخاص بالسوق لتحقيق الاستيلاء المتكرر على الرهون، مما رفع رصيد العقد الخاص بالرهون. وفيما يلي الخطوات المحددة: 1. **إنشاء عقد الهجوم**: أولاً، قام القراصنة بإنشاء عقد خاص بهم يستخدم لتنفيذ الهجوم. 2. **استخدام المصنع الرسمي لإنشاء عقود السوق**: ثم، استخدم القراصنة المصنع الرسمي لإنشاء نسخة من العقود الخاصة بسوق الهجوم. 3. **استدعاء وظيفة جمع المكافآت بكميات**: استدعى القراصنة وظيفة batchHarvestMarketRewards في العقد الخاص بالرهون لتحديث المكافآت لأحد الأسواق. 4. **تفعيل الثغرة الأمنية للعودة المتكررة**: خلال عملية تحديث المكافآت، تم استدعاء وظيفة claimRewards في العقد الهجومي، مما أدى إلى تحقيق الاستيلاء المتكرر. وفي هذه العملية، استخدم القراصنة الأصول المستعارة من القروض السريعة كرهون، مما أدى إلى عدم التوازن في رصيد العقد الخاص بالرهون. 5. **سحب الأصول الزائدة**: قام المهاجمون بسحب الأصول الزائدة التي أصبحت رهونًا، وسداد القرض السريع للحصول على الربح. وبشكل عام، استغل القراصنة بمهارة العيب في تصميم العقد الخاص بالسوق، من خلال استخدام أساليب الهجوم المتكرر، ليتمكنوا من سرقة كميات كبيرة من الأصول المشفرة من اتفاقية Penpie.