اختراق 144 حزمة npm تابعة لـ Mastra
تعرض نظام JavaScript البيئي لهجوم كبير استهدف سلاسل توريد البرمجيات.
قام المهاجمون باختطاف حساب مساهم واحد في npm. واستخدموا هذا الوصول لنشر تحديثات خبيثة لـ 144 حزمة مختلفة تحت نطاق @mastra.
Mastra هو إطار عمل شائع لبناء تطبيقات الذكاء الاصطناعي. وهذا يعني أن الخطر ينتشر مباشرة إلى أدوات الذكاء الاصطناعي التي تقوم ببنائها واستخدامها.
يعمل الهجوم، المعروف باسم easy-day-js، عن طريق تسميم المكتبات الموثوقة. وبما أن المهاجم كان يمتلك صلاحيات على مستوى الحساب، فقد تمكن من تجاوز عمليات المراجعة المعتادة. عندما تقوم بتشغيل عملية تثبيت (install) أو ترقية (upgrade)، قد تسحب كوداً خبيثاً دون علمك.
تشمل المخاطر ما يلي:
- سرقة مفاتيح API وبيانات الاعتماد الخاصة بك.
- تغيير طريقة سلوك نماذج الذكاء الاصطناعي الخاصة بك.
- الوصول إلى مسارات CI/CD الخاصة بك.
- التحرك عرضياً عبر بيئاتك السحابية.
يجب عليك التحرك بسرعة لحماية مشاريعك. اتبع هذه الخطوات:
قم بمراجعة التبعيات (dependencies) فوراً. قم بتشغيل هذا الأمر للعثور على أي حزم @mastra في مشروعك:
npm ls --all | grep "@mastra/"استخدم أدوات فحص الأمان. قم بتشغيل
npm auditللتحقق من الثغرات الأمنية المعروفة. استخدم أدوات مثل Socket أو JFrog لمراقبة التنبيهات المباشرة.قم بتثبيت الإصدارات (Pin your versions). لا تستخدم الرموز العامة (wildcards) في ملف
package.json. قم بقفل التبعيات على إصدار محدد وآمن لمنع التحديثات التلقائية إلى الكود المسموم.قم بتدوير بيانات الاعتماد (Rotate your credentials). إذا كنت تشك في حدوث اختراق، فقم بتغيير مفاتيحك وأسرارك فوراً.
فرض المصادقة الثنائية (2FA). إذا كنت تدير حزم npm، فاستخدم المصادقة متعددة العوامل لجميع حسابات المساهمين.
إن نموذج الثقة في المصادر المفتوحة هش للغاية. يمكن لحساب واحد مخترق أن يؤثر على آلاف المطورين. لا تنتظر، تحقق من شجرة التبعيات (dependency tree) الخاصة بك اليوم.