نظرة عامة

العنصرالتفاصيل
اسم الحزمة الخبيثةNewtonsoftt.Json.Net (انتحال لاسم Newtonsoft.Json الشرعية — لاحظ حرف “t” الإضافي)
منصة التوزيعNuGet (مستودع الحزم الرسمي لـ.NET)
عدد النسخ المنشورة7 نسخ (11.0.4 حتى 11.0.11)
عدد التنزيلات قبل الإزالةنحو 1,200 تنزيل
الهدف المحدَّدمنصة الرهانات الإلكترونية Digitain
الجهة المكتشِفةباحثو JFrog
فترة النشر13 آب/أغسطس – 10 تشرين الأول/أكتوبر 2025

انتحال دقيق لاسم مكتبة موثوقة بالكامل

Newtonsoft.Json (المعروفة أيضاً باسم Json.NET) هي واحدة من أكثر المكتبات استخداماً بمنظومة .NET بأكملها للتعامل مع بيانات JSON — أي مطوّر .NET تقريباً استخدمها أو رأى اسمها بمرحلة ما. هذا الانتشار الهائل هو بالضبط ما يجعلها هدفاً مثالياً لهجوم انتحال الأسماء المتشابهة (Typosquatting): حزمة باسم شبه مطابق، بفارق حرف واحد بالكاد يلاحظه المطوّر أثناء كتابة أمر تثبيت أو مراجعة سريعة لملف اعتماديات (Dependencies).

نُشرت 7 نسخ متتالية من الحزمة الخبيثة على مستودع NuGet الرسمي، بأرقام إصدارات تحاكي بدقة نمط ترقيم الإصدارات الحقيقية لـNewtonsoft.Json (11.0.4 وحتى 11.0.11) — تفصيل صغير لكنه يعزز مصداقية الحزمة المزيَّفة أمام أي مطوّر يقارن أرقام الإصدارات سريعاً دون تدقيق عميق.


آلية عمل الحمولة الخبيثة: تلاعب مباشر بمنصة رهانات

بخلاف كثير من حملات انتحال الحزم التي تستهدف سرقة بيانات عامة (بيانات اعتماد، متغيرات بيئة، إلخ)، هذه الحملة مصمَّمة خصيصاً لاستهداف منصة واحدة محدَّدة: Digitain، منصة رهانات إلكترونية. بحسب تحليل JFrog:

“The trojan rigs Digitain, an online betting platform, and in later generations, exfiltrates rigged round results to an attacker-controlled server, utilizing the header X-Seq-ApiKey: theperfectheist2025.” الترجمة: “يقوم الحصان الطروادي بالتلاعب [بنتائج] منصة Digitain للرهانات الإلكترونية، وبالأجيال اللاحقة منه، يُسرِّب نتائج الجولات المتلاعَب بها إلى خادم يتحكم به المهاجم، باستخدام ترويسة (Header) باسم X-Seq-ApiKey: theperfectheist2025.”**

بمعنى واضح: هذه ليست سرقة بيانات تقليدية، بل تلاعب مباشر بنتائج رهانات حقيقية — احتيال مالي مباشر يستفيد منه المهاجم (أو من يبيع له هذه القدرة) عبر معرفة النتائج “المُتلاعَب بها” مسبقاً.

آلية التفعيل التقنية

الحمولة الخبيثة لا تعمل فور التثبيت، بل تنتظر نقطة دخول محدَّدة بالكود:

“The backdoor initiates itself via the DefaultSettings property setter, which has been altered such that it invokes attacker-controlled code to introduce a randomized delay.” الترجمة: “يبدأ الباب الخلفي عمله عبر دالة ضبط (Setter) خاصية DefaultSettings، والتي عُدِّلت بحيث تستدعي كوداً يتحكم به المهاجم لإدخال تأخير عشوائي [بنتائج الجولات].”**

استهداف خاصية DefaultSettings تحديداً ذكي من الناحية الهجومية: هذه خاصية أساسية بمكتبة Newtonsoft.Json تُستخدَم على نطاق واسع بأي تطبيق يعتمد عليها لضبط إعدادات التسلسل الافتراضية (Default Serialization Settings) — ما يعني أن الكود الخبيث يُفعَّل تلقائياً بمجرد استخدام المكتبة بشكل طبيعي تماماً، دون حاجة لأي استدعاء مشبوه أو غير عادي من قِبَل التطبيق المضيف.


تطور الحمولة عبر ثلاثة أجيال

لم تكن الحملة ثابتة الأسلوب، بل تطورت تدريجياً بمستوى التعقيد والتمويه:

