
إطار عمل لاستغلال ثغرات BLE لروبوتات Unitree: حقن الأوامر عبر مفاتيح AES مبرمجة بشكل ثابت يتيح السيطرة الكاملة عن بُعد، وحقن الحمولات، والانتشار الشبيه بالديدان.

المؤلف: Bin4ry المعروف أيضًا باسم Andreas Makris [[email protected]]
المؤلف المشارك: h0stile المعروف أيضًا باسم Kevin Finisterre
المساهم: legion1581 المعروف أيضًا باسم Konstantin Severov من theroboverse ساعد في إصلاح الـ payload المستخدم في الحقن وأثبت ذلك من خلال PoC يعمل بالكامل 🙂 شكرًا يا صديقي، كانت هذه مساهمة حاسمة ونحن نقدرها كثيرًا!
التاريخ: 20 سبتمبر 2025
CVE-2025-35027
CVE-2025-60017
CVE-2025-60250
CVE-2025-60251
البحث المستند إلى هذا المستودع مُدمج في ورقة بحثية تقدّم تقييمًا منهجيًا لأمان روبوت Unitree G1. ومع ذلك، فإن تأثير البحث لا يقتصر على G1 فحسب، بل يشمل خط إنتاج Unitree بالكامل بدءًا من سلسلة Go2. يبدو أن الكود الموجود على روبوتات Unitree الأحدث هو فرع (fork) من قاعدة أكواد Go2، مما يجعل سلالة Go1 وروبوتات Unitree الأخرى التي سبقت Go2 غير معرضة للخطر تحديدًا. ومع ذلك، فإن جميع الطرازات الحديثة متأثرة حاليًا. لم تصدر Unitree بعد نشرة استشارية توضح التأثير الدقيق عبر خط الإنتاج.
رابط الورقة البحثية: https://arxiv.org/abs/2509.14139
العنوان: Cybersecurity AI: Humanoid Robots as Attack Vectors
المؤلفون: Víctor Mayoral-Vilches, Andreas Makris, Kevin Finisterre```bibtex
@misc{mayoralvilches2025cybersecurityaihumanoidrobots,
title={Cybersecurity AI: Humanoid Robots as Attack Vectors},
author={Víctor Mayoral-Vilches and Andreas Makris and Kevin Finisterre},
year={2025},
eprint={2509.14139},
archivePrefix={arXiv},
primaryClass={cs.CR},
url={https://arxiv.org/abs/2509.14139},
}
جدول المحتويات
=================
* [تحليل حقن الأوامر في خدمة BLE الخاصة بروبوت Unitree](#unitree-robot-ble-service-command-injection-analysis)
* [نظرة عامة](#overview)
* [اكتشاف خدمة BLE](#ble-service-discovery)
* [هندسة عكسية للبروتوكول](#reverse-engineering-the-protocol)
* [التعليمة 1: المصافحة "الآمنة"](#instruction-1-the-secure-handshake)
* [التعليمة 2: الحصول على الرقم التسلسلي](#instruction-2-get-serial-number)
* [التعليمة 3: تهيئة وضع Wi-Fi](#instruction-3-initialize-wifi-mode)
* [التعليمة 4: تعيين SSID](#instruction-4-set-ssid)
* [التعليمة 5: تعيين كلمة المرور](#instruction-5-set-password)
* [التعليمة 6: تعيين رمز البلد (المشغّل!)](#instruction-6-set-country-code-the-trigger)
* [سلسلة إعداد Wi-Fi](#the-wifi-setting-thread)
* [الدالة القابلة للاستغلال: حقن الأوامر](#the-vulnerable-function-command-injection)
* [ملخص تدفق الهجوم](#attack-flow-summary)
* [التهديد القابل للانتشار كدودة](#the-wormable-threat)
* [إثبات المفهوم](#proof-of-concept)
* [الانتشار في العالم الحقيقي & الأثر](#real-world-deployment--impact)
* [الانتشار الحالي](#current-deployments)
* [تقييم الأثر](#impact-assessment)
* [الأثر على إنفاذ القانون & الجيش](#law-enforcement--military-impact)
* [بيئات الشركات](#corporate-environments)
* [أثر المستهلك](#consumer-impact)
* [انتشار الدودة](#wormable-propagation)
* [التفاصيل التقنية](#technical-details)
* [بنية خدمة BLE](#ble-service-architecture)
* [المعلمات التشفيرية](#cryptographic-parameters)
* [بنية الحزمة](#packet-structure)
* [الدروس المستفادة](#lessons-learned)
* [الجدول الزمني للإفصاح](#disclosure-timeline)
* [المحاولة الأولى والأخيرة للإبلاغ عن مشكلة أمنية أخرى في روبوتاتكم الرئيسية G1 وGo2 وغيرها](#first-and-last-attempt-to-report-another-security-issue-in-your-flagship-g1-and-go2-and-other-bots)
* [إخلاء مسؤولية](#disclaimer)
* [نمط من المشكلات الأمنية](#a-pattern-of-security-issues)
* [الخلاصة](#conclusion)
* [إشعار قانوني](#legal-notice)
* [المساهمة](#contributing)
* [الترخيص والوصول إلى هذه الملفات](#licensing-and-access-to-these-files)
---
## نظرة عامة
خلال بحثنا الأمني على منصات Unitree الروبوتية، اكتشفنا ثغرة أمنية حرجة في واجهة إعدادات Wi-Fi عبر تقنية Bluetooth Low Energy (BLE). تؤثر هذه الثغرة على عدة طرازات من روبوتات Unitree بما في ذلك سلسلة Go2 وG1 وH1 وB2 حتى أحدث إصدار من البرنامج الثابت حتى اليوم [20 سبتمبر 2025].
**🎯 يمثل هذا أول إكسبلويت تم الإفصاح عنه علنًا يستهدف الروبوتات البشرية!**
تجمع الثغرة بين عدة مشكلات أمنية: مفاتيح تشفير مدمجة في الكود (hardcoded)، وتجاوز تافه للمصادقة، وحقن أوامر دون تنقية. ما يجعل هذا مثيرًا للقلق بشكل خاص هو أنها **قابلة للانتشار كدودة (wormable)** تمامًا - إذ يمكن للروبوتات المصابة اختراق روبوتات أخرى تلقائيًا ضمن نطاق BLE. تتيح هذه الثغرة للمهاجم السيطرة الكاملة على الجهاز.
نشرنا المفاتيح التشفيرية في يوليو [رابط التغريدة](https://x.com/Bin4ryDigit/status/1950566849072005304) لكن Unitree لم تكترث.
دعونا نتعمق في التفاصيل التقنية لكيفية اكتشافنا لهذه الثغرة واستغلالها.
## اكتشاف خدمة BLE
كانت الخطوة الأولى هي تحديد خدمات BLE التي تظهرها الروبوتات. جميع طرازات Unitree المتأثرة تعرض خدمة BLE مخصصة لإعداد Wi-Fi:```
Service UUID: 0000ffe0-0000-1000-8000-00805f9b34fb
Write Characteristic: 0000ffe2-0000-1000-8000-00805f9b34fb
Notify Characteristic: 0000ffe1-0000-1000-8000-00805f9b34fb
من خلال الهندسة العكسية، اكتشفنا أن الروبوت ينفذ مدير استقبال يعالج حزم BLE المشفرة. هذا ما وجدناه:

