
OpenSSF Scorecard - مقاييس صحة الأمان للمصادر المفتوحة
أنشأنا Scorecard لمساعدة مسؤولي المشاريع مفتوحة المصدر على تحسين ممارساتهم الأمنية، ولمساعدة مستهلكي البرمجيات مفتوحة المصدر على الحكم على ما إذا كانت تبعياتهم آمنة.
Scorecard هي أداة آلية تقوم بتقييم عدد من المعايير الهامة ("الفحوصات") المرتبطة بأمن البرمجيات وتمنح كل فحص درجة من 0-10. يمكنك استخدام هذه الدرجات لفهم المجالات المحددة التي تحتاج إلى تحسين لتعزيز الوضع الأمني لمشروعك. يمكنك أيضًا تقييم المخاطر التي تقدمها التبعيات، واتخاذ قرارات مستنيرة حول قبول هذه المخاطر، أو تقييم الحلول البديلة، أو العمل مع المسؤولين لإجراء تحسينات.
الإلهام لشعار Scorecard: "لقد نجحت! كلها D... وواحدة A!"
أتمتة التحليل وقرارات الثقة بشأن الوضع الأمني للمشاريع مفتوحة المصدر.
استخدام هذه البيانات لتحسين الوضع الأمني للمشاريع الحيوية التي يعتمد عليها العالم بشكل استباقي.
العمل كأداة قياس للسياسات الحالية
إذا كان مستهلكو البرمجيات مفتوحة المصدر يطلبون سلوكيات معينة من تبعياتهم، يمكن استخدام Scorecard لقياسها. مع إصدار V5، نرى النتائج المنظمة كطريقة للقيام بذلك إذا كان هناك تحليل مدعوم. بدلاً من الاعتماد على درجة إجمالية X/10، أو درجة صيانة Y/10، قد يرغب مستهلك البرمجيات مفتوحة المصدر في التأكد من أن المستودع الذي يعتمد عليه ليس مؤرشفًا (وهو ما يغطيه فحص archived). تتبع OpenSSF هذا النهج مع خط الأساس الأمني الخاص بها للمشاريع.
أن يكون تقريرًا نهائيًا أو شرطًا يجب أن تتبعه جميع المشاريع.
ليس المقصود من Scorecard أن يكون حلاً واحدًا يناسب الجميع. كل خطوة من خطوات إنتاج نتائجنا هي رأي: ما الفحوصات التي يتم تضمينها أو استبعادها، وأهمية كل فحص، وكيفية حساب الدرجات. الفحوصات نفسها هي معايير تقريبية؛ هناك نتائج إيجابية كاذبة وسلبية كاذبة.
سواء كان ذلك بسبب القابلية للتطبيق، أو الجدوى، أو مسألة رأي، فإن ما يتم تضمينه أو استبعاده من نتائج Scorecard يؤدي إلى الكثير من النقاش. من المستحيل إنشاء Scorecard يرضي الجميع لأن الجماهير المختلفة ستهتم بمجموعات فرعية مختلفة من السلوك.
الدرجات الإجمالية على وجه الخصوص لا تخبرك بأي شيء عن السلوكيات الفردية التي يقوم بها المستودع أو لا يقوم بها. يتم تجميع العديد من درجات الفحوصات في درجة واحدة، وهناك طرق متعددة للوصول إلى نفس الدرجة. تتغير هذه الدرجات مع إضافة معايير جديدة أو تحسين المعايير الحالية.
تم تشغيل Scorecard على آلاف المشاريع لمراقبة وتتبع المقاييس الأمنية. المشاريع البارزة التي تستخدم Scorecard تشمل:
لعرض نتائج المشاريع التي يتم فحصها بانتظام بواسطة Scorecard، انتقل إلى عارض الويب. يمكنك أيضًا استبدال النص الوهمي (المنصة، اسم المستخدم/المؤسسة، واسم المستودع) في رابط القالب التالي لإنشاء رابط Scorecard مخصص لمستودع:
https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>
على سبيل المثال:
لعرض نتائج المشاريع غير المدرجة في عارض الويب، استخدم واجهة سطر الأوامر الخاصة بـScorecard.
نقوم بتشغيل فحص أسبوعي لـScorecard على أكثر مليون مشروع مفتوح المصدر أهميةً وفقًا لتبعياتهم المباشرة وننشر النتائج في مجموعة بيانات BigQuery العامة.
هذه البيانات متاحة في مجموعة بيانات BigQuery العامة
openssf:scorecardcron.scorecard-v2. أحدث النتائج متاحة في
عرض BigQuery openssf:scorecardcron.scorecard-v2_latest.
يمكنك الاستعلام عن البيانات باستخدام BigQuery Explorer من خلال الانتقال إلى إضافة بيانات > تمييز مشروع بالاسم > 'openssf'.
على سبيل المثال، قد تكون مهتمًا بكيفية تغير نتيجة مشروع بمرور الوقت:```sql
SELECT date, score FROM openssf.scorecardcron.scorecard-v2 WHERE repo.name="github.com/ossf/scorecard" ORDER BY date ASC
يمكنك استخراج أحدث النتائج إلى تخزين Google Cloud بتنسيق JSON باستخدام أداة [`bq`]:```
# Get the latest PARTITION_ID
bq query --nouse_legacy_sql 'SELECT partition_id FROM
openssf.scorecardcron.INFORMATION_SCHEMA.PARTITIONS WHERE table_name="scorecard-v2"
AND partition_id!="__NULL__" ORDER BY partition_id DESC
LIMIT 1'
# Extract to GCS
bq extract --destination_format=NEWLINE_DELIMITED_JSON
'openssf:scorecardcron.scorecard-v2$<partition_id>' gs://bucket-name/filename-*.json