عندما يتحول أكثر الحزم تنزيلاً إلى سلاح
في 30-31 مارس 2026، نشر المهاجمون نسختين ملغومتين من Axios على npm — [email protected] (موسومة بـ “latest”) و[email protected] (موسومة بـ “legacy”). Axios هي مكتبة HTTP الخاصة بـ JavaScript المستخدمة في كل مشروع تقريباً على Node.js يُجري استدعاءات API؛ إذ تُقارب تنزيلاتها الأسبوعية 100 مليون، مما يجعلها من أكثر الحزم اعتماداً في نظام npm البيئي.
لم يكن الهجوم استغلالاً تقنياً لبنية npm التحتية. اخترق المهاجمون حساب npm الخاص بـ Jason Saayman، المشرف الرئيسي على Axios، عبر هندسة اجتماعية متطورة: انتحلوا شخصية مؤسس شركة، وأنشأوا مساحة عمل Slack مزيفة مقنعة، ورتّبوا مكالمة Microsoft Teams مع مشاركين يبدون شرعيين. ثم خُدع Saayman بتثبيت برنامج RAT بدعوى أن تحديث نظام مطلوب. وبمجرد اختراق جهاز المشرف، أصبح نشر إصدارات خبيثة على npm أمراً سهلاً.
نشر باحث الأمن Joe Desimone تحذيراً عاجلاً على X في 31 مارس. سُحبت الإصدارات الملغومة في غضون ثلاث ساعات تقريباً — لكن خلال تلك النافذة رصدت Huntress أكثر من 135 نقطة نهاية متضررة على جميع أنظمة التشغيل تتصل ببنية التحكم والسيطرة التابعة للمهاجمين. ونسبت Google الحملة إلى UNC1069، وهي مجموعة كورية شمالية ذات دوافع مالية نشطة منذ عام 2018 على الأقل.
لماذا يعني هذا شيئاً للمطورين الجزائريين تحديداً
يشهد مجتمع المطورين الجزائريين نمواً متسارعاً — تُنتج برامج الحاسوب الجامعية والبوتكامبات وبيئة الشركات الناشئة حول Alger Innov ممارسين في Node.js وPython على نطاق واسع. معظمهم يستخدمون npm أو pip كمدير حزم رئيسي، ومعظمهم يثبّتون التبعيات دون تثبيت إصدار أو التحقق من المصدر.
يُثبت هجوم Axios أن اختراق سلسلة التوريد لا يستلزم عملية حكومية تستهدف مؤسسة بعينها. أصدرت CISA تنبيهاً في 20 أبريل 2026. نشرت وكالة الأمن السيبراني السنغافورية (CSA) تنبيهاً موازياً (AD-2026-002) يوصي بمراجعة فورية للإصدارات. بالنسبة للمطورين الجزائريين العاملين على تكاملات الفنتك أو واجهات API الحكومية الإلكترونية أو أي نظام إنتاجي يتعامل مع بيانات المواطنين أو العملاء، فإن التبعية المخترقة تتجاوز جميع ضوابط الأمان على مستوى التطبيق.
إعلان
ما يجب على المطورين الجزائريين فعله
1. تثبيت التبعيات على إصدارات محددة موثقة في كل مشروع
استغل هجوم Axios السلوك الافتراضي لـ npm المتمثل في الحل التلقائي نحو وسم “latest”. أي مشروع يحدد "axios": "^1.13.0" في package.json سيستقبل تلقائياً [email protected] — بما فيها الإصدار الملغوم — عند تشغيل npm install التالي. التثبيت على إصدار محدد موثق ("axios": "1.13.0") يمنع التحديث التلقائي نحو إصدارات مسمومة.
لكل مشروع في الإنتاج، راجع package.json اليوم واستبدل أي محدد نطاق (^ أو ~ أو >=) بالإصدار الدقيق المستخدم حالياً. ثم الزم lock file (package-lock.json لـ npm، أو yarn.lock لـ Yarn، أو poetry.lock لـ Python) وضعه في التحكم بالمصدر، وهيّئ خط أنابيب CI/CD ليفشل إذا تغيّر lock file دون تعديل مقابل في package.json. lock file ليس اختيارياً — إنه الآلية الرئيسية التي تمنع التحليل التلقائي نحو إصدار جديد يحتمل اختراقه. أظهر تحليل Huntress بعد الحادث أن الفرق التي طبّقت lock files كانت أقل عرضة بكثير لاستقبال الإصدار الملغوم تلقائياً.
2. تفعيل التحقق من مصدر npm وسكريبتات التدقيق في CI/CD
ترتبط الإصدارات المنشورة من الحزم عبر مصدر npm (مدعوم منذ npm 7) بسير عمل GitHub Actions المحدد الذي أنتجها، مما يُتيح التحقق الرياضي من أن الحزمة بُنيت من كوميت محدد. شغّل npm audit كبوابة إلزامية في خط أنابيب CI/CD: أي بناء يُنتج نتيجة بخطورة عالية أو حرجة يجب أن يفشل ويوقف النشر. بالنسبة لمشاريع Python، يوفر pip-audit وظيفة مكافئة. تطبيق هذه الفحوصات في خطوط أنابيب المطورين الجزائريين يستغرق نحو ساعة من التهيئة ويمنع فئة كاملة من هجمات سلسلة التوريد.
3. توليد ومراجعة SBOM لكل نشر في الإنتاج
قائمة مكونات البرامج (SBOM) هي جرد قابل للقراءة الآلية لكل حزمة وتبعية ثانوية مضمنة في بناء ما. يُتيح توليد SBOM لكل نشر في الإنتاج نتيجتين دفاعيتين: يمكنك فوراً تحديد ما إذا كانت حزمة مخترقة مكشوفة حديثاً (مثل Axios) موجودة في بيئة الإنتاج، ويمكنك إنشاء خط أساس يُمكّن كشف الانحراف (تبعيات جديدة غير متوقعة).
أدوات توليد SBOM مجانية وسريعة: syft (من Anchore) تولّد SBOMs بصيغة CycloneDX أو SPDX من مجلد أو صورة حاوية في أقل من 30 ثانية؛ cdxgen تولّد CycloneDX مباشرة من package.json أو requirements.txt. بالنسبة لفرق التطوير الجزائرية العاملة على مشاريع مرتبطة بالحكومة — واجهات API للفنتك أو منصات الصحة الإلكترونية أو تكاملات CNRC — فإن SBOM بات شرطاً متزايداً في العقود الدولية.
4. متابعة تنبيهات CISA وتوصيات CSA ضمن سير عمل التطوير
نُشر تنبيه CISA بشأن اختراق Axios في 20 أبريل 2026 — أي نحو ثلاثة أسابيع بعد الهجوم. نشرت وكالة CSA السنغافورية توصية موازية (AD-2026-002) بإرشادات علاجية محددة. لا تتابع معظم فرق التطوير الجزائرية هذه التغذيات بانتظام. الدمج يحتاج فقط اشتراكاً في RSS أو webhook على Slack: كتالوج وتنبيهات الثغرات المستغلة المعروفة (KEV) من CISA متاح للعامة؛ تنشر صفحة توصيات CSA سنغافورة 8-12 توصية قابلة للتنفيذ ربع سنوياً.
لفرق التطوير الجزائرية التي تبني أنظمة إنتاج، مراجعة أسبوعية مدتها 15 دقيقة لعناوين تنبيهات CISA وCSA هي العادة الأمنية الأقل تكلفة والأعلى قيمة. البديل — اكتشاف تبعية مخترقة بعد أن تعمل في الإنتاج لأسابيع — هو ما حدث بالضبط لأكثر من 135 نقطة نهاية رصدتها Huntress.
موقع هذه التوجيهات في المشهد التطويري الجزائري عام 2026
حادثة Axios ليست معزولة. جاء هجوم مارس 2026 في أعقاب اختراق 18 حزمة npm في سبتمبر 2025 ودودة Shai-Hulud ذاتية الانتشار التي سرقت أسراراً غير مشفرة ونشرتها علناً على GitHub. هجمات سلسلة التوريد على مستودعات الحزم ليست تهديداً جديداً — إنها حملة مستمرة تزداد تعقيداً وتواتراً.
مجتمع المطورين الجزائريين عند نقطة تحوّل. الممارسات الأربع الموصوفة في هذا المقال — تثبيت التبعيات وتطبيق lock files وتوليد SBOM ومتابعة التنبيهات — هي الحد الأدنى الضروري من نظافة سلسلة التوريد لأي مطور جزائري يسلّم كوداً في الإنتاج عام 2026. لا تتطلب ميزانية إضافية ولا أدوات مؤسسية ولا خبرة أمنية متخصصة للتطبيق.
استمر اختراق Axios ثلاث ساعات. نُفّذ البرنامج الخبيث تلقائياً عند npm install. أرسل RAT إشارات كل 60 ثانية. لمطور لم يكن يتابع، كانت تلك الساعات الثلاث كافية.
الأسئلة الشائعة
كيف عمل اختراق npm Axios تقنياً، ومن المسؤول عنه؟
اخترق المهاجمون حساب المشرف Jason Saayman عبر الهندسة الاجتماعية — بانتحال هوية مؤسس شركة ببيئة Slack مزيفة ومكالمة Teams — ثم نشروا إصدارين ملغومين ([email protected] و[email protected]) يحتويان hook ما بعد التثبيت يُنزّل برنامج وصول عن بُعد متعدد المنصات. نسبت Google الحملة إلى UNC1069، وهي مجموعة كورية شمالية ذات دوافع مالية. سُحبت الإصدارات الملغومة في غضون ثلاث ساعات تقريباً، لكن Huntress رصدت أكثر من 135 نقطة نهاية متضررة خلال تلك النافذة.
ما lock file ولماذا يمنع التثبيت التلقائي لحزمة مخترقة؟
lock file (package-lock.json أو yarn.lock أو poetry.lock) يسجّل الإصدار المحلول الدقيق لكل حزمة وتبعية ثانوية وقت آخر تثبيت موثق. عندما يستخدم خط أنابيب CI/CD الأمر npm ci (بدلاً من npm install) مع lock file ملتزم في التحكم بالمصدر، يثبّت npm الإصدارات المحددة فيه بالضبط — متجاهلاً أي وسم “latest” جديد حتى لو نشر ناشر حزمة إصداراً مخترقاً. المطورون الذين التزموا lock file قبل هجوم Axios وكانوا يستخدمون npm ci كانوا أقل عرضة لاستقبال الإصدار الملغوم تلقائياً.
أين يتابع المطورون الجزائريون توصيات أمان سلسلة التوريد مستقبلاً؟
تنشر وكالة CISA الأمريكية للأمن السيبراني تنبيهات على cisa.gov/news-events/alerts — تنبيه Axios بتاريخ 20 أبريل 2026 مثال على ذلك. تنشر وكالة CSA سنغافورة توصيات تقنية موازية على csa.gov.sg/alerts-and-advisories كثيراً ما تغطي الحوادث ذاتها مع تفاصيل علاجية إضافية. كلا التغذيتين مجاني ومتاح للعامة؛ إضافتهما كاشتراكات RSS أو webhooks على Slack يوفر وعياً شبه فوري باختراقات الحزم.
—
















