EIP-7702 يمنح العنوان قدرة ومرونة مشابهة للعقود الذكية، ويتم إنشاء المزيد والمزيد من تطبيقات 7702 باستمرار، مما يعد أمرًا بالغ الأهمية لجعل المزيد من الناس يدخلون Web3 وتحسين تجربة المستخدم.
ومع ذلك، فإن مرونة 7702 والحالة التي لا يزال فيها معظم المستخدمين غير مألوفين مع 7702 يتم استغلالها من قبل عصابات الاحتيال، وقد لاحظنا مؤخرًا أن هناك مستخدمين تعرضوا للاختراق بسبب قدرة Metamask 7702 على تنفيذ المعاملات بشكل جماعي، مما أدى إلى دمج التفاعلات التي كانت تحتاج في الأصل إلى تفويض عشرات المرات في صفقة واحدة من قبل عصابة الاحتيال #InfernoDrainer، مما أدى إلى سرقة الأصول.
التوضيح: لا توجد مشاكل أمنية في Metamask، حيث تضع Metamask أمان المستخدم في المقام الأول عند توفير قدرات تتعلق بـ 7702، وقد اتخذت العديد من تدابير الأمان. يحتاج المستخدمون إلى معرفة المزيد عن قدرات 7702 والمخاطر ذات الصلة لمنع حدوث مثل هذه الحوادث الأمنية مرة أخرى.
أ. مبدأ توقيع تفويض Metamask 7702 Delagator وتصميم الأمان
التحليل الفني
بموجب تفويض المستخدم، تم نشر عقد المفوض، ويتم توجيه حقل الكود لحساب المستخدم إلى هذا العقد. عنوان عقد المفوض الرسمي الحالي من MetaMask: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B
هيكل التفويض: (chainId ، delegatorAddress ، nonce ، signature) الكتابة إلى التفويض _list
طريقة التوقيع: يستخدم Metamask منطق توقيع موحد لمعاملات التفويض المتعلقة ب EIP-7702 ، أي طريقة التفويض signEIP7702 ، و digest7702 = keccak256(0x05 ‖ RLP(chainId ، المفوض ، nonce)) توقيع ECDSA ، وإنشاء هيكل توقيع (v و r و s) ، وإرفاقه بالمعاملات اللاحقة من النوع 4 لتحقيق تفويض الحساب وترقيته ، كما هو موضح في:
طرق التحقق: تتم عملية التحقق بواسطة طبقة الإجماع من خلال ecrecover(digest7702, sig) == tx.from.
تصميم الأمان: لا يمكن لعميل الويب حث المستخدمين على تفويض المفوضين التعسفيين، لأن طريقة التفويض signEIP7702 يتم تنفيذها فقط داخل محفظة MetaMask، وهي غير مفتوحة لعميل الويب من خلال window.ethereum**. لا تنطبق طريقة التوقيع التي يمكن الوصول إليها بواسطة صفحة الويب **، مثل eth_signTypedData_v4 على التوقيعات المصرح بها EIP-7702، ويكون تنسيق ملخص التوقيع على النحو التالي:
وي要求 معيار EIP-7702 تنسيق التوقيع كالتالي:
نظرًا لأن eth_signTypedData_v4 تحتوي بشكل ثابت على البادئة 0x1901، وأن عملية حساب الملخص تختلف تمامًا عن 7702، فإنه يكاد يكون من المستحيل جعل digest712 == digest7702 حتى مع بناء domainSeparator و primaryType و message بشكل بارع.
لذا، لا يمكن للواجهة على الويب تزوير توقيع تفويض 7702 الشرعي بهذه الطريقة. بالإضافة إلى ذلك، تقوم MetaMask بتطبيق آلية القائمة البيضاء على عنوان Delegator، حيث تسمح افتراضياً فقط بتفويض Delegator الرسمي (0x63c0...32B)، وتحظر على DApp حقن العناوين بشكل مستقل، مما يمنع بشكل أكبر المستخدمين من التوقيع على بيانات تفويض Delegator الخبيثة.
طريقة الاستخدام
الطريقة الحالية لترقية EOA الموجودة إلى حساب ذكي 7702 في Metamask تنقسم أساسًا إلى نوعين: الترقية النشطة والترقية السلبية.
التحديث النشط يعني أن المستخدم ينقر بشكل نشط على زر "التبديل" في واجهة المحفظة، ويخول عقد المفوض المحدد.
تحدث الترقيات السلبية عندما يتفاعل المستخدمون مع بعض التطبيقات اللامركزية الممكنة ل 7702، وسيظهر Metamask تلقائيا مطالبة عندما يكتشف الإجراء ذي الصلة، مما يشير إلى أن يكمل المستخدم الترقية.
2.1 الترقية النشطة:
محتوى المعاملة: يتضمن فقط إجراء ترقية الحساب، أي تفويض عقد Delegator معين.
عملية الترقية: انتقل إلى واجهة تفاصيل حساب المحفظة، واضغط على زر التبديل في الصورة أدناه، يمكنك ترقية المستخدم من Ethereum Mainnet إلى حساب ذكي. بعد الضغط على التبديل، ستظهر نافذة توقيع المستخدم للمعاملة الحالية للترقية:
سجل التفويض: بعد التأكيد، انتظر المعاملة على السلسلة، تعني نجاح السلسلة أن المستخدم قد ترقى بنجاح إلى حساب ذكي، ويمكنه الاطلاع على معلومات معاملات التفويض المحددة من صفحة عنوان المحفظة الحالية على etherscan في **Authorizations (EIP-7702)**.
2.2 الترقية السلبية
محتوى المعاملة: يشمل إجراءات ترقية الحساب والتفاعلات الجماعية مع العقود الذكية على السلسلة.
عملية الترقية: عندما يتفاعل المستخدم مع بعض DApp على السلسلة، ستقوم Metamask بتنبيه المستخدم بأن المعاملة الحالية يمكن إكمالها من خلال ترقية إلى حساب ذكي باستخدام طريقة الإرسال الجماعي. على سبيل المثال، عند إجراء تبادل لبعض الرموز في Uniswap، انقر على زر استخدام الحساب الذكي، وترقية إلى حساب ذكي، وبعد ذلك ستكتمل تفويض الرموز والتبادل في معاملة واحدة.
2.3 التبديل إلى EOA العادي
بغض النظر عن الطريقة المستخدمة لتحويل الحساب الحالي إلى حساب ذكي، سواء كان ذلك عن طريق الترقية النشطة أو الترقية السلبية، سيتم تخزين عنوان عقد المفوض المرتبط بشكل دائم على السلسلة، كمنطق تنفيذ الحساب الحالي.
إذا كان المستخدم يرغب في استعادة حسابه كحساب EOA عادي، فإنه يحتاج إلى بدء عملية "التحويل إلى EOA" يدويًا. جوهر هذه العملية هو: من خلال تفويض EIP-7702، يتم تقديم address(0) كعنوان عقد Delegator جديد. عندما يتم تأكيد هذه المعاملة على السلسلة، سيتم مسح حقل code في الحساب، وستعود منطق التنفيذ إلى الكود الفارغ الافتراضي، وسيتراجع الحساب إلى حالة EOA العادية.
ادخل إلى واجهة تفاصيل حساب المحفظة، انقر على زر التبديل، يمكنك من خلاله تحويل المستخدم من Ethereum Mainnet إلى حساب EOA عادي.
بعد النقر على تأكيد، انتظر حتى يتم إدراج المعاملة في سلسلة الكتل. يعني الإدراج الناجح أن المستخدم قد انتقل من حساب ذكي إلى حساب EOA عادي، ويمكن أيضًا العثور على معلومات المعاملة المحددة في صفحة عنوان المحفظة الحالية على etherscan.
ثانياً، 7702 حالات هجوم التصيد
في 24 مايو ، استخدمت عصابة التصيد الاحتيالي #InfernoDrainer وظيفة تنفيذ الدفعات لعقد Metamask 7702-Delagator لخداع المستخدمين على دفعات (0xc6D2 ... 06DC) ونفذت هجوم تصيد احتيالي ، وخسرت أكثر من 146,000 دولار في $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero 1 $NodeAI $Sensay $Virtual.
قام المستخدم (0xc6D2…06DC) بتنفيذ صفقة تفويض جماعي خبيثة:
هاش المعاملة في إيثيريوم: 0x1ddc8cecbc... | إيثيرسكان
استدعاء 0xe9ae5c53 الطريقة بواسطة 0xc6D289d5...0d2E606DC على 0xc6D289d5...0d2E606DC | نجاح | 23-مايو-2025 02:31:35 مساءً (UTC)
etherscan.io
#InfernoDrainer 和 #PinkDrainer يقوم بتجربة سلسلة صناعة سوداء أكثر سرية وأكبر تأثيراً باستخدام 7702 لعمليات الاحتيال.
وفقًا لأبحاثنا، فإن عصابات الصيد الاحتيالية #InfernoDrainer 和 #PinkDrainer تعمل حاليًا على دراسة وتجربة طرق أكثر خفاءً وتأثيرًا لاستخدام 7702 في سلسلة الصناعة السوداء للاصطياد، والعنوان ذو الصلة أدناه، وسنقوم أيضًا بنشر تقرير أكثر تفصيلًا في وقت لاحق:
إنفيرنو درينر:
0x0000db5c8B030ae20308ac975898E09741e70000
مدرّ المياه الوردي:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
ثالثاً، نصائح الأمان
مزود المحفظة:
بالإشارة إلى تنفيذ وإدارة الأمان لـ 7702 Delegator في Metamask، يتم حظر المستخدمين من منح تفويض لأي Delegator، ويسمح فقط بالعمليات داخل التطبيق. يجب تنبيه المستخدمين بأن أي سلوك يطلب توقيع تفويض من خلال الويب هو هجوم تصيد.
تحقق مما إذا كانت السلسلة متطابقة مع الشبكة الحالية، وذكّر المستخدم بوجود مخاطر إعادة التشغيل عند استخدام chainID 0 للتوقيع.
عرض العقد المستهدف عند توقيع المستخدم على التفويض، وعرض محتوى استدعاء الوظائف المحددة عند تنفيذ المستخدم بشكل جماعي عبر Delegator، مما يقلل من خطر هجمات التصيد.
المستخدم:
حماية المفتاح الخاص دائمًا هي الأهم. Not your keys, not your coins.
لا تقم بتفويض Delegator بناءً على أي صفحة ويب مستقلة، فإن التفويض الآمن عادةً ما يتم داخل التطبيق مثل Metamask.
عند استخدام أي محفظة للتوقيع، يرجى الانتباه جيدًا لمحتوى التوقيع، لتجنب التوقيع الأعمى أو التوقيع بالخطأ.
شاهد النسخة الأصلية
المحتوى هو للمرجعية فقط، وليس دعوة أو عرضًا. لا يتم تقديم أي مشورة استثمارية أو ضريبية أو قانونية. للمزيد من الإفصاحات حول المخاطر، يُرجى الاطلاع على إخلاء المسؤولية.
العمق لاختبار 7702 مبدأ هجمات الصيد، كيف يجب على المحفظة والمستخدمين الحذر؟
EIP-7702 يمنح العنوان قدرة ومرونة مشابهة للعقود الذكية، ويتم إنشاء المزيد والمزيد من تطبيقات 7702 باستمرار، مما يعد أمرًا بالغ الأهمية لجعل المزيد من الناس يدخلون Web3 وتحسين تجربة المستخدم.
ومع ذلك، فإن مرونة 7702 والحالة التي لا يزال فيها معظم المستخدمين غير مألوفين مع 7702 يتم استغلالها من قبل عصابات الاحتيال، وقد لاحظنا مؤخرًا أن هناك مستخدمين تعرضوا للاختراق بسبب قدرة Metamask 7702 على تنفيذ المعاملات بشكل جماعي، مما أدى إلى دمج التفاعلات التي كانت تحتاج في الأصل إلى تفويض عشرات المرات في صفقة واحدة من قبل عصابة الاحتيال #InfernoDrainer، مما أدى إلى سرقة الأصول.
التوضيح: لا توجد مشاكل أمنية في Metamask، حيث تضع Metamask أمان المستخدم في المقام الأول عند توفير قدرات تتعلق بـ 7702، وقد اتخذت العديد من تدابير الأمان. يحتاج المستخدمون إلى معرفة المزيد عن قدرات 7702 والمخاطر ذات الصلة لمنع حدوث مثل هذه الحوادث الأمنية مرة أخرى.
أ. مبدأ توقيع تفويض Metamask 7702 Delagator وتصميم الأمان
بموجب تفويض المستخدم، تم نشر عقد المفوض، ويتم توجيه حقل الكود لحساب المستخدم إلى هذا العقد. عنوان عقد المفوض الرسمي الحالي من MetaMask: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B
هيكل التفويض: (chainId ، delegatorAddress ، nonce ، signature) الكتابة إلى التفويض _list
طريقة التوقيع: يستخدم Metamask منطق توقيع موحد لمعاملات التفويض المتعلقة ب EIP-7702 ، أي طريقة التفويض signEIP7702 ، و digest7702 = keccak256(0x05 ‖ RLP(chainId ، المفوض ، nonce)) توقيع ECDSA ، وإنشاء هيكل توقيع (v و r و s) ، وإرفاقه بالمعاملات اللاحقة من النوع 4 لتحقيق تفويض الحساب وترقيته ، كما هو موضح في:
طرق التحقق: تتم عملية التحقق بواسطة طبقة الإجماع من خلال ecrecover(digest7702, sig) == tx.from.
تصميم الأمان: لا يمكن لعميل الويب حث المستخدمين على تفويض المفوضين التعسفيين، لأن طريقة التفويض signEIP7702 يتم تنفيذها فقط داخل محفظة MetaMask، وهي غير مفتوحة لعميل الويب من خلال window.ethereum**. لا تنطبق طريقة التوقيع التي يمكن الوصول إليها بواسطة صفحة الويب **، مثل eth_signTypedData_v4 على التوقيعات المصرح بها EIP-7702، ويكون تنسيق ملخص التوقيع على النحو التالي:
وي要求 معيار EIP-7702 تنسيق التوقيع كالتالي:
نظرًا لأن eth_signTypedData_v4 تحتوي بشكل ثابت على البادئة 0x1901، وأن عملية حساب الملخص تختلف تمامًا عن 7702، فإنه يكاد يكون من المستحيل جعل digest712 == digest7702 حتى مع بناء domainSeparator و primaryType و message بشكل بارع.
لذا، لا يمكن للواجهة على الويب تزوير توقيع تفويض 7702 الشرعي بهذه الطريقة. بالإضافة إلى ذلك، تقوم MetaMask بتطبيق آلية القائمة البيضاء على عنوان Delegator، حيث تسمح افتراضياً فقط بتفويض Delegator الرسمي (0x63c0...32B)، وتحظر على DApp حقن العناوين بشكل مستقل، مما يمنع بشكل أكبر المستخدمين من التوقيع على بيانات تفويض Delegator الخبيثة.
الطريقة الحالية لترقية EOA الموجودة إلى حساب ذكي 7702 في Metamask تنقسم أساسًا إلى نوعين: الترقية النشطة والترقية السلبية.
التحديث النشط يعني أن المستخدم ينقر بشكل نشط على زر "التبديل" في واجهة المحفظة، ويخول عقد المفوض المحدد.
تحدث الترقيات السلبية عندما يتفاعل المستخدمون مع بعض التطبيقات اللامركزية الممكنة ل 7702، وسيظهر Metamask تلقائيا مطالبة عندما يكتشف الإجراء ذي الصلة، مما يشير إلى أن يكمل المستخدم الترقية.
2.1 الترقية النشطة:
محتوى المعاملة: يتضمن فقط إجراء ترقية الحساب، أي تفويض عقد Delegator معين.
عملية الترقية: انتقل إلى واجهة تفاصيل حساب المحفظة، واضغط على زر التبديل في الصورة أدناه، يمكنك ترقية المستخدم من Ethereum Mainnet إلى حساب ذكي. بعد الضغط على التبديل، ستظهر نافذة توقيع المستخدم للمعاملة الحالية للترقية:
سجل التفويض: بعد التأكيد، انتظر المعاملة على السلسلة، تعني نجاح السلسلة أن المستخدم قد ترقى بنجاح إلى حساب ذكي، ويمكنه الاطلاع على معلومات معاملات التفويض المحددة من صفحة عنوان المحفظة الحالية على etherscan في **Authorizations (EIP-7702)**.
2.2 الترقية السلبية
محتوى المعاملة: يشمل إجراءات ترقية الحساب والتفاعلات الجماعية مع العقود الذكية على السلسلة.
عملية الترقية: عندما يتفاعل المستخدم مع بعض DApp على السلسلة، ستقوم Metamask بتنبيه المستخدم بأن المعاملة الحالية يمكن إكمالها من خلال ترقية إلى حساب ذكي باستخدام طريقة الإرسال الجماعي. على سبيل المثال، عند إجراء تبادل لبعض الرموز في Uniswap، انقر على زر استخدام الحساب الذكي، وترقية إلى حساب ذكي، وبعد ذلك ستكتمل تفويض الرموز والتبادل في معاملة واحدة.
2.3 التبديل إلى EOA العادي
بغض النظر عن الطريقة المستخدمة لتحويل الحساب الحالي إلى حساب ذكي، سواء كان ذلك عن طريق الترقية النشطة أو الترقية السلبية، سيتم تخزين عنوان عقد المفوض المرتبط بشكل دائم على السلسلة، كمنطق تنفيذ الحساب الحالي.
إذا كان المستخدم يرغب في استعادة حسابه كحساب EOA عادي، فإنه يحتاج إلى بدء عملية "التحويل إلى EOA" يدويًا. جوهر هذه العملية هو: من خلال تفويض EIP-7702، يتم تقديم address(0) كعنوان عقد Delegator جديد. عندما يتم تأكيد هذه المعاملة على السلسلة، سيتم مسح حقل code في الحساب، وستعود منطق التنفيذ إلى الكود الفارغ الافتراضي، وسيتراجع الحساب إلى حالة EOA العادية.
ادخل إلى واجهة تفاصيل حساب المحفظة، انقر على زر التبديل، يمكنك من خلاله تحويل المستخدم من Ethereum Mainnet إلى حساب EOA عادي.
بعد النقر على تأكيد، انتظر حتى يتم إدراج المعاملة في سلسلة الكتل. يعني الإدراج الناجح أن المستخدم قد انتقل من حساب ذكي إلى حساب EOA عادي، ويمكن أيضًا العثور على معلومات المعاملة المحددة في صفحة عنوان المحفظة الحالية على etherscan.
ثانياً، 7702 حالات هجوم التصيد
في 24 مايو ، استخدمت عصابة التصيد الاحتيالي #InfernoDrainer وظيفة تنفيذ الدفعات لعقد Metamask 7702-Delagator لخداع المستخدمين على دفعات (0xc6D2 ... 06DC) ونفذت هجوم تصيد احتيالي ، وخسرت أكثر من 146,000 دولار في $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero 1 $NodeAI $Sensay $Virtual.
العنوان الاحتيالي
0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181
مثال على صفقة صيد السمك
أسباب الصيد الاحتيالي
قام المستخدم (0xc6D2…06DC) بتنفيذ صفقة تفويض جماعي خبيثة:
هاش المعاملة في إيثيريوم: 0x1ddc8cecbc... | إيثيرسكان
استدعاء 0xe9ae5c53 الطريقة بواسطة 0xc6D289d5...0d2E606DC على 0xc6D289d5...0d2E606DC | نجاح | 23-مايو-2025 02:31:35 مساءً (UTC)
etherscan.io
#InfernoDrainer 和 #PinkDrainer يقوم بتجربة سلسلة صناعة سوداء أكثر سرية وأكبر تأثيراً باستخدام 7702 لعمليات الاحتيال.
وفقًا لأبحاثنا، فإن عصابات الصيد الاحتيالية #InfernoDrainer 和 #PinkDrainer تعمل حاليًا على دراسة وتجربة طرق أكثر خفاءً وتأثيرًا لاستخدام 7702 في سلسلة الصناعة السوداء للاصطياد، والعنوان ذو الصلة أدناه، وسنقوم أيضًا بنشر تقرير أكثر تفصيلًا في وقت لاحق:
إنفيرنو درينر:
0x0000db5c8B030ae20308ac975898E09741e70000
مدرّ المياه الوردي:
0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624
ثالثاً، نصائح الأمان
مزود المحفظة:
بالإشارة إلى تنفيذ وإدارة الأمان لـ 7702 Delegator في Metamask، يتم حظر المستخدمين من منح تفويض لأي Delegator، ويسمح فقط بالعمليات داخل التطبيق. يجب تنبيه المستخدمين بأن أي سلوك يطلب توقيع تفويض من خلال الويب هو هجوم تصيد.
تحقق مما إذا كانت السلسلة متطابقة مع الشبكة الحالية، وذكّر المستخدم بوجود مخاطر إعادة التشغيل عند استخدام chainID 0 للتوقيع.
عرض العقد المستهدف عند توقيع المستخدم على التفويض، وعرض محتوى استدعاء الوظائف المحددة عند تنفيذ المستخدم بشكل جماعي عبر Delegator، مما يقلل من خطر هجمات التصيد.
المستخدم:
حماية المفتاح الخاص دائمًا هي الأهم. Not your keys, not your coins.
لا تقم بتفويض Delegator بناءً على أي صفحة ويب مستقلة، فإن التفويض الآمن عادةً ما يتم داخل التطبيق مثل Metamask.
عند استخدام أي محفظة للتوقيع، يرجى الانتباه جيدًا لمحتوى التوقيع، لتجنب التوقيع الأعمى أو التوقيع بالخطأ.