⚡ أبرز النقاط

اخترقت حملة CanisterWorm، التي ظهرت في 8 أبريل 2026، أكثر من 22 حزمة npm بما فيها أدوات Namastex Labs للذكاء الاصطناعي الوكيل، مستخدمةً سكريبتات postinstall لسرقة رموز مصادقة npm والانتشار الذاتي عبر نشر إصدارات خبيثة لجميع الحزم التي يديرها المطور الضحية. تستخدم الهجمة كانسترات ICP blockchain كبنية تحتية للقيادة والتحكم، وتُظهر تداخلاً تقنياً واسعاً مع جهة التهديد TeamPCP، فيما استهدفت حملة موازية في أبريل 2026 مستخدمي Bitwarden CLI بالآلية ذاتها.

خلاصة سريعة: يجب على المطورين الذين نصّبوا حزماً من نطاقات Namastex Labs أو @automagik/* منذ 8 أبريل 2026 تدوير رموز npm فوراً؛ وعلى جميع الفرق الانتقال إلى رموز OIDC في سير عمل النشر وإضافة ignore-scripts=true إلى ملفات .npmrc في بيئات CI.

اقرأ التحليل الكامل ↓

إعلان

🧭 رادار القرار

الصلة بالجزائر
متوسطة

المطوّرون الجزائريون الذين يستهلكون حزم npm لتطوير تطبيقات الويب والهواتف والذكاء الاصطناعي معرّضون مباشرةً لهذه الفئة من الهجمات. الشركات الناشئة الجزائرية التي تبني باستخدام LangChain أو AutoGen أو أطر الذكاء الاصطناعي الوكيل الأخرى التي تعتمد على أدوات npm تواجه خطرًا مرتفعًا في ضوء استهداف CanisterWorm المحدّد لحزم الذكاء الاصطناعي الوكيل.
البنية التحتية جاهزة؟
نعم

الدفاعات ضد CanisterWorm هي تغييرات في تكوين البرمجيات — الانتقال إلى رموز OIDC، وإدارة lockfile، وسياسة ignore-scripts — لا تتطلب أي استثمار في البنية التحتية سوى خط أنابيب CI/CD والوصول إلى حساب npm. فرق التطوير الجزائرية تمتلك الوصول الكامل لهذه عناصر التحكم اليوم.
المهارات متوفرة؟
جزئيًا

مهارات إدارة حزم npm وتكوين أمن CI/CD متواجدة في مجتمع المطوّرين الجزائريين. غير أن ممارسات أمان سلسلة التوريد المتقدمة — التحقق بـ Sigstore، وتدفقات رموز النشر OIDC، وتوليد SBOM — تمثّل فجوة في المهارات لمعظم الفرق خارج شركات التقنية الكبيرة والشركات متعددة الجنسيات.
الجدول الزمني للإجراء
فوري

أي مطوّر أو مؤسسة جزائرية ثبّتت حزمًا من النطاقات المتأثرة منذ 8 أبريل 2026 يجب أن تُدوّر رموز npm اليوم. الانتقال الأوسع إلى OIDC وسياسة ignore-scripts هي مهام تنفيذ من 1-2 أسبوع.
أصحاب المصلحة الرئيسيون
المطوّرون، ومهندسو DevOps، ومهندسو الأمن، والمديرون التقنيون في شركات التقنية الناشئة، ومُشرفو حزم المصدر المفتوح
نوع القرار
تكتيكي

هذه عناصر تحكم تشغيلية فورية — تدوير الرموز، وتغييرات الإعداد، وتعزيز خط الأنابيب — يمكن تنفيذها في ساعات إلى أيام دون عمليات موافقة تنظيمية.

خلاصة سريعة: يجب على فرق التطوير الجزائرية تدوير رموز npm اليوم إذا كانت قد ثبّتت حزمًا من Namastex Labs أو أي نطاق @automagik/ أو @fairwords/ منذ 8 أبريل 2026. لجميع الفرق بغض النظر عن التعرض المباشر: انتقلوا بسير عمل النشر إلى رموز OIDC في هذا السبرينت، وأضيفوا ignore-scripts=true إلى تكوينات .npmrc في CI، وتأكّدوا من أن npm ci (وليس npm install) هو أمر التثبيت في جميع خطوط الأنابيب الإنتاجية.

فئة دودة جديدة مبنية على إعادة استخدام الرموز

تمثّل حوادث سلسلة التوريد npm في أبريل 2026 تصعيدًا هيكليًا عن الهجمات السابقة. برهنت حملات سابقة — بما فيها دودة Shai-Hulud في نوفمبر 2025 وحادثة pgserve في يناير 2026 — على أن ديدان npm ذاتية الانتشار ممكنة تقنيًا. تُثبت CanisterWorm أن هذا النمط الهجومي قد صُقِّل وتوسَّع ونُشِر ضد فئة مستهدفة جديدة: منظومة مطوّري الذكاء الاصطناعي الوكيل.

ظهر الإصدار المُسمَّم الأول في حملة CanisterWorm في 8 أبريل 2026، حين وصل إصدار ملوّث من حزمة pgserve إلى السجل. بحلول 21 أبريل، امتدت الهجمة لتشمل مجموعة حزم الذكاء الاصطناعي الوكيل من Namastex Labs — @automagik/genie، و@fairwords/websocket، وما لا يقل عن 20 حزمة إضافية — بإجمالي 22 حزمة مخترقة أو أكثر في حملة منسّقة واحدة.

ما يميّز CanisterWorm عن حزمة خبيثة تقليدية هو آلية الانتشار الذاتي. السكريبت الخبيث postinstall لا يكتفي باستخراج بيانات الاعتماد إلى خادم قيادة وسيطرة ثم يتوقف. بل يحصد رمز مصادقة npm الخاص بالمطوّر الضحية، ويستخدم ذلك الرمز لنشر تحديثات خبيثة في كل حزمة في حساب الضحية، ويطلق نفسه كعملية خلفية منفصلة تمامًا — مما يعني أن الدودة تستمر في العمل والانتشار حتى بعد انتهاء جلسة تثبيت npm للمطوّر. كل مطوّر ضحية جديد يثبّت حزمة مخترقة من مُشرف شرعي ذي سمعة يصبح العقدة التالية للانتشار.

تستخدم بنية الهجوم التحتية كانيسترات ICP (Internet Computer Protocol) — عقودًا ذكية لامركزية على سلسلة كتل ICP — لتسليم الحمولة وسرقة بيانات الاعتماد. هذا الاختيار للبنية التحتية مقصود: يصعب إيقاف كانيسترات ICP بسرعة لأنه لا يوجد خادم مركزي للاستيلاء عليه ولا نطاق لحجبه. أكّدت ملاحظة بحث CanisterSprawl الصادرة عن Cloud Security Alliance تداخلًا تقنيًا واسعًا مع حملات جهة التهديد TeamPCP السابقة، بما فيها أنماط بنية تحتية ICP مشتركة وإشارة صريحة في الكود إلى “طريقة TeamPCP/LiteLLM”.

ما الذي تسرقه الدودة فعلًا

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

ملفات بيانات اعتماد npm: .npmrc (يحتوي على رموز مصادقة npm)، ورموز سجل النطاق، ورموز المؤسسة لسجلات الحزم الخاصة. بامتلاك رمز npm صالح، يمكن للمهاجم النشر في أي حزمة يُشرف عليها المطوّر — بما فيها الحزم التنظيمية الخاصة والمكتبات مفتوحة المصدر الشائعة ذات الملايين من التنزيلات الأسبوعية.

بيانات اعتماد Git والسحابة: .git-credentials، و.netrc، ومفاتيح SSH الخاصة، وملفات بيانات اعتماد خدمات السحابة لـ AWS وGCP وAzure. تضع الحملة المهاجم في الوقت ذاته في موقع للوصول إلى مستودعات كود الضحية وخطوط أنابيب CI/CD والبنية التحتية السحابية.

ملفات تعريف المتصفح ومحافظ العملات المشفرة: بيانات ملفات تعريف Chrome وFirefox، بما فيها بيانات الاعتماد المُخزَّنة في المتصفح وامتدادات محافظ العملات المشفرة — MetaMask وExodus وAtomic Wallet وPhantom. يعكس هذا المكوّن اهتمام جهة التهديد TeamPCP الموثّق بسرقة العملات المشفرة إلى جانب هجمات سلسلة التوريد.

ملفات البيئة: ملفات .env، وملفات كلمات مرور قواعد البيانات، وأي ملف يتطابق مع أنماط token/key/secret. تُخزّن بيئات التطوير الحديثة بشكل روتيني مفاتيح API وبيانات اعتماد قواعد البيانات ورموز حسابات الخدمة في ملفات .env التي قد لا يُدرك المطوّر أنها في متناول سكريبتات postinstall.

نطاق ما يمكن أن تُعرِّضه تثبيتة npm واحدة مخترقة لسكريبت postinstall أوسع مما يدركه معظم المطوّرين. حين تُشغّل npm install سكريبت postinstall، يُنفَّذ ذلك السكريبت بنفس صلاحيات shell المطوّر — مما يعني في معظم إعدادات التطوير الوصول إلى المجلد الرئيسي ومخازن بيانات الاعتماد المحلية وأنظمة الملفات المُثبَّتة.

إعلان

لماذا استُهدفت حزم الذكاء الاصطناعي الوكيل

استهداف حزم Namastex Labs لم يكن عشوائيًا. Namastex Labs تطوّر أدوات الذكاء الاصطناعي الوكيل — حزمًا تربط عوامل الذكاء الاصطناعي بالخدمات والواجهات البرمجية وبيئات التنفيذ الخارجية. المطوّرون الذين يبنون على هذه الحزم يعملون بطبيعة الأمر على أنظمة تتمتع فيها عوامل الذكاء الاصطناعي بصلاحيات واسعة: وصول shell، ومفاتيح API، وبيانات اعتماد قواعد البيانات، ورموز حسابات الخدمة. اختراق بيئة تطوير مطوّر ذكاء اصطناعي وكيل يُعرّض محتملًا ليس فقط بيانات اعتماد المطوّر نفسه بل وبيانات اعتماد الإنتاج لكل نظام ذكاء اصطناعي يبنيه وينشره.

يمثّل ذلك تحوّلًا في منطق الاستهداف عن هجمات سلسلة التوريد السابقة، التي أولت الأولوية للحزم ذات حجم التنزيل العالي لأقصى اتساع. CanisterWorm تستهدف فئة أقل حجمًا لكن أعلى قيمة: المطوّرون الذين تُفتح رموزهم المخترقة أنظمة ذكاء اصطناعي إنتاجية بصلاحيات مؤسسية واسعة. رمز npm واحد لمطوّر ذكاء اصطناعي وكيل، مقترنًا بملفات .env وبيانات اعتماد AWS الخاصة به، قد يتيح الوصول إلى عوامل ذكاء اصطناعي تدير قواعد بيانات العملاء أو قواعد المعرفة الداخلية أو العمليات التجارية الآلية.

الاستهداف المتزامن لمستخدمي Bitwarden CLI في حملة منفصلة في أبريل 2026 يعزز هذا المنطق. Bitwarden CLI يستخدمه المطوّرون ومديرو النظم للوصول إلى خزائن كلمات المرور برمجيًا — رموز مستخدميه لا تفتح خدمة واحدة فحسب بل مخزن بيانات الاعتماد الرئيسي لبيئات التطوير بأكملها ونشريات البنية التحتية.

ما يجب على فرق أمن المؤسسات والمطوّرين الأفراد فعله

1. تدوير رموز مصادقة npm فورًا والانتقال إلى OIDC

أي مطوّر ثبّت حزم npm من قائمة الحزم المتأثرة — ولا سيما من نطاقات @automagik/ أو @fairwords/ أو Namastex Labs منذ 8 أبريل 2026 — يجب أن يعامل رموز مصادقة npm الخاصة به بوصفها مخترقة ويُدوّرها فورًا. يتطلب تدوير الرموز في npm توليد رمز أتمتة جديد عبر إعدادات حساب npm وإلغاء الرمز القديم.

الإصلاح الهيكلي هو استبدال رموز npm الكلاسيكية طويلة الأمد برموز OIDC (OpenID Connect) مؤقتة ومحدودة النطاق بالحزمة. رموز OIDC مؤقتة — تنتهي صلاحيتها بعد دقائق أو ساعات بدلًا من الاستمرار إلى أجل غير مسمى — ومحدودة النطاق لنطاقات حزم بعينها بدلًا من منح حقوق النشر عبر الحساب بأكمله. GitHub Actions وGitLab CI وBitbucket Pipelines تدعم جميعها توليد رموز OIDC كميزة أصيلة لسير عمل نشر npm. المؤسسات التي لم تُهاجر بعد خطوط أنابيب النشر لديها إلى OIDC يجب أن تُعامل ذلك إصلاحًا أمنيًا من الأولوية الأولى، لا عنصرًا في قائمة المتأخرات من أفضل الممارسات.

2. تفعيل ignore-scripts في بيئات CI/CD كسياسة افتراضية

إعداد ignore-scripts=true في .npmrc يمنع npm من تنفيذ سكريبتات preinstall وinstall وpostinstall أثناء npm install. بالنسبة لبيئات CI/CD الإنتاجية — حيث يجب أن يكون تثبيت الحزم حتميًا ولا ينبغي تشغيل أي سكريبت عشوائي — يُزيل هذا الإعداد ناقل التنفيذ الذي استخدمته CanisterWorm وpgserve وShai-Hulud.

المقايضة هي أن بعض الحزم تستخدم سكريبتات postinstall لأغراض مشروعة (تجميع الوحدات الأصيلة، وتوليد الأصول). في الممارسة، تستطيع معظم خطوط أنابيب CI/CD العمل مع ignore-scripts=true عبر استبدال الحزم المعتمدة على postinstall ببدائل أو مراجعة الحزم المحددة التي تتطلب تنفيذ postinstall وإدراجها في القائمة البيضاء. نهج القائمة البيضاء هذا أكثر أمانًا من السلوك الافتراضي الحالي (السماح بجميع سكريبتات postinstall من جميع الحزم) وينبغي أن يصبح معيار المؤسسة لأي بيئة CI تتعامل مع بيانات اعتماد حساسة.

3. مراجعة ملفات .env ومخازن بيانات الاعتماد للوصول المفرط الصلاحيات

يصل سكريبت postinstall الخاص بـ CanisterWorm إلى المجلدات الرئيسية للمطوّرين وملفات .env وملفات تعريف المتصفحات ومجلدات مفاتيح SSH. تحتوي هذه المواقع على بيانات اعتماد يعتبرها معظم المطوّرين بنية تحتية خلفية محيطة — موجودة لكن لا تُدار بنشاط كأصول أمنية. يجب أن يُحصي تدقيق ما بعد الحادثة كل بيانات اعتماد مُخزَّنة في هذه المواقع ويُقيّم ما إذا كانت لا تزال ضرورية، وما إذا كانت محدودة النطاق بالصلاحيات الضرورية الدنيا، وما إذا كان يجب تخزينها في ملف بيانات اعتماد محلي أصلًا.

تحديدًا: بيانات اعتماد AWS IAM المُخزَّنة في ~/.aws/credentials ينبغي أن تستخدم رموز جلسة مؤقتة عبر AWS IAM Identity Center بدلًا من مفاتيح الوصول طويلة الأمد. مفاتيح API للخدمات الإنتاجية ينبغي تخزينها في مدير أسرار (HashiCorp Vault أو AWS Secrets Manager) بدلًا من ملفات .env. مفاتيح SSH المستخدمة لوصول المستودعات ينبغي أن تكون محمية بمعدّات FIDO2 حيثما أمكن، مما يُزيل خطر سرقة المفاتيح القائمة على الملفات. مراجعة النظافة في بيانات الاعتماد هذه هي عنصر التحكم الوقائي الذي يُحدّ من نصف قطر الضرر للهجمة التالية بسكريبت postinstall — وستأتي هجمة تالية بالتأكيد.

4. تطبيق تثبيت إصدار التبعيات والتحقق بالهاش في جميع خطوط الأنابيب

CanisterWorm تعمل بنشر إصدار جديد خبيث من حزمة مخترقة. خط أنابيب يُحدّد "@automagik/genie": "latest" في package.json سيسحب الإصدار المُسمَّم تلقائيًا في npm install القادمة. خط أنابيب يُثبّت "@automagik/genie": "1.2.3" ويتحقق من هاش الحزمة مقابل قيمة معروفة جيدة لن يفعل ذلك.

إدارة lockfile (package-lock.json في npm، وyarn.lock في Yarn) تُطبّق تثبيت الإصدار، لكن فقط إذا كان lockfile مُرفقًا بالكود وخط أنابيب CI يُشغّل npm ci (الذي يحترم lockfile) وليس npm install (الذي يمكنه تحديث lockfile). التحقق بالهاش يذهب أبعد: أدوات مثل npm audit signatures تتحقق من أن توقيعات الحزم تتطابق مع سجل توقيعات Sigstore الخاص بسجل npm، مُكتشِفةً الحزم التي جرى العبث بمحتواها المنشور بعد توقيع المُشرف. يجب أن يصبح التحقق من مصدر سلسلة التوريد القائم على Sigstore بوابة CI معيارية لأي مؤسسة تُثبّت حزمًا من سجلات عامة.

الدرس الهيكلي: الانتشار الذاتي يُغيّر اقتصاديات الهجوم

الابتكار الجوهري في CanisterWorm — والسبب في استمرار هذه الفئة من الهجمات — هو أن الانتشار الذاتي يجعل الهجوم قابلًا للتوسع بشكل أسّي بتكلفة هامشية تكاد تكون صفرًا. مهاجم سلسلة توريد تقليدي يجب أن يخترق حساب مُشرف بعينه ذو سمعة عالية عبر الهندسة الاجتماعية أو سرقة بيانات الاعتماد أو اختراق المفاتيح — نهج مرتفع الجهد ومنخفض نسبة النجاح يُقيّد حجم الحملة. الدودة ذاتية الانتشار تخترق أي مطوّر يُثبّت أي حزمة متأثرة، ثم تستخدم بيانات اعتماد ذلك المطوّر نفسه للتوسع تلقائيًا في محفظة الحزم الكاملة التي يُشرف عليها.

حوادث أبريل 2026 — CanisterWorm تستهدف حزم الذكاء الاصطناعي الوكيل، وحادثة Bitwarden CLI المصاحبة — تُشير إلى أن جهة التهديد TeamPCP تتطور نحو نموذج هجوم مستدام. فرق الأمن التي تُطبّق عناصر التحكم الأربعة أعلاه — الانتقال إلى رموز OIDC، وسياسة ignore-scripts، وتقليص نطاق بيانات الاعتماد، والتحقق بهاش lockfile — لا تدافع فقط ضد CanisterWorm. بل تُغلق الثغرات الهيكلية التي تجعل جميع ديدان سلسلة التوريد ذاتية الانتشار ممكنة.

تابعوا AlgeriaTech على LinkedIn للتحليلات التقنية المهنية تابعوا على LinkedIn
تابعونا @AlgeriaTechNews على X للحصول على أحدث تحليلات التكنولوجيا تابعنا على X

إعلان

الأسئلة الشائعة

كيف تعمل آلية الانتشار الذاتي لـ CanisterWorm من الناحية التقنية؟

تنشر CanisterWorm سكريبت postinstall خبيثًا في حزمة npm مخترقة. حين يُشغّل المطوّر npm install، يُنفَّذ سكريبت postinstall تلقائيًا، مُحصِدًا رموز مصادقة npm من ملفات .npmrc ومتغيرات البيئة وملفات تعريف المتصفح. ثم يستخدم رمز npm المسروق لنشر تحديثات خبيثة في كل حزمة في حساب npm الخاص بالضحية، كل منها يحتوي على نفس حمولة دودة postinstall. تعمل العملية كعفريت خلفية منفصل حتى بعد انتهاء جلسة التثبيت، وتستخدم كانيستر blockchain ICP لاستخراج بيانات الاعتماد وتسليم الحمولة — مما يجعل بنية القيادة والسيطرة مقاوِمةً لحجب النطاق.

ما الذي يميّز CanisterWorm عن هجمات npm السابقة على سلسلة التوريد؟

تجمع CanisterWorm بين ثلاثة ابتكارات: بنية تحتية للقيادة والسيطرة لامركزية قائمة على ICP (الاستخدام الأول المؤكّد في هذه الفئة من الهجمات)، واستهداف متعمّد لحزم تطوير الذكاء الاصطناعي الوكيل (قيمة أعلى لبيانات الاعتماد لكل ضحية)، وتنسيق مصاحب مع حملة منفصلة تستهدف Bitwarden CLI تستهدف نفس مجموعة المطوّرين. آلية الانتشار الذاتي نفسها جرى توضيحها أولًا في هجوم Shai-Hulud في نوفمبر 2025، لكن استخدام CanisterWorm لبنية ICP التحتية يجعل الهجوم أكثر مرونة أمام الاستجابة للحوادث مقارنةً بالديدان السابقة التي اعتمدت على خوادم قيادة وسيطرة مركزية.

ما الفرق بين `npm install` و`npm ci` من منظور الأمن؟

npm install تُحلّل التبعيات، ويمكنها تحديث lockfile، وتُشغّل جميع سكريبتات دورة الحياة بما فيها postinstall. npm ci تُثبّت بالضبط الإصدارات المحدّدة في package-lock.json دون تعديل lockfile وتفشل إذا كان lockfile غير متسق مع package.json. بالنسبة لخطوط أنابيب CI/CD، npm ci هي الإعداد الافتراضي الآمن لأنها تمنع انجراف التبعيات وتجعل مجموعة الحزم المُثبَّتة حتمية وقابلة للتدقيق. مقترنةً مع ignore-scripts=true في .npmrc ببيئة CI، تُزيل npm ci أكثر ناقلي هجوم سلسلة التوريد شيوعًا: الاستبدال بإصدار بديل وتنفيذ سكريبت postinstall.

المصادر والقراءات الإضافية