تدقيق تبعيات NPM الخاصة بك ، فهي تمثل 86٪ من الأخطاء الأمنية

جدول المحتويات:

تدقيق تبعيات NPM الخاصة بك ، فهي تمثل 86٪ من الأخطاء الأمنية
تدقيق تبعيات NPM الخاصة بك ، فهي تمثل 86٪ من الأخطاء الأمنية
Anonim

كشفت دراسة حديثة أجراها Snyk حول حالة أمان المصدر المفتوح نتائج مثيرة للقلق بالنسبة لحزم NPM ، 86٪ من الثغرات الأمنية تكمن في التبعيات الثانوية التي غالبًا ما يكون لديك القليل من التحكم فيها.

ما هي التبعيات الثانوية؟

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

npm ls --depth=10 حتى المشروع الأساسي الذي يحتوي على حزمتين مثبتتين يحتوي فعليًا على أربعة مستويات من التبعيات يبلغ مجموعها 10 حزم فعلية:

npm ls
npm ls

المشكلة إذن واضحة. أنت تسحب رمزًا من حزم أكثر بكثير مما قد يقترحه

package.json. وكل واحدة من هذه الحزم هي خطأ أمني محتمل.

وفقًا لتقرير من Snyk ، هذا بالضبط ما يحدث في بيئات مفتوحة المصدر مثل NPM و Ruby Gems. المشكلة منتشرة ، ومعظم الأخطاء تأتي من الحزم غير المباشرة التي لم تثبتها يدويًا.

86٪ من حزم العقد
86٪ من حزم العقد

الجانب المشرق: هذه المشكلة ليست بالسوء الذي تبدو عليه. يحتوي NPM على أداة مدمجة للتدقيق والتي ستلتقط معظم الأشياء السيئة وتخبرك بالتحديث. نظرًا لانتشار التدقيق ، تحظى هذه الأخطاء الأمنية بمزيد من الاهتمام ويتم إصلاحها عند ظهورها ، مع إرسال التحديثات بسرعة إلى المستخدمين المتأثرين.

غالبية الأخطاء التي اكتشفها Snyk كانت هجمات XSS محتملة ، وعلى الرغم من أن هذا ليس رائعًا ، إلا أن تأثيرها في العالم الحقيقي منخفض إلى حد ما. ترجع الأخطاء الرئيسية المؤثرة إلى بضع عشرات من هجمات النماذج الأولية للتلوث - احتمال تنفيذ كود تعسفي - بالإضافة إلى بعض الحزم الخبيثة أو المخترقة المصممة خصيصًا لمحاولة التسلل إلى

package.json المطمئنين

المشكلة تتحسن أيضًا ، أو على الأقل تحظى بمزيد من الاهتمام. انخفض عدد الأخطاء التي تم الإبلاغ عنها في NPM بنسبة 20٪ مقارنة بالعام الماضي ، ونفس الاتجاه ينطبق على الأنظمة البيئية الأخرى لمدير الحزم.

البق بمرور الوقت
البق بمرور الوقت

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

الحل: التدقيق

لا بد أن تكون هناك أخطاء في أجزاء عشوائية من التعليمات البرمجية مفتوحة المصدر ، وبينما لا يمكنك حقًا إصلاح بعض الأخطاء الصغيرة دون تطوير كل شيء داخليًا ، يمكنك التقاط بعض الأخطاء السيئة بشكل خاص باستخدام عمليات تدقيق منتظمة.

المشكلة ليست جديدة بشكل خاص ، و

npm

لديها أداة مدمجة لهذه المراجعة-

npm. لقد رأيته بالتأكيد من قبل ، لأنه يعمل تلقائيًا عند التثبيت:

تدقيق npm
تدقيق npm

تدقيقالمدمج في NPM في الغالب يتحقق فقط من وجود تحديثات للحزم التي تعمل على إصلاح أخطاء معينة ، لذلك هناك دائمًا ترقية يمكنك إجراؤها (على الرغم من احتمال تعرضها للكسر) يمكنها حل المشكلة. توجد ماسحات أمان أخرى ، مثل Snyk أنفسهم ، الذين يديرون خدمة للتحقق من مشاريع GitHub ، ويحتفظون بقاعدة بيانات عامة للأخطاء المعروفة التي يمكنك التحقق منها.

موضوع شعبي