تدقيقات الذكاء الاصطناعي المنشورة لـ Biatec Wallet تكشف ثغرة بالغة الخطورة في توقيع المبادلات
Biatec Wallet، المحفظة مفتوحة المصدر التي تعمل داخل المتصفح لشبكة Algorand، تنشر في مستودعها على GitHub تقارير تدقيق أمني يشغّلها الذكاء الاصطناعي. وقد رصد تدقيق جرى في أغسطس 2026 ثغرة بالغة الخطورة في التوقيع الأعمى أثناء المبادلات؛ والإصلاح يُشحن الآن في المحفظة المنشورة.
سجل تدقيق تكتبه الآلات
في مايو 2021 أطلقت النسخة الأولى العلنية من المشروع المعروف اليوم باسم Biatec Wallet: أنشئ محفظة، واحمِها بكلمة مرور، واطّلع على معلومات الحساب الأساسية — كل ذلك داخل تبويب في المتصفح. وبعد 5 سنوات، لا تزال الشيفرة نفسها، بعد إعادة تسميتها وتوسيعها تحت علامة Biatec1، تعمل بكاملها داخل المتصفح، وقد تبنّت ممارسة غير معتادة بالنسبة لمحفظة مجتمعية صغيرة: نشر تقارير تدقيق أمني مؤرّخة، مكتوبة بنماذج ذكاء اصطناعي، مباشرة في مستودعها العلني على GitHub2، إلى جانب سجل حيّ يجمع كل خطر رصدته تلك التدقيقات.
يُستهلّ أحدث تقرير، المؤرخ 4 أغسطس، بتحذير تفضّل معظم المشاريع أن تدفنه: «النتيجة الرئيسية سلبية: هذا التدقيق يرفع ملاحظة واحدة بالغة الخطورة وأخرى عالية الخطورة، وكلتاهما مسار واقعي لفقدان أموال الحساب بالكامل». والملاحظتان تقعان في ميزة المبادلة — الموضع الوحيد في المحفظة الذي يُكشف فيه المفتاح الخاص للمستخدم لفترة وجيزة أمام مخرجات خادم بعيد — وطريقة اكتشافهما وإصلاحهما مقياس منصف لما يمكن لهذا النوع من برامج التدقيق ذاتي النشر أن يضمنه، وما لا يمكنه.
محفظة لا تلمس مفاتيحك أبداً
Biatec Wallet محفظة Algorand مجانية ومفتوحة المصدر وغير احتجازية أنشأتها Scholtz & Company, jsa. في براتيسلافا بسلوفاكيا (رقم الشركة 51 882 272، ورقم ضريبة القيمة المضافة SK2120828105) وتطوّرها تحت علامة Biatec. و«غير احتجازية» تعني ألا يحتفظ أي طرف ثالث بالمفاتيح الخاصة قط: فلا خادم خلفي، ولا استمارة تسجيل، ولا KYC، وملف المحفظة مشفَّر بمعيار AES-256 ومخزَّن في IndexedDB التابع للمتصفح نفسه. وتُستخدم كلمة المرور محلياً فقط للتشفير وفك التشفير — ولا تُرسل إلى أي جهة، بما في ذلك البنية التحتية لـ Biatec نفسها — وتقفل المحفظة نفسها بعد 5 دقائق من آخر نشاط، فتمحو المفتاح المفكوك من الذاكرة. ويصف المشروع نفسه بأنه أول محفظة Algorand مفتوحة المصدر؛ فيما تشير التغطيات الإخبارية إلى أن محفظة Algorand الرسمية لم تصبح مفتوحة المصدر بالكامل إلا في يونيو 2021، أي بعد شهر من أول نسخة علنية لـ AWallet.
تجربتها لا تتطلب سوى متصفح واختيار كلمة مرور: افتح wallet.biatec.io3 — وملف README الخاص بالمشروع يوصف نطاق a-wallet.net الأقدم بأنه مرآة مهجورة للنشر نفسه — واختر اسم محفظة وكلمة مرور (يوصي التطبيق بـ12 حرفاً أو أكثر تمزج بين حالات الأحرف والأرقام والرموز الخاصة)، ليُنشأ ملف المحفظة محلياً. ويعمل التطبيق افتراضياً على الشبكة الرئيسية متصلاً بعُقد AlgoNode العامة، مع إعدادات لتبديل مزوّدي الخدمة — بينهم عقدة Algorand الخاصة بـ Biatec وبنيتها التحتية لـالفهرسة.
كيف يعمل برنامج التدقيق
العملية مقيّدة في ملف باسم ai-audit-instructions.md: كتابة «do new audit» في المستودع تُطلق جولة جديدة ينفّذها نموذج ذكاء اصطناعي، عليه أن يتصرف كما تفعل «شركة محترفة لتدقيق العقود الذكية وأمن المحافظ» — متشككة، وخصمية، ودقيقة في تقدير درجة الخطورة، مع ربط كل ملاحظة بمسارات ملفات وأرقام أسطر محددة. ويسجّل كل تقرير الالتزام المدقَّق، والنموذج الذي أجرى التدقيق، وإصدار التعليمات المستخدم؛ ويحمل سجل المخاطر كل ملاحظة إلى الأبد، فلا يحذف أي صف ويُبقي الصفوف المغلقة لأغراض التتبّع.
| المفهوم | الأثر على أرض الواقع |
|---|---|
| 6 تقارير بين 9 يوليو و4 أغسطس 2026، نفّذتها 3 نماذج ذكاء اصطناعي مختلفة (sonnet-5 وfable-5 وgrok-4-5) | لا نموذج واحد يحدد البرنامج؛ ويُتوقع من كل جولة أن تعيد التحقق من الملاحظات السابقة مقابل الشيفرة الحالية |
| جولة 4 أغسطس راجعت 214 التزاماً و48 ملفاً (+2,407/−564 سطراً) منذ التقرير السابق | المراجعة محدودة النطاق بالفروق — تُفحص كل دورة إصدار، لا الميزات الجديدة البارزة وحدها |
| فحص التبعيات كشف 155 تنبيهاً (0 بالغة الخطورة، 9 عالية، 4 متوسطة، 2 منخفضة) | المحفظة تُشحن مع شجرة تبعيات تحمل تنبيهات معروفة عالية الخطورة، ولا شيء بالغ الخطورة |
| يسجّل السجل 20 خطراً تقنياً مفتوحاً بعد 4 أغسطس | سجل المشروع المنشور نفسه يقول إن 24 خطراً على مستوى الشيفرة لا يزال دون حل |
| اختبارات Cypress E2E والاختبارات الحيّة (Ledger، وWalletConnect، ومبادلة حقيقية) لم تُشغَّل | الملاحظتان البالغة والعليا الخطورة متتبَّعتان في الشيفرة الساكنة، ولم تُبرهَنا على نشر عامل |
الملاحظة: مبادلات تُوقَّع على نحو أعمى
الملاحظة البالغة الخطورة، المسجّلة تحت الرقم AW-2026-043، تتعلق بالجزء الوحيد من المحفظة الذي عليه بحكم التصميم أن يأتمن غريباً للحظة. فعندما يبادل المستخدم أصلاً بأصل آخر، تطلب المحفظة من مجمّع — Deflex أو Folks Router أو Biatec Router — أن يحسب المسار ويعيد المعاملات غير الموقّعة للصفقة. وتفكّ المحفظة تلك المعاملات وتوقّعها مباشرة بالمفتاح الخاص الخام للحساب. وما تتبّعه التدقيق أن أياً من المسارات الثلاثة لم يتحقق من أي شيء يخص المعاملات الواردة من الخادم: لا أن المرسل هو حساب المستخدم نفسه، ولا المستفيد أو المبلغ مقابل العرض المعروض، ولا حتى معرّف genesis الخاص بالشبكة — ولا تُعرض المعاملات على المستخدم قبل التوقيع. ينقر المستخدم زر Execute واحداً فتُوقَّع دفعة مبهمة من معاملات بعيدة بمفتاحه.
المخاطر هنا محددة بطبيعة عمل معاملات Algorand. فالمعاملة الموقّعة قد تحمل حقولاً تتجاوز «ادفع X إلى Y»: الحقل closeRemainderTo يُغلق الحساب ويجرف كامل رصيد ALGO — أو كامل حيازة الرمز في حال تحويل أصل — إلى أي عنوان يسمّيه الحقل، أما حقل rekeyTo فينقل سلطة التوقيع على الحساب إلى مفتاح آخر بالكامل. وعلى Algorand، تتيح إعادة المفتاح للحساب أن يفوّض سلطة التوقيع لمفتاح مختلف؛ ويسجّل السجل بعدها أي مفتاح وقّع فعلاً. ومجمّع مخترق أو خبيث قادر على إعادة معاملة من هذا القبيل بالضبط، فتوقّعها المحفظة وترسلها بصمت — متجاوزةً تحذيرات الإغلاق وإعادة المفتاح الحمراء التي أضافها إصلاح سابق (AW-2026-001) إلى كل سطح توقيع آخر في التطبيق.
الملاحظة الثانية: فحص للنطاق يثق بالمهاجم
الملاحظة العالية الخطورة، AW-2026-044، تقع في ميزة توقيع البيانات الاعتباطية ARC-60 الجديدة. فـ ARC-60 توسّع بروتوكول WalletConnect — بروتوكول رمز الاستجابة السريعة الذي يتيح لتطبيق ويب أن يتصل بمحفظة ويطلب توقيعات دون أن يحتفظ بالمفاتيح قط — بحيث يستطيع DApp متصل أن يطلب توقيعاً للتحقق من الهوية على بيانات اعتباطية، وهو الأساس الذي تقوم عليه تدفقات الدخول دون كلمة مرور. وتعرض المحفظة النطاق الطالب والغرض ومعاينة كاملة للبيانات قبل التوقيع. وقد وجد التدقيق أن فحص ربط النطاق كان مرجعياً إلى نفسه: فالنطاق المُدّعى وauthenticatorData المفترض أن يشهد له يصلان معاً داخل الطلب نفسه الذي يتحكم به الـ DApp، ولا يُقارَنان إلا أحدهما بالآخر، لا بنظير جلسة WalletConnect الفعلي. وبهذا يستطيع DApp خبيث الحصول على توقيع صالح مرتبط بأي نطاق يشاء تسميته — وهو تحديداً انتحال الدخول الذي يقول تعليق الميزة في شيفرتها إنها تمنعه.
ما هو موجود في الشيفرة الحالية — وما لم يُتحقق منه بعد
وصل الإصلاح في اليوم نفسه الذي نُشر فيه التقرير (الالتزام 0b3947e، «feat: enhance ARC-60 security and DEX aggregator transaction validation»). وثمة دالة مساعدة مشتركة جديدة، assertSwapTransactionSafe، تمرّ الآن على كل معاملة قبل أن يوقّع أي من المجمّعات الثلاثة، فترفض الدفعة كلها إن لم يتطابق المرسل مع الحساب المتصل أو إن حملت أي معاملة إعادة مفتاح أو حقل إغلاق حساب. وعلى جانب ARC-60، هناك فحص جديد domainMatchesSessionOrigin يقارن النطاق المُدّعى باسم المضيف لنظير جلسة WalletConnect الفعلي بدلاً من حمولة الطلب نفسه.
الإصلاح موجود على فرع master وفي المحفظة المنشورة: فرسائل الرفض الخاصة بالحارس حاضرة في حزمة JavaScript المصغّرة التي يقدّمها a-wallet.net، ما يؤكد أن شيفرة التحقق تُشحن في ما يشغّله المستخدمون فعلاً، والنطاقان يقدّمان البناء نفسه (36221a6، 13 أغسطس). وما لم يحدث بعد هو التحقق من الإصلاح على يد البرنامج الذي اكتشف الثغرة. فأحدث مدخل في سجل المخاطر هو تدقيق 4 أغسطس نفسه، الذي راجع التزاماً أسبق؛ وجاء التزام التحقق منفصلاً في اليوم نفسه، ولا يوجد في المستودع أي تقرير تدقيق لاحق يعيد التحقق من AW-2026-043 وAW-2026-044 بوصفهما مغلقتين.
هذه الحالة غير المتحقق منها تستحق أن تُوزن مقابل حقيقة ما هو البرنامج. فالتدقيقات ينفّذها نماذج ذكاء اصطناعي بموجب تكليف دائم من المشروع نفسه، دون أي شركة أمن مستقلة يُذكر اسمها في أي من التقارير الستة، والمستودع لا ينشر إصدارات موسومة — فعمليات البناء تُشحن مباشرة من خط CI/CD — لذا لا توجد خطوة اعتماد للإصدار يُستند إليها. وتقرير 4 أغسطس نفسه صريح في أن ملاحظاته الرئيسية تتبُّعت في الشيفرة الساكنة، ولم تُبرهن على نشر عامل. وبوصفه تجربة في الشفافية، البرنامج غير معتاد بحق — فمعظم المحافظ تنشر ملخصات للتدقيق، لا الملفات الخام «ما وجدناه هذا الشهر». وبوصفه ضماناً أمنياً مستقلاً، فهو لا يغطي بعد أحدث إصلاحاته.
مشروع مجتمعي يموّل نفسه
Biatec مستقل عن Algorand Inc. وAlgorand Foundation، ولا يتلقى تمويلاً مستمراً من أيهما بحسب أسئلته الشائعة، لكنه حصل على منح مجتمعية متقطعة من xGov. ويسجّل مستودع xGov مبلغ 10,000 ALGO لمحفظة AWallet نفسها و60,000 ALGO لمجدول المدفوعات الخاص بها بحالة «معتمد»؛ أما مقترحان من 2024 — طلب بأثر رجعي لمبلغ 36,912 ALGO ومشروع هوية على السلسلة بمبلغ 148,999 ALGO — فمدرَجان بحالة Final. والتأطير الذي يقدّمه المشروع نفسه، في ملخص المقترح بأثر رجعي، هو أن AWallet «من أكثر المحافظ تقدماً على Algorand».
الأثر المالي وراء هذا الادعاء صغير. فعنوان التبرعات المنشور يحمل 25.6 ALGO ونحو 1.03 USDT على السلسلة؛ ولدى سيرفر المشروع على Discord 411 عضواً، منهم 7 متصلون وقت التحقق؛ وأكثر منشور اجتماعي حديث بروزاً عن المحفظة، على Bluesky، لم يحصد سوى إعجاب واحد. والتطوير نفسه ليس خامداً: فقد جرى الدفع إلى المستودع في 15 أغسطس، وهو يحمل 672 نجمة، ومساهماه الرئيسيان مسؤولان عن 546 و62 التزاماً على التوالي.
ثمة نقطة تركّز واحدة ينبغي للقارئ أن يزنها: شاشة المبادلة في المحفظة تمرّ عبر مجمّع Biatec نفسه إلى جانب المجمّعين الخارجيين، كما تشغّل Biatec أيضاً عقدة Algorand والبنية التحتية للفهرسة التي يمكن للمحفظة الاتصال بها. ولا شيء من ذلك مشكلة بحد ذاته — فالتصميم غير الاحتجازي يعني أن المحفظة لا توقّع إلا ما يوافق عليه المستخدم — لكن تدقيق 4 أغسطس يُظهر بالتحديد لماذا تمثّل طبقة المجمّع حدود الثقة المهمة، ومجمّع الفريق نفسه يقع عليها مباشرة.
وقد بنت الشركة السلوفاكية نفسها مجموعة أدوات أوسع حول Algorand: بوابة دفع مجانية مفتوحة المصدر تتيح للتجار استقبال ALGO أو USDC أو USDT مباشرة إلى حساباتهم دون وسيط مالي ودون الحاجة إلى حساب محفظة، ونظام تصويت مفتوح المصدر، وإطار Stabilitas للعملة الوطنية المستقرة، الذي سبق أن وجدت هذه المنصة أنه متوقف منذ 2023. وبرنامج التدقيق في المحفظة، على أي حال من حدوده، هو الجزء من تلك الحافظة الذي يُظهر فيه الفريق عمله بأكثر الطرق القابلة للفحص.
المصدر
- Biatec Wallet3 (يقدّم a-wallet.net البناء نفسه)
- scholtz/wallet GitHub repository2 — ملف README، وتعليمات التدقيق، وسجل المخاطر، وتقارير التدقيق، وvalidate.ts، وarc60.ts
- الأسئلة الشائعة عن المحفظة6
- سجل تغييرات المحفظة7
- صفحة التبرعات8
- مقترحات xGov 9 و90 و199 و2009
- Biatec Wallet - Algorand Community Wallet10
- Biatec Wallet - Algorand Community Wallet11
- Biatec12
- raw.githubusercontent.com13
- raw.githubusercontent.com14
- raw.githubusercontent.com15
- History for src/scripts/aggregators/validate.ts - scholtz/wallet · GitHub16
- Biatec Wallet - Algorand Community Wallet17
- Best Algorand Wallets in 2026: Secure Places For Staking ALGO - Coin Bureau18
- Biatec Wallet - Algorand Community Wallet19
تم التحقق من 3 أرقام في هذه القصة.عرض كل عمليات التحقق
المصادر
- 1Biatec biatec.io↩
- 2مستودعها العلني على GitHub github.com↩
- 3wallet.biatec.io wallet.biatec.io↩
- 6الأسئلة الشائعة عن المحفظة a-wallet.net↩
- 7سجل تغييرات المحفظة a-wallet.net↩
- 8صفحة التبرعات a-wallet.net↩
- 9مقترحات xGov 9 و90 و199 و200 github.com↩
- 10Biatec Wallet - Algorand Community Wallet a-wallet.net↩
- 11Biatec Wallet - Algorand Community Wallet wallet.biatec.io↩
- 12Biatec biatec.io↩
- 13raw.githubusercontent.com/scholtz/wallet/master/src/scripts/aggregators/biatec.ts raw.githubusercontent.com↩
- 14raw.githubusercontent.com/scholtz/wallet/master/audits/risk-registry.md raw.githubusercontent.com↩
- 15raw.githubusercontent.com/scholtz/wallet/master/src/scripts/aggregators/types.ts raw.githubusercontent.com↩
- 16History for src/scripts/aggregators/validate.ts - scholtz/wallet · GitHub github.com↩
- 17Biatec Wallet - Algorand Community Wallet a-wallet.net↩
- 18Best Algorand Wallets in 2026: Secure Places For Staking ALGO - Coin Bureau coinbureau.com↩
- 19Biatec Wallet - Algorand Community Wallet wallet.biatec.io↩