قائمة منسقة بموارد أمان Node.js المميزة.



تعلم تقنيات وأفضل الممارسات لكتابة كود آمن في Node.js من ليران تال
المحتويات
الأدوات
تقوية إطار العمل الويب
- Helmet - يساعدك Helmet في تأمين تطبيقات Express عن طريق ضبط رؤوس HTTP المختلفة.
- koa-helmet - يساعدك koa-helmet في تأمين تطبيقات Koa عن طريق ضبط رؤوس HTTP المختلفة.
- blankie - إضافة CSP لـ hapi.
- fastify-helmet - يساعدك fastify-helmet في تأمين تطبيقات fastify عن طريق ضبط رؤوس الأمان الهامة.
- nis2-express-middleware - وسيط شامل لتطبيقات Express.js للامتثال للائحة الأوروبية NIS2 (تسجيل النشاطات، الدفاع النشط، الإعدادات الافتراضية الآمنة).
- nuxt-security - 🛡 وحدة أمان لـ Nuxt مستندة إلى OWASP Top 10 و Helmet.
- reporting-api - إعداد وجمع تقارير CSP والإصدارين v0 و v1 من واجهة الإبلاغ لتحليلها بشكل موثوق ومعالجتها من قبل المستخدم.
أمان GitHub Actions و CI/CD
- New dependencies advisor - إجراء GitHub لإضافة تعليقات إلى طلبات السحب مع معلومات عن صحة الحزم فيما يتعلق بالتبعيات الجديدة المضافة عبر npm.
- OpenSSF Scorecard Monitor - تبسيط تتبع OpenSSF Scorecard في مؤسستك مع تقارير Markdown و JSON آلية، بالإضافة إلى تنبيهات اختيارية عبر مشكلات GitHub.
تحليل الكود الثابت
- eslint-plugin-security - قواعد ESLint لأمان Node.js. يساعد هذا المشروع في تحديد النقاط الأمنية المحتملة، ولكنه يكتشف العديد من الإيجابيات الكاذبة التي تحتاج إلى مراجعة من قبل إنسان.
- tslint-plugin-security - قواعد TSLint لأمان Node.js. يساعد هذا المشروع في تحديد النقاط الأمنية المحتملة، ولكنه يكتشف العديد من الإيجابيات الكاذبة التي تحتاج إلى مراجعة من قبل إنسان.
- safe-regex - كشف التعبيرات النمطية الأسية الكارثية المحتملة عن طريق تحديد ارتفاع النجمة إلى 1.
- vuln-regex-detector - تتيح لك هذه الوحدة التحقق من وجود ثغرة في تعبير نمطي. في JavaScript، يمكن أن تكون التعبيرات النمطية (regexes) "قابلة للاختراق": أي عرضة للتراجع الكارثي. إذا كان تطبيقك يُستخدم من جهة العميل، فقد تكون هذه مشكلة أداء. من جهة الخادم، قد يعرضك ذلك لهجمات رفض الخدمة بالتعبير النمطي (REDOS).
- regolith - مكتبة تعبيرات نمطية (Regex) بلغة TypeScript مصممة لمنع هجمات ReDoS. لقد قمت بإنشاء روابط TypeScript لمكتبة التعبيرات النمطية بلغة Rust لمنع هجمات رفض الخدمة بالتعبير النمطي.
- git-secrets - يمنعك من إرسال الأسرار وبيانات الاعتماد إلى مستودعات Git.
- DevSkim - DevSkim هي مجموعة من الإضافات لبيئات التطوير المتكاملة (IDE) وقواعد توفر إمكانيات "فحص" أمني. كما يدعم واجهة سطر الأوامر (CLI) بحيث يمكن دمجه في مسار CI/CD.
- ban-sensitive-files - يتحقق من أسماء الملفات التي سيتم إرسالها مقابل مكتبة من قواعد أسماء الملفات لمنع تخزين الملفات الحساسة في Git. يتحقق من بعض الملفات بحثًا عن محتويات حساسة (على سبيل المثال authToken داخل ملف .npmrc).
- NodeJSScan - ماسح أمان ثابت لتطبيقات Node.js. يتضمن واجهة مستخدم أنيقة يمكنها الإشارة إلى مكان المشكلة وكيفية إصلاحها.
- NodeSecure CLI - واجهة سطر أوامر Node.js تتيح لك تحليل شجرة التبعيات لحزمة npm معينة أو مجلد معين بعمق.
- Trust But Verify - يقارن TBV حزمة npm بمستودعها المصدر لضمان تطابق القطعة الناتجة.
- lockfile-lint - فحص ملفات القفل (lockfiles) لتحسين سياسات الثقة والأمان للحفاظ على النظافة من حقن الحزم الضارة والإعدادات غير الآمنة الأخرى.
- pkgsign - أداة سطر أوامر لتوقيع والتحقق من حزم npm و yarn.
- semgrep - تحليل ثابت مفتوح المصدر، وغير متصل بالإنترنت، وقابل للتخصيص بسهولة للعديد من اللغات. بعض الأدوات الأخرى في هذه القائمة (NodeJSScan) تستخدم semgrep كمحرك لها.
- npm-scan - أداة قابلة للتوسع تعتمد على الاستدلال (heuristics) لفحص الثغرات في حزم npm المثبتة.
- js-x-ray - ماسح ثابت (SAST) لـ JavaScript و Node.js قادر على اكتشاف العديد من أنماط الكود الضار المعروفة (استيراد غير آمن، عبارة غير آمنة، تعبير نمطي غير آمن، قيم حرفية مشفرة، أكود مصغرة ومشوشة).
- cspscanner - يساعد CSP Scanner المطورين وخبراء الأمان على فحص وتقييم سياسة أمان المحتوى (CSP) للموقع بسهولة.
- eslint-plugin-anti-trojan-source - إضافة ESLint لاكتشاف ومنع هجمات المصدر الطروادي (Trojan Source) من دخول قاعدة الكود الخاصة بك.
- sdc-check - أداة صغيرة لإعلامك بالمخاطر المحتملة في قائمة تبعيات مشروعك.
- fix-lockfile-integrity - أداة سطر أوامر لإصلاح تجزئة التكامل الضعيفة (sha1) إلى تجزئة تكامل أكثر أمانًا (sha512) في ملف القفل npm الخاص بك.
- Bearer - أداة سطر أوامر للعثور على مخاطر الأمان والخصوصية في الكود الخاص بك وفقًا لـ OWASP Top 10 ومساعدتك في إصلاحها.
- GuardDog - أداة سطر أوامر لتعريف حزم PyPI و npm الضارة.
- repolyze - تحليل مستودع كود مصدر Git للإشارات الصحية ومؤشرات المشروع الحيوية.
اختبار أمان التطبيقات الديناميكي
- PurpleTeam - خدمة SaaS وسطر أوامر لاختبار الانحدار الأمني، مثالية للإدراج في خطوط البناء الخاصة بك. لا تحتاج إلى كتابة أي اختبارات بنفسك. PurpleTeam ذكي بما يكفي لمعرفة كيفية الاختبار، كل ما تحتاجه هو توفير ملف وظيفة (Job file) يخبر PurpleTeam بما تريد اختباره.