يقوم مدير الاستقبال أولاً بفك تشفير الحزم الواردة باستخدام معاملات AES مضمّنة:```python AES_KEY = "df98b715d5c6ed2b25817b6f2554124a" AES_IV = "2841ae97419c2973296a0d4bdfe19a4f" Mode: AES-CFB128

بعد فك التشفير، تتم معالجة الحزم بناءً على رموز التعليمات في بنية switch-case. دعنا نفحص كل تعليمة:
## التعليمة 1: المصافحة "الآمنة"

مصافحة "المصادقة" بسيطة بشكل مثير للسخرية:


ببساطة، يتحقق الروبوت مما إذا كانت الحزمة المفكوكة تحتوي على السلسلة `"unitree"` كسر للمصافحة، ثم يضبط العلم `valid_incoming_user` إلى 1. هذه هي آلية "المصادقة" بأكملها!
## التعليمة 2: الحصول على الرقم التسلسلي

تتحقق هذه التعليمة مما إذا كان المستخدم "مصادقًا" (أي أن العلم مضبوط)، ثم تقرأ ملف الرقم التسلسلي وتعيده. هذا يؤكد أن لدينا وصولًا إلى النظام.
## التعليمة 3: تهيئة وضع WiFi
تهيئ هذه التعليمة إعدادات WiFi. يمكن للمستخدمين الاختيار بين وضع AP (الأمر الفرعي = 1) أو وضع STA (الأمر الفرعي = 2):

## التعليمة 4: تعيين SSID
تخزن هذه التعليمة SSID الخاص بشبكة WiFi. هذه أول نقطة حقن لدينا:

## التعليمة 5: تعيين كلمة المرور
على غرار أمر SSID، تخزن هذه التعليمة كلمة مرور WiFi. نقطة حقن أخرى:

## التعليمة 6: تعيين رمز الدولة (المشغّل!)