# ثلاث حزم npm تنتحل mathjs تجمع أكثر من 3 ملايين تحميل في 6 أيام بكود خبيث مشفّر

> **المغزى:** حين يبقى الكود الخبيث مشفرًا ولا يُفك إلا بمدخل معيّن، تفقد مراجعة كود الحزمة قيمتها كوسيلة فحص، ويصبح الاسم الخاطئ بحرف واحد هو الثغرة الحقيقية.

- المصدر: المغزى (https://almaghza.com/a/2026-09-23-npm-mathjs-typosquat-loader/)
- التاريخ: 12 ربيع الآخر - 23 سبتمبر 2026 (2026-09-23)
- القسم: أمن سيبراني
- الوسوم: npm، هجمات سلسلة التوريد، البرمجيات الخبيثة، الأمن السيبراني

كشفت شركة SafeDep عن ثلاث حزم على npm تنتحل مكتبة الرياضيات المعروفة mathjs، هي mathmain وmathsbase وmath-universe. نُشرت أولاها في 17 سبتمبر 2026، وسجّلت الحزم الثلاث في الفترة من 12 إلى 18 سبتمبر 605,157 و1,923,059 و569,730 تحميلًا على التوالي، أي أكثر من 3 ملايين تحميل مجتمعة.

انتحال أسماء الحزم، أو ما يُعرف بـ typosquatting، أسلوب قديم يعتمد على تشابه الاسم مع مكتبة شائعة. الجديد في هذه الحالة هو طريقة إخفاء الكود الخبيث.

فبحسب التحليل، تعمل الحزم بشكل طبيعي ولا يظهر فيها ما يثير الشك. والجزء الخبيث لا يوجد في الكود بصيغة مقروءة أصلًا، بل مشفّر بخوارزمية AES-256-GCM داخل ملفات مخفية. ولا يُفك تشفيره إلا عند استدعاء دالة معيّنة لحل معادلات المصفوفات ببيانات محددة، إذ تُشتق كلمة السر من البيانات نفسها. عندها فقط تُكتب الملفات على القرص وتُشغَّل.

## لماذا يتجاوز هذا الأسلوب الفحص المعتاد

يعتمد كثير من المطورين على فتح كود الحزمة وقراءته للتأكد من سلامتها. لكن في هذه الحالة لا يوجد ما يمكن قراءته: الحمولة الخبيثة موجودة، لكنها مغلقة، ومفتاحها هو المدخل الذي سيُرسل للدالة لاحقًا. أي أن الحزمة تبدو سليمة لكل من يراجعها، حتى تعمل بالمدخل الذي يفتحها.

يزداد الخطر في المشاريع ذات شجرة الاعتماديات العميقة، حيث تدخل حزم كثيرة لا يراجعها أحد مباشرة. ويزداد أيضًا مع انتشار الـ agents التي تضيف حزمًا إلى المشروع بنفسها، فاسم مختلف بحرف واحد لن يلفت الانتباه في مراجعة سريعة.

أسماء الحزم الثلاث معروفة الآن، ويمكن البحث عنها في ملفات الـ lockfile للتأكد من عدم وجودها في المشروع.

## المصادر

- [تحليل SafeDep الكامل](https://safedep.io/mathmain-encrypted-loader/)
- [الموقع الرسمي لمكتبة mathjs الأصلية](https://mathjs.org/)
