ربطت أمازون عملية اختطاف حزم npm في سبتمبر 2025 debug و chalk إلى كوريا الشمالية. لمدة عشرة أشهر، ظلت هذه الحادثة مسجلة في السجل العام باعتبارها سرقة عملات مشفرة: قام أحد المشرفين بالتصيد الاحتيالي من خلال نطاق npm مشابه وقام بدفع نص برمجي لاستنزاف المحفظة إلى ما لا يقل عن 18 حزمة تحمل أكثر من 2 مليار عملية تنزيل أسبوعية فيما بينها.
ولم تنسب تقارير أيكيدو وويز الأصلية الحادث إلى كوريا الشمالية. في بحث نُشر في 29 يوليو، قيّمت شركة Amazon Threat Intelligence بثقة متوسطة أن المجموعة التي تقف وراء تسوية Axios في مارس 2026 كانت وراءها.
وقامت نفس المجموعة بزرع ملف طروادة في حزمة صغيرة تسمى typo-crypto في مارس 2025، بحسب أمازون، أي قبل عام كامل من وصولها إلى أكسيوس. وقد عثر عليه المحللون أثناء مطاردة نطاق مسجل في عام 2025 ظهر أثناء تحقيقات Axios.
كانت التنزيلات منخفضة، لكن الحرفية “تتوافق مع ما لاحظناه لاحقًا في الهجمات على الحزم الأكثر شيوعًا”، كما كتبت أمازون، وتقرأ الشركة الحزمة على أنها اختبار تشغيل. يمتد إسناد أمازون إلى أربع حزم مسماة عبر ثلاث حملات في اثني عشر شهرًا. الثلاثة، كما تقول، بدأوا بالطريقة نفسها: إجراء هندسة اجتماعية لمشرف موثوق به، ثم نشر التحديث.
ولم تعلن أمازون عن أي تسوية جديدة. لا يزال نطاق الاستجابة للتصحيح والطباشير وحزم المتصفح وذاكرة التخزين المؤقت مطابقًا للآلية المنشورة. منقول الإسناد فقط .
الأدلة التي نشرتها أمازون أرق من الادعاء. يستشهد منشورها بالحرف التجاري المشترك عبر الحملات، وحزم طروادة، وخطافات ما بعد التثبيت، وإعادة استخدام التعليمات البرمجية، بالإضافة إلى مؤشرات القيادة والتحكم المتداخلة، لكنه لا يذكر الدليل الذي يربط أي حادث.
هذه الفجوة مهمة للغاية بالنسبة لتصحيح الأخطاء والطباشير، حيث قام أيكيدو وويز بتوثيق أداة اعتراض من جانب المتصفح تم ربطها fetch, XMLHttpRequest وواجهات برمجة تطبيقات المحفظة لإعادة كتابة عناوين المعاملات قبل توقيع المستخدم. لم يترك أي ثبات على الجهاز. على عكس حمولة axios، لم يعتمد هذا الرمز على ربط npm بعد التثبيت. كما لم تفعل عملية التشفير المطبعي، التي انتظرت المشغل بدلاً من ذلك.
نسبت جوجل بشكل مستقل محاورها إلى UNC1069، مستشهدة بالباب الخلفي WAVESHAPER.V2 وعقدة AstrillVPN التي استخدمتها المجموعة من قبل. ونسبت مايكروسوفت نفس التسوية إلى Sapphire Sleet، والتي تقول إنها تتداخل مع النشاط الذي يتتبعه البائعون الآخرون مثل UNC1069، وSTARDUST CHOLLIMA، وBlueNoroff، وAlluring Pisces، وCageyChameleon، وCryptoCore.
تم حل فجوة التسمية؛ فجوة الأدلة في الأمازون ليست كذلك. من بين المصادر التي تمت مراجعتها هنا، تظل أمازون مصدر الإسناد الوحيد لتسويات تصحيح الأخطاء والطباشير والتشفير المطبعي. وصلت إسناد المحاور في غضون يومين من التسوية. أما الاثنان الآخران فقد نُسبا بعد عشرة وستة عشر شهرًا من الواقعة.
تقرأ أمازون هذا النمط على أنه ذو دوافع مالية. أخبر سوكيت The Hacker News في ذلك الوقت أن محافظ سبتمبر حققت حوالي 600 دولار.
الملف الخبيث الذي تصفه أمازون، core.js، تم طرحها على أنها حزمة core-js المشروعة داخل المستودع. تم تشغيله عند بداية إدخال التجزئة 0098273 وسحبت مرحلة ثانية خاصة بنظام التشغيل من C2 مضمنة، مشوشة بـ base64 عبر تشفير XOR مرتبطًا بـ 01042025. مؤشرات الشبكة هي npmjs[.]store و 216[.]74[.]123[.]126.
يستشهد منشور أمازون بسجل OSV دون تسمية الإصدار. التحقق من ذلك هاكر نيوز: MAL-2026-3400 يحدد typo-crypto@4.3.0، يُنسب إلى Amazon Inspector، وتم نشره في 8 مايو، أي قبل ثلاثة أشهر تقريبًا من الإسناد.
قامت The Hacker News بفحص السجل في 30 يوليو 2026. typo-crypto@4.3.0 لا يزال منشورًا ولا يزال قابلاً للتثبيت. إنه يعلن عن عدم وجود برنامج نصي للتثبيت، لذا فإن سحبه للأسفل لا يؤدي إلى تشغيل أي شيء من تلقاء نفسه. يطابق tarball npm تجزئات التكامل الخاصة بالسجل.
يسرد السجل إصدارًا واحدًا، تم إنشاؤه ونشره بفارق 204 مللي ثانية في 31 مارس 2025. ولا يتطابق حساب النشر مع المطور المذكور في حقل مؤلف الحزمة. يتم نسخ الوصف والكلمات الرئيسية من crypto-js، في الإصدار الأول قبل الإصدار الأحدث لـ crypto-js، 4.2.0. crypto-js هو مشروع مختلف عن core-js الذي تم انتحاله في الملف.
لا يتناسب هذا السجل مع تسوية المشرف التي يتبعها تحديث ضار، وهي الطريقة التي تصف بها أمازون الحملات الثلاث. إنه يناسب حزمة مصممة لانتحال شخصية crypto-js من النشر الأول. لا يمكن للسجل أن يوضح كيفية الحصول على الحساب، فقط أنه لم يكن هناك إصدار سابق للتحديث.
يتطابق الملف مع المنشور من ناحية واحدة: core.js يحتوي على كل من قيمة المشغل وأسماء Amazon لمفتاح XOR. التجزئة غير متطابقة. تسرد أمازون SHA256 لـ core.js كما التجزئة الحزمة، وذكر core.js لا يظهر التجزئة في أي ملف في كرة القطران. إما أن يكون هناك مؤشر ذو تسمية خاطئة أو تجزئة من نسخة مختلفة مسؤولة عن ذلك. منشور أمازون لا يذكر أي منها.
تواصلت The Hacker News مع أمازون للحصول على تفاصيل حول الأدلة التي تربط تسوية سبتمبر 2025، ومع Aikido لقراءتها حول إعادة الإسناد، وسوف تقوم بتحديث هذه القصة بأي رد.
تم شحن npm للإصدار 12 في 8 يوليو مع إيقاف تشغيل البرامج النصية لدورة حياة التبعية افتراضيًا، مما أدى إلى إزالة محاور مسار ما بعد التثبيت الافتراضية المستخدمة. ولا يغلق مسار تسوية المشرف خلف التصحيح والطباشير والمحاور. بمراجعة الإصدار، أشارت سارة جودينج، التي كتبت لـSocket، إلى أنه “لا حظر تثبيت البرنامج النصي ولا OIDC يغلق نقطة الدخول هذه.”
في 28 يوليو، بدأ npm في فحص الحزم المنشورة حديثًا بحثًا عن البرامج الضارة قبل أن تصبح قابلة للتثبيت. ينطبق الفحص على عمليات النشر الجديدة، وليس على الحزم الموجودة بالفعل في السجل.
