
يمكن لرقم الهاتف أن يكشف ما إذا كان الجهاز نشطًا أو في وضع الاستعداد أو غير متصل (وما إلى ذلك). يوضح هذا الإثبات المفاهيمي كيفية تسريب إيصالات التسليم + توقيت RTT لأنماط حساسة لنشاط الجهاز. (WhatsApp / Signal)
متتبع نشاط واتساب وسيغنال عبر تحليل زمن الرحلة ذهابًا وإيابًا (RTT)
⚠️ إخلاء مسؤولية: برهان مفهوم لأغراض تعليمية وبحثية أمنية فقط. يُظهر ثغرات خصوصية في واتساب وسيغنال.
ينفذ هذا المشروع البحث المنشور في الورقة العلمية "Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers" لجابرييل ك. جيغنوبر، وماكسيميليان غونتر، وماركوس ماير، وأليوشا يودماير، وفليوريان هولزباور، وفيليب إي. فرينزل، ويوهانا أولريش (جامعة فيينا & SBA Research).
ما يفعله: من خلال قياس زمن الرحلة ذهابًا وإيابًا (RTT) لإيصالات رسائل واتساب، يمكن لهذه الأداة اكتشاف:
الآثار الأمنية: يوضح هذا ثغرة خصوصية كبيرة في تطبيقات المراسلة يمكن استغلالها للمراقبة.
![]()
تعرض واجهة الويب قياسات RTT في الوقت الفعلي، وحالة الجهاز، وأنماط النشاط.
# Clone repository
git clone https://github.com/gommzystudio/device-activity-tracker.git
cd device-activity-tracker
# Install dependencies
npm install
cd client && npm install && cd ..
المتطلبات: Node.js 20+، npm، حساب واتساب
أسهل طريقة لتشغيل التطبيق هي باستخدام Docker:
# Copy environment template
cp .env.example .env
# (Optional) Customize ports in .env file
# BACKEND_PORT=3001
# CLIENT_PORT=3000
# Build and start containers
docker compose up --build
سيكون التطبيق متاحًا على:
CLIENT_PORT الذي قمت بتعيينه)BACKEND_PORT الذي قمت بتعيينه)لإيقاف الحاويات:
docker compose down
# Terminal 1: Start backend
npm run start:server
# Terminal 2: Start frontend
npm run start:client
افتح http://localhost:3000، امسح رمز QR باستخدام واتساب، ثم أدخل رقم الهاتف الذي تريد تتبعه (مثال: 491701234567).
npm start
اتبع التعليمات للمصادقة وإدخال الرقم المستهدف.
مثال على الإخراج:
╔════════════════════════════════════════════════════════════════╗
║ 🟡 Device Status Update - 09:41:51 ║
╠════════════════════════════════════════════════════════════════╣
║ JID: ***********@lid ║
║ Status: Standby ║
║ RTT: 1104ms ║
║ Avg (3): 1161ms ║
║ Median: 1195ms ║
║ Threshold: 1075ms ║
╚════════════════════════════════════════════════════════════════╝
يرسل المتتبع رسائل اختبار ويقيس زمن الرحلة ذهابًا وإيابًا (RTT) لاكتشاف نشاط الجهاز. تتوفر طريقتان للاختبار:
| الطريقة | الوصف |
|---|---|
| حذف (افتراضي) | يرسل طلب "حذف" لمعرف رسالة غير موجود. |
| تفاعل | يرسل رمز تعبيري تفاعل لمعرف رسالة غير موجود. |
يتم قياس الوقت بين إرسال رسالة الاختبار واستلام CLIENT ACK (الحالة 3) على أنه RTT. يتم اكتشاف حالة الجهاز باستخدام عتبة ديناميكية تُحسب على أنها 90% من متوسط RTT: القيم أقل من العتبة تشير إلى الاستخدام النشط، والقيم الأعلى تشير إلى وضع الاستعداد. تُخزن القياسات في سجل ويتم تحديث الوسيط باستمرار للتكيف مع ظروف الشبكة المختلفة.
في واجهة الويب، يمكنك التبديل بين طرق الاختبار باستخدام القائمة المنسدلة في لوحة التحكم. في وضع سطر الأوامر، يتم استخدام طريقة الحذف افتراضيًا.
auth_info_baileys/ وأعد مسح رمز QR.device-activity-tracker/
├── src/
│ ├── tracker.ts # WhatsApp RTT analysis logic
│ ├── signal-tracker.ts # Signal RTT analysis logic
│ ├── server.ts # Backend API server (both platforms)
│ └── index.ts # CLI interface
├── client/ # React web interface
└── package.json
أكثر إجراءات التخفيف فعالية هو تفعيل "حظر رسائل الحسابات غير المعروفة" في واتساب من الإعدادات → الخصوصية → متقدم.
قد يقلل هذا الإعداد من قدرة المهاجم على إرسال رسائل تفاعل اختبارية من أرقام غير معروفة، لأن واتساب يحجب الرسائل ذات الحجم الكبير من الحسابات غير المعروفة. ومع ذلك، لا يكشف واتساب عن معنى "الحجم الكبير"، لذلك لا يمنع هذا بشكل كامل المهاجم من إرسال عدد كبير من رسائل التفاعل الاختبارية قبل تفعيل الحد من المعدل.
تعطيل إيصالات القراءة يساعد مع الرسائل العادية لكنه لا يحمي من هذا الهجوم المحدد. اعتبارًا من ديسمبر 2025، لا تزال هذه الثغرة قابلة للاستغلال في واتساب وسيغنال.
⚠️ لأغراض البحث والتعليم فقط. لا تتبع أبدًا الأشخاص دون موافقة صريحة - قد ينتهك ذلك قوانين الخصوصية. يتم تخزين بيانات المصادقة (auth_info_baileys/) محليًا ويجب عدم إرسالها إلى نظام التحكم في الإصدارات أبدًا.
بناءً على بحث Gegenhuber وآخرون، جامعة فيينا & SBA Research:
@inproceedings{gegenhuber2024careless,
title={Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers},
author={Gegenhuber, Gabriel K. and G{\"u}nther, Maximilian and Maier, Markus and Judmayer, Aljosha and Holzbauer, Florian and Frenzel, Philipp {\'E}. and Ullrich, Johanna},
year={2024},
organization={University of Vienna, SBA Research}
}
رخصة MIT - انظر ملف LICENSE.
مبني باستخدام @whiskeysockets/baileys
استخدم بمسؤولية. تُظهر هذه الأداة ثغرات أمنية حقيقية تؤثر على ملايين المستخدمين.