افحص أدوات الأمان وجودة الكود في GitHub

مكتمل

يوفر GitHub مجموعة شاملة من أدوات الأمان وجودة الكود التي تساعدك على حماية كودك، وإدارة الثغرات، والحفاظ على قاعدة كود صحية. قبل الغوص في تفاصيل المسح السري، من المفيد فهم مكان المسح السري ضمن منظومة الأمان الأوسع في GitHub.

نظرة عامة على أدوات الأمان وجودة الشيفرة في GitHub

ينظم GitHub ميزات الأمان وجودة الكود إلى عدة فئات: أمن سلسلة التوريد، أمن السرية، أمن الكود، وجودة الكود. بعض الميزات متوفرة في جميع خطط GitHub، بينما تتطلب أخرى منتجا إضافيا مدفوعا: GitHub Secret Protection أو GitHub Code Security. العديد من الميزات المدفوعة متاحة أيضا مجانا على المستودعات العامة.

أمن سلسلة التوريد

تساعدك ميزات أمان سلسلة التوريد على فهم وحماية التبعيات التي يعتمد عليها مشروعك.

رسم التبعية

يتيح لك رسم التبعيات استكشاف الحزم والأنظمة البيئية التي يعتمد عليها مستودعك، والمستودعات والحزم التي تعتمد على مستودعك. يوفر رؤية لشجرة الاعتماديات الكاملة لمشروعك، مما يساعدك على فهم أماكن وجود تبعيات خارجية للكود.

قانون المواد البرمجية (SBOM)

يمكنك تصدير رسم الاعتماد في مستودعك كدليل برمجي متوافق مع SPDX (SBOM). يوفر SBOM جردا رسميا قابلا للقراءة آليا لمكونات ومشروعك التبعية، وهو أمر أصبح مطلوبا بشكل متزايد لأغراض الامتثال والتدقيق.

قاعدة بيانات GitHub الاستشارية

قاعدة بيانات GitHub الاستشارية هي قائمة مختارة بالثغرات الأمنية المعروفة التي يمكنك تصفحها والبحث عنها وتصفيتها. عندما يتم اكتشاف ثغرة في أحد تبعياتك، يمكنك التحقق من هذه قاعدة البيانات للحصول على تفاصيل حول الثغرة وتأثيرها.

تنبيهات وتحديثات الأمان من Dependabot

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

تحديثات إصدار Dependabot

يمكن ل Dependabot أيضا إبقاء تبعياتك up-to-date من خلال إنشاء طلبات سحب تلقائيا عند توفر إصدارات أحدث. الحفاظ على تحديث التبعيات يسهل تطبيق تصحيحات الأمان ويقلل من تعرضك للثغرات.

مراجعة الاعتماد

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

الأمن السري

تكتشف ميزات الأمان السرية وتمنع كشف بيانات الاعتماد في قاعدة الكود الخاصة بك.

تنبيهات المسح السري للشركاء

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

حماية الدفع للمستخدمين

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

تنبيهات المسح السري للمستخدمين

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

المسح السري للطيار المساعد

يستخدم مسح الأسرار في Copilot تقنية كشف أسرار عامة مدعومة بالذكاء الاصطناعي لتحديد الأسرار غير المنظمة (مثل كلمات المرور) في كودك المصدري التي لا تتطابق مع نمط معروف محدد. توسع هذه الميزة الكشف إلى ما هو أبعد من الأنماط المنظمة التي يحددها المسح السري القياسي.

حماية الدفع (مستوى المستودع)

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

تحويل المسار المفوض لحماية الدفع

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

أنماط مخصصة للمسح السري

يمكن للمؤسسات تعريف أنماط مخصصة للمسح السري لاكتشاف بيانات الاعتماد والرموز الخاصة بأنظمتها الداخلية وغير مغطاة بالأنماط الافتراضية.

أمان الشيفرة

تساعدك ميزات أمان الكود في العثور على ثغرات الأمان في قاعدة الكود الخاصة بك وإصلاحها.

مسح الشفرات

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

CodeQL CLI

