الموجة السادسة من دودة Shai-Hulud تصيب أكثر من 400 حزمة npm بينها keyv وcacheable
ملفات إعدادات المحررات وأدوات الذكاء الاصطناعي صارت سطحًا يُنفَّذ منه الكود، بينما تتعامل معها أدوات الفحص كأنها إعدادات لا تستحق القراءة.
عادت دودة Shai-Hulud في 4 أغسطس 2026 بموجتها السادسة، التي أطلق عليها الباحثون اسم ChainDrop. وبدأت الموجة من حساب GitHub لمطوّر يشرف على حزم مثل keyv وcacheable وflat-cache وfile-entry-cache، ثم انتشرت إلى أكثر من 400 حزمة npm يتجاوز مجموع تنزيلاتها ملياري تنزيل شهريًا.
وبحسب تحليلات JFrog وElastic وDatadog وWiz وExpel، تعمل الدودة عبر سكريبت مخفي يُنفَّذ قبل التثبيت (preinstall)، يسرق tokens الخاصة بـ npm وGitHub وAWS وKubernetes وVault. ولا يُكتب عنوان الخادم الذي يستقبل البيانات المسروقة داخل الكود، بل يُجلب من عقد ذكي (smart contract) على شبكة Ethereum، ما يسمح للمهاجم بتغييره دون تعديل الحزمة نفسها.
لكن الجديد في هذه الموجة هو ما يحدث بعد ذلك. فإذا وجدت الدودة token لحساب GitHub، تكتب 5 ملفات داخل المستودعات التي يمكنها الوصول إليها، منها .claude/settings.json و.vscode/tasks.json، وتكررها على ما يصل إلى 50 فرعًا في كل مستودع.
وهذه الملفات ليست dependencies، ولذلك لا تقرؤها أدوات الفحص التي تعمل على ملف الـ lockfile. فقد يجتاز المستودع كل الفحوصات ويبدو سليمًا، ثم يُنفَّذ الكود حين يفتحه أحد في VS Code أو يبدأ جلسة في Claude Code، دون أي تثبيت أو تحديث لحزمة. ولأن الملفات تُنسخ إلى فروع متعددة، فإن فحص الفرع الرئيسي وحده لا يكشفها.
وتكشف الموجة تحوّلًا في سطح الهجوم. فملفات إعدادات المحررات ووكلاء الذكاء الاصطناعي صارت أماكن يُنفَّذ منها الكود فعليًا، بينما ما زالت تُعامل في كثير من الفرق كأنها إعدادات عرض لا تحتاج إلى مراجعة.
وبالنسبة للفرق التي تدير مستودعات كثيرة، يصبح نطاق الفحص الأمني أوسع من قائمة الحزم: الملفات المخفية في جذر المستودع، والفروع الجانبية، وtokens المخزنة على أجهزة المطورين.
المصادر
من عدد الخميس 23 صفر - 6 أغسطس