في الآونة الأخيرة، تم اكتشاف ثغرتين خطيرتين في عقد مشروع رقمي لجمع التحف الرقمية يحظى بمتابعة كبيرة. اكتشف فريق الأمان أثناء مراجعة العقد أن هذه الثغرات قد تؤدي إلى قفل أصول المستخدمين، بالإضافة إلى عدم قدرة فريق المشروع على سحب أكثر من 34 مليون دولار.
ثغرة الأولى تتعلق بوظيفة الاسترداد. تستخدم إجراءات الاسترداد في العقد طريقة الحلقة لاسترداد الأموال لجميع المستخدمين. ومع ذلك، إذا كان عنوان أحد المستخدمين هو عقد خبيث، فقد يرفض استلام الاسترداد مما يؤدي إلى فشل المعاملة، وبالتالي يؤثر على جميع عمليات استرداد الأموال للمستخدمين. لحسن الحظ، لم يتم استغلال هذه الثغرة بشكل فعلي.
!
لتجنب المشاكل المماثلة، يُنصح فريق المشروع بأخذ النقاط التالية بعين الاعتبار عند تصميم آلية استرداد الأموال:
القيود تنص على أن فقط حسابات المستخدمين العاديين يمكنها المشاركة في المشروع
استخدام رموز ERC20 مثل WETH كبديل للأصول الأصلية
تصميم يسمح للمستخدمين بطلب استرداد الأموال بأنفسهم، بدلاً من المعالجة بالجملة
الثغرة الثانية ناتجة عن خطأ منطقي في الشيفرة. في دالة استخراج أموال المشروع، يوجد تعبير شرطى كان من المفترض أن يقارن بين متغيرين محددين، ولكن تم استخدام متغير آخر بشكل خاطئ للمقارنة. هذا أدى إلى عدم إمكانية تحقيق الشرط أبدًا، وبالتالي لم يتمكن فريق المشروع من استخراج الأموال من العقد. حاليًا، حوالي 34 مليون دولار من الأصول محجوزة بشكل دائم في العقد.
!
تسلط هذه الحادثة الضوء مرة أخرى على أن المشاريع المعروفة يمكن أن تقع في أخطاء بسيطة. يجب على فريق المشروع كتابة عدد كافٍ من حالات الاختبار خلال عملية تطوير المشروع، وتنمية الوعي الأساسي بالأمان. على الرغم من أن تدقيق الأمان أصبح ممارسة روتينية في مجال التمويل اللامركزي، إلا أن هذه الخطوة غالبًا ما يتم تجاهلها في مشاريع المقتنيات الرقمية، مما يؤدي في النهاية إلى خسائر فادحة.
تذكرنا هذه الحادثة بأهمية إجراء تدقيق أمني في تطوير مشاريع blockchain، بغض النظر عن حجم المشروع، لتجنب الثغرات التي قد تؤدي إلى عواقب وخيمة. كما يبرز أهمية التفاصيل في تطوير العقود الذكية، حيث يمكن أن يؤدي خطأ بسيط في الكود إلى خسائر تصل إلى ملايين الدولارات.
!
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
يوجد ثغرة كبيرة في عقد مشروع المقتنيات الرقمية، حيث تم قفل 34 مليون دولار من الأموال بشكل دائم.
في الآونة الأخيرة، تم اكتشاف ثغرتين خطيرتين في عقد مشروع رقمي لجمع التحف الرقمية يحظى بمتابعة كبيرة. اكتشف فريق الأمان أثناء مراجعة العقد أن هذه الثغرات قد تؤدي إلى قفل أصول المستخدمين، بالإضافة إلى عدم قدرة فريق المشروع على سحب أكثر من 34 مليون دولار.
ثغرة الأولى تتعلق بوظيفة الاسترداد. تستخدم إجراءات الاسترداد في العقد طريقة الحلقة لاسترداد الأموال لجميع المستخدمين. ومع ذلك، إذا كان عنوان أحد المستخدمين هو عقد خبيث، فقد يرفض استلام الاسترداد مما يؤدي إلى فشل المعاملة، وبالتالي يؤثر على جميع عمليات استرداد الأموال للمستخدمين. لحسن الحظ، لم يتم استغلال هذه الثغرة بشكل فعلي.
!
لتجنب المشاكل المماثلة، يُنصح فريق المشروع بأخذ النقاط التالية بعين الاعتبار عند تصميم آلية استرداد الأموال:
الثغرة الثانية ناتجة عن خطأ منطقي في الشيفرة. في دالة استخراج أموال المشروع، يوجد تعبير شرطى كان من المفترض أن يقارن بين متغيرين محددين، ولكن تم استخدام متغير آخر بشكل خاطئ للمقارنة. هذا أدى إلى عدم إمكانية تحقيق الشرط أبدًا، وبالتالي لم يتمكن فريق المشروع من استخراج الأموال من العقد. حاليًا، حوالي 34 مليون دولار من الأصول محجوزة بشكل دائم في العقد.
!
تسلط هذه الحادثة الضوء مرة أخرى على أن المشاريع المعروفة يمكن أن تقع في أخطاء بسيطة. يجب على فريق المشروع كتابة عدد كافٍ من حالات الاختبار خلال عملية تطوير المشروع، وتنمية الوعي الأساسي بالأمان. على الرغم من أن تدقيق الأمان أصبح ممارسة روتينية في مجال التمويل اللامركزي، إلا أن هذه الخطوة غالبًا ما يتم تجاهلها في مشاريع المقتنيات الرقمية، مما يؤدي في النهاية إلى خسائر فادحة.
تذكرنا هذه الحادثة بأهمية إجراء تدقيق أمني في تطوير مشاريع blockchain، بغض النظر عن حجم المشروع، لتجنب الثغرات التي قد تؤدي إلى عواقب وخيمة. كما يبرز أهمية التفاصيل في تطوير العقود الذكية، حيث يمكن أن يؤدي خطأ بسيط في الكود إلى خسائر تصل إلى ملايين الدولارات.
!