يتيح لك CodeQL CLI تشغيل تحليل CodeQL محليا على مشاريع البرمجيات الخاصة بك وتوليد نتائج مسح الشيفرة للرفع إلى GitHub. إنه نفس محرك التحليل وراء ميزة مسح الشيفرة في GitHub.

التعديل التلقائي المساعد لمسح الشفرات

يقوم Copilot Autofix تلقائيا بإنشاء حلول مقترحة لتنبيهات فحص الكود. عندما يكتشف فحص الكود ثغرة، يوفر Copilot Autofix اقتراح معالجة يمكنك مراجعته وتطبيقه، مما يقلل بشكل كبير من الوقت اللازم لإصلاح المشكلات.

قواعد الفرز التلقائي المخصصة ل Dependabot

تسمح لك قواعد الفرز التلقائي المخصصة بالتحكم في كيفية إدارة تنبيهات Dependabot على نطاق واسع. يمكنك تكوين قواعد لإلغاء أو تأجيل أو تفعيل تحديثات أمنية تلقائيا للتنبيهات المحددة بناء على أولويات مؤسستك.

حملات أمنية

تمكن الحملات الأمنية المؤسسات من إصلاح تنبيهات الأمن على نطاق واسع من خلال خلق جهود منسقة لتقليل تراكم الأمان. تساعد حملات الأمن في تنظيم وترتيب أولويات أعمال الإصلاح عبر مستودعات متعددة.

جودة التعليمات البرمجية

ميزات جودة الكود تساعدك في الحفاظ على قاعدة كود صحية وموثوقة وقابلة للصيانة.

جودة كود GitHub

يستخدم جودة كود GitHub تحليلا مبنيا على قواعد CodeQL وتحليلا مدعوما بالذكاء الاصطناعي للإبلاغ عن مشكلات جودة الكود في طلبات السحب ومسح المستودعات. تحدد جودة الكود مشاكل الموثوقية وسهولة الصيانة، وتوفر إصلاحات تلقائية مدعومة ب Copilot، وتمكنك من إعداد مجموعات قواعد تفرض معايير جودة الكود على طلبات السحب.

‏‫ملاحظة‬

جودة كود GitHub حاليا في مرحلة المعاينة العامة ومتاحة للمستودعات المملوكة للمؤسسة على خطط GitHub Team وGitHub Enterprise Cloud.

ميزات الأمان العامة

يوفر GitHub أيضا ميزات أمان أساسية تدعم وضعك الأمني العام.

نهج الأمان

يمكنك إضافة سياسة أمنية إلى مستودعك توفر تعليمات للمستخدمين للإبلاغ بسرية عن الثغرات الأمنية التي يكتشفونها في مشروعك.

النصائح الأمنية

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

مجموعات قواعد المستودع

تفرض مجموعات قواعد المستودع معايير كود متسقة، ومتطلبات الأمان، وسياسات الامتثال عبر الفروع والوسوم في مستودعاتك.

شهادات القطع الأثرية

تخلق شهادات القطع الأثرية ضمانات أصل وسلامة لا يمكن دحضها للبرمجيات التي تبنيها، مما يؤسس رابطا قابلا للتحقق بين تشوهات البناء الخاصة بك والكود المصدري وعملية البناء التي أنتجتها.

نظرة عامة على الأمان

يوفر نظرة عامة على الأمان لوحة تحكم مركزية لمراجعة المشهد الأمني العام لمؤسستك. يعرض الاتجاهات والرؤى وتكوينات الأمان، مما يسهل مراقبة حالة الأمان في مؤسستك وتحديد المستودعات الأكثر عرضة للخطر. يتوفر نظرة عامة على الأمان مع GitHub Secret ProtectionوGitHub Code Security.

أدوات الأمان في GitHub حسب توفر الخطة

يلخص الجدول التالي أدوات الأمان وجودة الشيفرة في GitHub، وخطة GitHub الدنيا المطلوبة لاستخدامها، وما إذا كانت هناك حاجة إلى إضافة GitHub Secret Protection أو إضافة أمان كود GitHub.

‏‫ملاحظة‬

