ما يعرضه عليك الهاتف: تحليل المعاملات على جهاز التوقيع
معظم سرقات المحافظ تحدث بموافقة المالك. صفحة تعرض شيئًا، والمحفظة توقّع شيئًا آخر، والمالك نقر على Confirm (تأكيد). مهمة الهاتف أن يضمن أن ما تراه هو ما توقّعه.

في هذه الصفحة
ادعاء وحقيقة
حين تطلب منك صفحة ويب أن توقّع شيئًا، فإنها تخبرك أيضًا ما هو. «بادل 1 ETH مقابل USDC». «احصل على مكافأتك». «تحقق من محفظتك». هذا الوصف ادعاء من الصفحة، والصفحة الخبيثة تستطيع أن تدّعي ما تشاء. أما البايتات التي تسلّمها إلى المحفظة فشيء منفصل، وهي الشيء الوحيد الذي ستراه سلسلة الكتل على الإطلاق.
يتجاهل AirNox Vault الادعاء. يفك ترميز الطلب من البايتات نفسها التي يوشك أن يوقّعها، على الهاتف، بمحلّله الخاص، ويعرض عليك النتيجة. ما يقوله الحاسوب عن الطلب ادعاء. وما يعرضه الهاتف هو الحقيقة.

التعرّف على الدوال القياسية
معظم ما توقّعه عادي. تحويل. إذن إنفاق (allowance) لتوكن. مبادلة عبر موجّه (router) معروف. إيداع في عقد. يتعرف الهاتف على العمليات القياسية لكل عائلة سلاسل يدعمها ويعرضها بكلمات واضحة: ما العملية، وأي توكن، وكم، ولمن، وعلى أي شبكة، وما سقف الرسوم. التحويل يبدو كتحويل. وإذن الإنفاق يبدو كإذن إنفاق، مع ذكر الجهة المنفِقة (spender) والمبلغ صراحة.
كشف العمليات الشبيهة
الطلبات الخطرة هي تلك التي تبدو عادية وليست كذلك. دالة يشبه اسمها اسم دالة قياسية لكن بارامتراتها لا تتطابق معها. استدعاء يفوّض التحكم إلى عقد آخر بطريقة لا تظهر في العنوان الرئيسي للعملية. هدف ليس العقد الذي قالت الصفحة إنها تتعامل معه. توكن ينتحل رمزه رمز توكن معروف. عنوان مستلم يشترك في أحرفه الأولى والأخيرة مع أحد عناوينك.
يُكتشف كل واحد من هذه ويتحول إلى تنبيه. لا يرفض الهاتف التوقيع، لأن القرار قرارك. لكنه يضمن ألا يفوتك.

التنبيهات
إذن الإنفاق غير المحدود هو الحيلة الكلاسيكية لأدوات تفريغ المحافظ (drainers): توافق (approve) مرة واحدة، فتخسر بعدها كل ما تملكه من ذلك التوكن. يكتب الهاتف «غير محدود» باللون الأحمر ويعامله كتنبيه.
الجهة المنفِقة المجهولة هي إذن إنفاق لعنوان لم يزكّه أحد. وحين يأتي عرض سعر المبادلة عبر موجّه معين بينما تستهدف الموافقة شيئًا آخر، يصبح عدم التطابق تنبيهًا.
الدالة الشبيهة، ورمز التوكن المنتحِل، والمستلم الشبيه، والتفويض المخفي: كل منها يُذكر باسمه. وبالنسبة للمستلمين، يعرض الحاسوب والهاتف كلاهما صورة حتمية للعنوان، فالعنوان الشبيه الذي يخدع العين في الصيغة الست عشرية (hex) لا يخدعها في الصورة.
الإقرار أولًا، ثم Accept
التنبيه ليس نافذة منبثقة تغلقها بحكم العادة. يبقى زر Accept (قبول) معطّلًا إلى أن تضع علامة على كل تنبيه. يمكنك الرفض في أي وقت. ولا يمكنك القبول إلا بعد أن تقرّ بما وجده الهاتف. هذا الاختيار التصميمي الواحد يحوّل «نقرت دون انتباه» إلى «قرأته واخترت المتابعة»، وهذا هو الفرق بين محفظة مُفرَّغة وقرار.
الحاسوب يفحص أولًا
يجري التحليل نفسه على الحاسوب قبل أن يغادره الطلب، فتُكشف معظم الطلبات السيئة في نافذة المحفظة قبل أن تصل إلى الهاتف. ويعيد الهاتف التحليل لأن الحاسوب هو الجهاز الذي نفترض أنه مخترَق. فحصان مستقلان، على جهازين، والكلمة الأخيرة للجهاز الذي يحمل المفاتيح.
القراءة تبقى مهمتك
جهاز التوقيع (signer) الذي يُريك الحقيقة لا يستطيع منعك من الموافقة عليها. ما يستطيعه هو أن يجعل تفويت الحقيقة مستحيلًا: مفكوكة الترميز من البايتات، بكلمات واضحة، والأجزاء الخطرة بالأحمر، وبوابة عليك عبورها عن قصد. والباقي عليك، وصار لديك الآن ما تحتاجه لتقرر.
السلسلة كاملة
- افترض أن الحاسوب مخترَق
- Mass Adoption Security (أمان الانتشار الواسع): جهاز التوقيع هاتف تملكه أصلًا
- ثلاث طرق لعبور الفجوة: رموز QR وBluetooth LE وNFC
- خفيّ في الأثير: جهاز توقيع لا يعثر عليه أحد بالمسح
- لا ثقة بقناة النقل أبدًا
- ما يعرضه عليك الهاتف: تحليل المعاملات على جهاز التوقيع
- الهاتف يحتفظ بسجله الخاص
- الخزنة على حاسوبك: Argon2id وملف تعريف يقاوم التخمين
- تطبيقات dApp دون محفظة في المتصفح
- خادم MCP بقواعد: وكلاء الذكاء الاصطناعي ضمن حدود
- محفظة واحدة محمية لكل ذلك
- صغير وأصلي: C++، بلا بيئة تشغيل JavaScript، من محطة العمل إلى Raspberry Pi