تنبيه سلسلة التوريد: اكتشاف حزمة Bitwarden CLI خبيثة على npm
تم تحديد هجوم حرج على سلسلة التوريد يستهدف مدير كلمات المرور الشهير Bitwarden. تم اكتشاف نسخة خبيثة من حزمة @bitwarden/cli (الإصدار 2026.4.0) على سجل npm، تحتوي على برنامج نصي محقون مصمم لاستخراج بيانات اعتماد الخزنة ومتغيرات البيئة أثناء تنفيذ خطوط أنابيب CI/CD. يبرز هذا الاكتشاف التهديد المستمر والمتطور لهجمات سلسلة التوريد البرمجية في منظومة JavaScript.
حالة التنبيه: خطيرة — تم اكتشاف حزمة خبيثة: @bitwarden/cli 2026.4.0. ملف خبيث محقون: bwi.js. أكثر من 10 ملايين مستخدم و50,000+ شركة معرضة للخطر.
التحليل التقني للهجوم
الحزمة الخبيثة
- الملف المحقون —
bwi.js: ملف JavaScript خبيث أُضيف إلى الحزمة لم يكن موجوداً في الكود المصدري الشرعي لـ Bitwarden CLI. صُمم هذا الملف للتنفيذ بصمت أثناء تثبيت الحزمة أو استدعاء CLI. - استخراج بيانات الاعتماد: حصد البرنامج النصي
bwi.jsرموز جلسة خزنة Bitwarden وهاشات كلمة المرور الرئيسية وجميع متغيرات البيئة — بما في ذلك أسرار CI/CD مثلGITHUB_TOKENوAWS_SECRET_ACCESS_KEYوسلاسل اتصال قواعد البيانات. - قناة الاستخراج: تم نقل البيانات المسروقة عبر طلبات HTTPS POST متخفية كبيانات قياس شرعية.
- آلية الاستمرار: عدّل البرنامج النصي ذاكرة التخزين المؤقت لـ npm لضمان استمرار النسخة الخبيثة حتى بعد إعادة التثبيت.
متجه الهجوم: GitHub Actions
كان الهجوم خطيراً بشكل خاص لأن العديد من المنظمات تستخدم @bitwarden/cli في خطوط أنابيب CI/CD الخاصة بها لإدارة الأسرار أثناء عمليات النشر الآلية. تم تنفيذ الكود الخبيث بصلاحيات كاملة وبشكل صامت تماماً.
كيفية التحقق من تأثرك
- تحقق من النسخة المثبتة:
# التحقق من النسخة المثبتة npm list @bitwarden/cli # البحث عن الملف الخبيث find node_modules/@bitwarden/cli -name "bwi.js" 2>/dev/null - تحقق من سلامة الحزمة: قارن المجموع التحققي لحزمتك المثبتة مع الإصدار الرسمي.
- راجع ملف القفل: راجع
package-lock.jsonللتأكد من النسخة الدقيقة وهاش السلامة. - غيّر جميع بيانات الاعتماد المكشوفة: إذا استخدمت النسخة المخترقة، افترض أن جميع المتغيرات والأسرار قد تم استخراجها. غيّر فوراً جميع الرموز والمفاتيح وكلمات المرور.
أفضل الممارسات الدفاعية
- ثبّت الإصدارات الدقيقة: لا تستخدم أبداً نطاقات الإصدارات (
^أو~) للحزم الحساسة أمنياً. - فعّل npm audit في CI/CD: شغّل
npm auditكخطوة إلزامية في كل خط أنابيب. - استخدم ملفات القفل: ألزم دائماً
package-lock.jsonفي مستودعك. - تحقق من المجاميع التحققية: استخدم
npm audit signaturesللتحقق من سلامة الحزم. - نفّذ سجلاً خاصاً: للبيئات المؤسسية، استخدم سجل npm خاص (Artifactory، Verdaccio).
- راقب السطو على الأسماء: راجع تبعياتك بانتظام بحثاً عن حزم بأسماء مشابهة.
- استخدم أدوات SCA: انشر أدوات (Snyk، Socket.dev، Dependabot) لمراقبة شجرة التبعيات باستمرار.
خاتمة
هجوم سلسلة التوريد على Bitwarden CLI هو تذكير صارخ بأن برنامجك آمن بقدر أمان تبعياته. في Cayvora Security، نوصي جميع فرق التطوير بإجراء تدقيق فوري لمجلدات node_modules وتكوينات CI/CD الخاصة بهم.