GitHub Secret Protection وGitHub Code Security هما منتجات إضافية مدفوعة يمكن للمؤسسات شراؤها على خطط GitHub TeamوGitHub Enterprise Cloud . العديد من الميزات المدرجة في هذه المنتجات الإضافية متاحة أيضا مجانا في المستودعات العامة، كما هو موضح في الجدول أدناه.

أداة الحد الأدنى لخطة GitHub المستودعات العامة المستودعات الخاصة الحماية السرية على GitHub أمان شيفرة GitHub
أمن سلسلة التوريد
رسم التبعية جميع الخطط
قانون المواد البرمجية (SBOM) جميع الخطط
قاعدة بيانات GitHub الاستشارية جميع الخطط
تنبيهات وتحديثات الأمان من Dependabot جميع الخطط
تحديثات إصدار Dependabot جميع الخطط
مراجعة الاعتماد جميع الخطط (عامة) / فريق GitHub (خاص)
قواعد الفرز التلقائي المخصصة ل Dependabot جميع الخطط (عامة) / فريق GitHub (خاص)
الأمن السري
تنبيهات المسح السري للشركاء جميع الخطط
حماية الدفع للمستخدمين جميع الخطط
تنبيهات المسح السري للمستخدمين جميع الخطط (عامة) / فريق GitHub (خاص)
حماية الدفع (مستوى المستودع) جميع الخطط (عامة) / فريق GitHub (خاص)
المسح السري للطيار المساعد فريق GitHub
تحويل المسار المفوض لحماية الدفع فريق GitHub
أنماط مخصصة للمسح السري فريق GitHub
أمان الشيفرة
مسح الشفرات جميع الخطط (عامة) / فريق GitHub (خاص)
CodeQL CLI جميع الخطط (عامة) / فريق GitHub (خاص)
التعديل التلقائي المساعد لمسح الشفرات جميع الخطط (عامة) / فريق GitHub (خاص)
حملات أمنية فريق GitHub
جودة الشيفرة
جودة كود GitHub فريق GitHub *
الأمن العام
نهج الأمان جميع الخطط
النصائح الأمنية جميع الخطط
مجموعات قواعد المستودع جميع الخطط
شهادات القطع الأثرية جميع الخطط (عامة) / GitHub Enterprise Cloud (خاص) ✅ **
نظرة عامة على الأمان فريق GitHub

* جودة كود GitHub حاليا في المعاينة العامة.

** شهادات القطع الأثرية للمستودعات الخاصة تتطلب GitHub Enterprise Cloud.

في الجدول أعلاه، تعني "جميع الخطط" أن الأداة متاحة مجانا على كل خطة GitHub، بما في ذلك الخطط المجانية (GitHub Free للحسابات الشخصية وGitHub Free للمؤسسات). "فريق GitHub" يعني أن الحد الأدنى من الخطة المطلوبة هو GitHub Team أو GitHub Enterprise Cloud، وكلاهما خططان مدفوعتان تدعمان أيضا شراء منتجات GitHub Secret Protection ومنتجات GitHub Code Security الإضافية. معلومات التسعير التفصيلية متوفرة من GitHub.

كيف تعمل أدوات الأمان في GitHub معا

تم تصميم أدوات الأمان وجودة الشيفرة في GitHub لتعمل كطبقات مكملة، توفر حماية شاملة عبر أبعاد مختلفة من قاعدة الكود الخاصة بك.

  • أمان سلسلة التوريد (Dependabot، رسم بياني للاعتمادية، مراجعة الاعتماديات) يحميك من حزم الأطراف الثالثة الضعيفة.
  • الأمن السري (المسح السري، حماية الدفع) يمنع كشف بيانات الاعتماد.
  • أمان الشيفرة (مسح الكود، CodeQL) يحدد الثغرات الأمنية في كودك الخاص.
  • تساعد جودة الكود في الحفاظ على الشيفرة الموثوقة والقابلة للصيانة لتقليل الديون التقنية.

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

في هذه الوحدة، ستركز على المسح السريوحماية الدفع، والتي تشكل حجر الأساس لقدرات الأمان السرية في GitHub.