“Gen-1 was a local-only rigging proof of concept; Gen-2 added exfiltration but hid it behind reflection and ConfuserEx, Gen-3 cleaned up the rigging and stabilized the exfiltration.” الترجمة: “الجيل الأول كان إثبات مفهوم محلي فقط للتلاعب [بدون تسريب بيانات للخارج]؛ الجيل الثاني أضاف التسريب لكنه أخفاه خلف تقنية الانعكاس (Reflection) وأداة تعتيم الكود ConfuserEx؛ الجيل الثالث نظّف آلية التلاعب وثبّت عملية التسريب.”**

هذا التطور التدريجي عبر ثلاثة أجيال متتالية يدل على عملية تطوير نشطة ومستمرة، وليست حملة نُفِّذت مرة واحدة وتُركت — المهاجم استمر بتحسين الأداة وتغطية آثارها (عبر Reflection وConfuserEx بالجيل الثاني) بمرور الوقت.


دليل خطير: وصول داخلي محتمل لكود الشركة المستهدَفة

من أكثر تفاصيل هذه الحملة إثارة للقلق هو ما اكتشفه الباحثون بميتاداتا الحزمة نفسها:

“The package metadata has been found to leak an internal Digitain repository URL seven times” الترجمة: “وُجد أن ميتاداتا الحزمة تُسرِّب رابط مستودع Digitain الداخلي سبع مرات.”**

تسريب رابط مستودع كود داخلي (Internal Repository URL) — سبع مرات متكررة ضمن ميتاداتا الحزمة — مؤشر قوي جداً على أن الجهة المسؤولة عن هذه الحملة لم تكن تخمّن من الخارج، بل كان لديها وصول فعلي أو معرفة داخلية بكود Digitain نفسه أثناء تطوير الحمولة الخبيثة المصمَّمة خصيصاً لمنصتهم. هذا يرفع احتمالية تورط شخص مطّلع (Insider) أو اختراق سابق غير مكتشَف لبنية Digitain التحتية، وليس مجرد مهاجم خارجي يستهدف عميلاً عشوائياً لمكتبة شائعة.


الإسناد

نشر الحزمة الخبيثة حساب بمستودع NuGet باسم مستخدم MagicalPuff96 — الهوية الحقيقية خلف هذا الحساب غير معروفة حتى لحظة كتابة هذا التقرير.


مؤشرات الاختراق

  • عنوان خادم القيادة والسيطرة (C2): 185.126.237[.]64:5341
  • ترويسة HTTP المميِّزة للتسريب: X-Seq-ApiKey: theperfectheist2025
  • اسم الحزمة الخبيثة: Newtonsoftt.Json.Net (لاحظ حرف “t” الإضافي بعد Newtonsoft)
  • أرقام الإصدارات المتأثرة: 11.0.4، 11.0.5، 11.0.7، 11.0.8، 11.0.9، 11.0.10، 11.0.11

التوصيات الدفاعية

  • احذف حزمة Newtonsoftt.Json.Net فوراً إذا وُجدت ضمن اعتماديات أي مشروع لديك — تحقق من اسم الحزمة بدقة حرفاً بحرف، الفارق حرف “t” واحد فقط عن الاسم الشرعي.
  • احظر عنوان القيادة والسيطرة 185.126.237[.]64:5341 على مستوى جدار الحماية / أنظمة كشف التسلل.
  • ثبّت Newtonsoft.Json على نسخة معروفة وموثوقة عبر ملف packages.lock.json، لمنع أي تحديث تلقائي غير مقصود لحزمة مزيَّفة مستقبلاً.
  • راجع أي مشروع .NET يعتمد على منصات رهانات أو معالجة نتائج حسّاسة بحثاً عن وجود هذه الحزمة تحديداً، نظراً لاستهدافها المباشر والمصمَّم خصيصاً لهذا النوع من التطبيقات.
  • إذا كنت مطوّراً بمنصة Digitain نفسها أو مؤسسة مشابهة، هذه الحادثة تستدعي مراجعة أوسع لاحتمال وصول غير مصرَّح به سابق لمستودعات الكود الداخلية، وليس فقط إزالة الحزمة الخبيثة نفسها.

ملاحظات

  • الخبر الأصلي نُشر على The Hacker News بتاريخ 22 تموز/يوليو 2026، بالاستناد لتحليل باحثي شركة JFrog.
  • هذه الحملة مثال واضح على كيف تتطور حملات انتحال حزم البرمجيات (Package Typosquatting) من مجرد سرقة بيانات عامة إلى استهداف مصمَّم خصيصاً لصناعة أو شركة واحدة بعينها — ما يجعل الفحص الروتيني لأسماء الحزم أهم من أي وقت مضى، حتى بمشاريع لا تتعامل ظاهرياً مع بيانات “حساسة” بالمعنى التقليدي.

المصدر

المقال الأصلي: Trojanized Newtonsoft.Json Fork Hides Game-Rigging Code in a Working Library