لقد أنشأنا بطاقة الأداء لمساعدة مشرفي المصادر المفتوحة على تحسين أفضل ممارسات الأمان لديهم ولمساعدة مستهلكي المصادر مفتوحة المصدر على الحكم على ما إذا كانت تبعياتهم آمنة أم لا.
بطاقة الأداء هي أداة تلقائية تقوم بتقييم عدد من الاستدلالات المهمة ("عمليات التحقق") المرتبطة بأمان البرامج وتخصيص درجة من 0 إلى 10 لكل فحص. يمكنك استخدام هذه النتائج لفهم مجالات محددة تحتاج إلى تحسينها من أجل تعزيز الوضع الأمني لمشروعك. يمكنك أيضًا تقييم المخاطر التي تسببها التبعيات، واتخاذ قرارات مستنيرة بشأن قبول هذه المخاطر، أو تقييم الحلول البديلة، أو العمل مع المشرفين لإجراء التحسينات.
مصدر الإلهام لشعار بطاقة الأداء: "لقد نجحت! كل درجات D... وA!"
أتمتة التحليل وقرارات الثقة بشأن الوضع الأمني للمشاريع مفتوحة المصدر.
استخدم هذه البيانات لتحسين الوضع الأمني للمشاريع الحيوية التي يعتمد عليها العالم بشكل استباقي.
العمل كأداة قياس للسياسات الحالية
إذا طلب مستهلكو OSS سلوكيات معينة من تبعياتهم، فيمكن استخدام بطاقة الأداء لقياس تلك السلوكيات. مع الإصدار الخامس، نرى النتائج المنظمة كوسيلة للقيام بذلك إذا كان هناك تحليل مدعوم. بدلاً من الاعتماد على مجموع نقاط X/10، أو مجموع نقاط Y/10، قد يرغب مستهلك OSS في التأكد من عدم أرشفة الريبو الذي يعتمد عليه (والذي يغطيه التحقيق archived
). يأخذ OpenSSF هذا النهج مع خط الأساس الأمني الخاص به للمشاريع.
أن يكون تقريرًا نهائيًا أو مطلبًا يجب على جميع المشاريع اتباعه.
ليس المقصود من بطاقة الأداء أن تكون حلاً واحدًا يناسب الجميع. يتم تحديد كل خطوة من خطوات تحقيق نتائجنا حسب الرأي: ما هي عمليات التحقق التي يتم تضمينها أو استبعادها، وأهمية كل فحص، وكيفية حساب النتائج. الشيكات نفسها هي الاستدلال. هناك إيجابيات كاذبة وسلبيات كاذبة.
سواء كان ذلك بسبب قابلية التطبيق أو الجدوى أو مسألة رأي، فإن ما تم تضمينه أو استبعاده من نتائج بطاقة الأداء يؤدي إلى الكثير من المناقشات. من المستحيل إنشاء بطاقة أداء تُرضي الجميع لأن الجماهير المختلفة ستهتم بمجموعات فرعية مختلفة من السلوك.
لا تخبرك الدرجات الإجمالية على وجه الخصوص بأي شيء عن السلوكيات الفردية التي يقوم بها المستودع أو لا يفعلها. يتم تجميع العديد من درجات الفحص في درجة واحدة، وهناك طرق متعددة للوصول إلى نفس النتيجة. تتغير هذه النتائج عندما نضيف استدلالات جديدة أو نحسن الاستدلالات الموجودة.
تم تشغيل بطاقة الأداء على آلاف المشاريع لمراقبة وتتبع مقاييس الأمان. تشمل المشاريع البارزة التي تستخدم بطاقة الأداء ما يلي:
لرؤية نتائج المشاريع التي يتم فحصها بانتظام بواسطة بطاقة الأداء، انتقل إلى عارض الويب. يمكنك أيضًا استبدال نص العنصر النائب (النظام الأساسي، والمستخدم/المؤسسة، واسم المستودع) في رابط القالب التالي لإنشاء رابط بطاقة الأداء المخصص لمستودع الريبو: https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>
على سبيل المثال:
لعرض نتائج المشاريع غير المدرجة في عارض الويب، استخدم سطر الأوامر لبطاقة الأداء.
نحن نجري فحصًا أسبوعيًا لبطاقة الأداء لأكثر من مليون مشروع مفتوح المصدر الأكثر أهمية والتي يتم الحكم عليها من خلال تبعياتها المباشرة وننشر النتائج في مجموعة بيانات BigQuery العامة.
تتوفر هذه البيانات في مجموعة بيانات BigQuery العامة openssf:scorecardcron.scorecard-v2
. تتوفر أحدث النتائج في عرض BigQuery openssf:scorecardcron.scorecard-v2_latest
.
يمكنك الاستعلام عن البيانات باستخدام BigQuery Explorer بالانتقال إلى إضافة بيانات > تمييز المشروع بالاسم > 'openssf'. على سبيل المثال، قد تكون مهتمًا بكيفية تغير نتيجة المشروع بمرور الوقت:
SELECT date , score FROM ` openssf.scorecardcron.scorecard-v2 ` WHERE repo . name = " github.com/ossf/scorecard " ORDER BY date ASC
يمكنك استخراج أحدث النتائج إلى Google Cloud Storage بتنسيق 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
قائمة المشاريع التي تم فحصها متاحة في ملف cron/internal/data/projects.csv
الموجود في هذا المستودع. إذا كنت تريد منا أن نتتبع المزيد، فلا تتردد في إرسال طلب سحب مع الآخرين. حاليًا، هذه القائمة مستمدة من المشاريع المستضافة على GitHub فقط . نحن نخطط لتوسيعها في المستقبل القريب لتشمل المشاريع المستضافة على أنظمة التحكم بالمصادر الأخرى.
أسهل طريقة لاستخدام بطاقة الأداء في مشاريع GitHub التي تمتلكها هي من خلال إجراء بطاقة الأداء على GitHub. يتم تشغيل الإجراء عند أي تغيير في المستودع ويصدر تنبيهات يمكن للمشرفين عرضها في علامة تبويب الأمان الخاصة بالمستودع. لمزيد من المعلومات، راجع تعليمات تثبيت Scorecard GitHub Action.
للاستعلام عن النتائج المحسوبة مسبقًا لمشاريع OSS، استخدم REST API.
لتمكين مشروعك من أن يكون متاحًا على REST API، قم بتعيين publish_results: true
في إعداد Scorecard GitHub Action.
البيانات المقدمة من REST API مرخصة بموجب CDLA Permissive 2.0.
تمكين publish_results: true
في بطاقة الأداء، تتيح إجراءات GitHub أيضًا للمشرفين عرض شارة بطاقة الأداء في المستودع الخاص بهم لإظهار عملهم الشاق. يتم أيضًا تحديث هذه الشارة تلقائيًا لكل تغيير يتم إجراؤه على المستودع. اطلع على مزيد من التفاصيل حول منشور مدونة OSSF هذا.
لتضمين شارة في مستودع مشروعك، ما عليك سوى إضافة العلامة التالية إلى الملف التمهيدي الخاص بك:
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/{owner}/{repo}/badge)](https://scorecard.dev/viewer/?uri=github.com/{owner}/{repo})
لإجراء فحص بطاقة الأداء على المشاريع التي لا تملكها، استخدم خيار تثبيت واجهة سطر الأوامر.
الأنظمة الأساسية: حاليًا، تدعم Scorecard منصات OSX وLinux. إذا كنت تستخدم نظام التشغيل Windows، فقد تواجه مشكلات. نرحب بالمساهمات في دعم Windows.
اللغة: يجب أن يكون لديك GoLang مثبتًا لتشغيل بطاقة الأداء (https://golang.org/doc/install)
تتوفر scorecard
كحاوية Docker:
docker pull gcr.io/openssf/scorecard:stable
لاستخدام إصدار محدد لبطاقة الأداء (على سبيل المثال، v3.2.1)، قم بتشغيل:
docker pull gcr.io/openssf/scorecard:v3.2.1
لتثبيت بطاقة الأداء كبطاقة مستقلة:
قم بزيارة صفحة أحدث إصدار لدينا وقم بتنزيل الملف المضغوط الصحيح لنظام التشغيل الخاص بك.
أضف الملف الثنائي إلى دليل GOPATH/bin
الخاص بك (استخدم go env GOPATH
لتحديد الدليل الخاص بك إذا لزم الأمر).
نقوم بإنشاء توقيعات SLSA3 باستخدام إطار عمل slsa/slsa-github-generator الخاص بـ OpenSSF أثناء عملية الإصدار. للتحقق من الإصدار الثنائي:
attestation.intoto.jsonl
من صفحة إصدارات GitHub.slsa-verifier -artifact-path < the-zip > -provenance attestation.intoto.jsonl -source github.com/ossf/scorecard -tag < the-tag >
مدير الحزم | التوزيع المدعوم | يأمر |
---|---|---|
لا شيء | نيكس أو إس | nix-shell -p nixpkgs.scorecard |
مساعد أور | آرتش لينكس | استخدم مساعد AUR الخاص بك لتثبيت scorecard |
البيرة المنزلية | ماك أو لينكس | brew install scorecard |
يفرض GitHub حدودًا لمعدل واجهة برمجة التطبيقات (API) على الطلبات التي لم تتم مصادقتها. لتجنب هذه الحدود، يجب عليك مصادقة طلباتك قبل تشغيل بطاقة الأداء. هناك طريقتان لمصادقة طلباتك: إما إنشاء رمز وصول شخصي لـ GitHub، أو إنشاء تثبيت تطبيق GitHub.
public_repo
. قم بتعيين الرمز المميز في متغير بيئة يسمى GITHUB_AUTH_TOKEN
أو GITHUB_TOKEN
أو GH_AUTH_TOKEN
أو GH_TOKEN
باستخدام الأوامر أدناه وفقًا لنظامك الأساسي. # For posix platforms, e.g. linux, mac:
export GITHUB_AUTH_TOKEN= < your access token >
# Multiple tokens can be provided separated by comma to be utilized
# in a round robin fashion.
export GITHUB_AUTH_TOKEN= < your access token 1> , < your access token 2>
# For windows:
set GITHUB_AUTH_TOKEN= < your access token >
set GITHUB_AUTH_TOKEN= < your access token 1> , < your access token 2>
أو
set
أو export
) الموضحة أعلاه لنظامك الأساسي. GITHUB_APP_KEY_PATH=<path to the key file on disk>
GITHUB_APP_INSTALLATION_ID=<installation id>
GITHUB_APP_ID=<app id>
يمكن الحصول على هذه المتغيرات من صفحة إعدادات مطور GitHub.
يمكن تشغيل بطاقة الأداء باستخدام وسيطة واحدة فقط، وهي عنوان URL لمستودع الريبو المستهدف:
$ scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e
Starting [CII-Best-Practices]
Starting [Fuzzing]
Starting [Pinned-Dependencies]
Starting [CI-Tests]
Starting [Maintained]
Starting [Packaging]
Starting [SAST]
Starting [Dependency-Update-Tool]
Starting [Token-Permissions]
Starting [Security-Policy]
Starting [Signed-Releases]
Starting [Binary-Artifacts]
Starting [Branch-Protection]
Starting [Code-Review]
Starting [Contributors]
Starting [Vulnerabilities]
Finished [CI-Tests]
Finished [Maintained]
Finished [Packaging]
Finished [SAST]
Finished [Signed-Releases]
Finished [Binary-Artifacts]
Finished [Branch-Protection]
Finished [Code-Review]
Finished [Contributors]
Finished [Dependency-Update-Tool]
Finished [Token-Permissions]
Finished [Security-Policy]
Finished [Vulnerabilities]
Finished [CII-Best-Practices]
Finished [Fuzzing]
Finished [Pinned-Dependencies]
RESULTS
-------
Aggregate score: 7.9 / 10
Check scores:
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| SCORE | NAME | REASON | DOCUMENTATION/REMEDIATION |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 10 / 10 | Binary-Artifacts | no binaries found in the repo | github.com/ossf/scorecard/blob/main/docs/checks.md#binary-artifacts |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 9 / 10 | Branch-Protection | branch protection is not | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection |
| | | maximal on development and all | |
| | | release branches | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| ? | CI-Tests | no pull request found | github.com/ossf/scorecard/blob/main/docs/checks.md#ci-tests |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | CII-Best-Practices | no badge found | github.com/ossf/scorecard/blob/main/docs/checks.md#cii-best-practices |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 10 / 10 | Code-Review | branch protection for default | github.com/ossf/scorecard/blob/main/docs/checks.md#code-review |
| | | branch is enabled | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | Contributors | 0 different companies found -- | github.com/ossf/scorecard/blob/main/docs/checks.md#contributors |
| | | score normalized to 0 | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | Dependency-Update-Tool | no update tool detected | github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | Fuzzing | project is not fuzzed in | github.com/ossf/scorecard/blob/main/docs/checks.md#fuzzing |
| | | OSS-Fuzz | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 1 / 10 | Maintained | 2 commit(s) found in the last | github.com/ossf/scorecard/blob/main/docs/checks.md#maintained |
| | | 90 days -- score normalized to | |
| | | 1 | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| ? | Packaging | no published package detected | github.com/ossf/scorecard/blob/main/docs/checks.md#packaging |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 8 / 10 | Pinned-Dependencies | unpinned dependencies detected | github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies |
| | | -- score normalized to 8 | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | SAST | no SAST tool detected | github.com/ossf/scorecard/blob/main/docs/checks.md#sast |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 0 / 10 | Security-Policy | security policy file not | github.com/ossf/scorecard/blob/main/docs/checks.md#security-policy |
| | | detected | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| ? | Signed-Releases | no releases found | github.com/ossf/scorecard/blob/main/docs/checks.md#signed-releases |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 10 / 10 | Token-Permissions | tokens are read-only in GitHub | github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions |
| | | workflows | |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
| 10 / 10 | Vulnerabilities | no vulnerabilities detected | github.com/ossf/scorecard/blob/main/docs/checks.md#vulnerabilities |
| --------- | ------------------------ | -------------------------------- | --------------------------------------------------------------------------- |
يجب تعيين GITHUB_AUTH_TOKEN
على رمز مميز صالح
docker run -e GITHUB_AUTH_TOKEN=token gcr.io/openssf/scorecard:stable --show-details --repo=https://github.com/ossf/scorecard
لاستخدام إصدار محدد لبطاقة الأداء (على سبيل المثال، v3.2.1)، قم بتشغيل:
docker run -e GITHUB_AUTH_TOKEN=token gcr.io/openssf/scorecard:v3.2.1 --show-details --repo=https://github.com/ossf/scorecard
لمزيد من التفاصيل حول سبب فشل عملية التحقق، استخدم خيار --show-details
:
./scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e --checks Branch-Protection --show-details
Starting [Pinned-Dependencies]
Finished [Pinned-Dependencies]
RESULTS
-------
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
| SCORE | NAME | REASON | DETAILS | DOCUMENTATION/REMEDIATION |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
| 9 / 10 | Branch-Protection | branch protection is not | Info: 'force pushes' disabled | github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection |
| | | maximal on development and all | on branch 'main' Info: 'allow | |
| | | release branches | deletion' disabled on branch | |
| | | | 'main' Info: linear history | |
| | | | enabled on branch 'main' Info: | |
| | | | strict status check enabled | |
| | | | on branch 'main' Warn: status | |
| | | | checks for merging have no | |
| | | | specific status to check on | |
| | | | branch 'main' Info: number | |
| | | | of required reviewers is 2 | |
| | | | on branch 'main' Info: Stale | |
| | | | review dismissal enabled on | |
| | | | branch 'main' Info: Owner | |
| | | | review required on branch | |
| | | | 'main' Info: 'administrator' | |
| | | | PRs need reviews before being | |
| | | | merged on branch 'main' | |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
تتيح تعليقات المشرفين التوضيحية للمشرفين إضافة سياق لعرضه بجانب نتائج فحص بطاقة الأداء. يمكن أن توفر التعليقات التوضيحية للمستخدمين معلومات إضافية عندما يكون لدى بطاقة الأداء تقييم غير كامل للممارسات الأمنية للمشروع. لرؤية التعليقات التوضيحية للمشرفين لكل فحص، استخدم خيار --show-annotations
.
لمزيد من المعلومات حول التعليقات التوضيحية المتوفرة أو كيفية عمل التعليقات التوضيحية، راجع مستند التكوين.
لتشغيل بطاقة الأداء على مستودع GitLab، يجب عليك إنشاء رمز وصول GitLab بالأذونات التالية:
read_api
read_user
read_repository
يمكنك تشغيل بطاقة الأداء على مستودع GitLab عن طريق تعيين متغير البيئة GITLAB_AUTH_TOKEN
:
export GITLAB_AUTH_TOKEN=glpat-xxxx
scorecard --repo gitlab.com/ < org > / < project > / < subproject >
للحصول على مثال لاستخدام بطاقة الأداء في GitLab CI/CD، انظر هنا.
بينما نركز على دعم GitLab.com، تعمل بطاقة الأداء أيضًا مع عمليات تثبيت GitLab المستضافة ذاتيًا. إذا تمت استضافة النظام الأساسي الخاص بك في نطاق فرعي (على سبيل المثال gitlab.foo.com
)، فيجب أن تعمل بطاقة الأداء خارج الصندوق. إذا تمت استضافة النظام الأساسي الخاص بك على بعض الروابط الثابتة (على سبيل المثال foo.com/bar/
)، فستحتاج إلى تعيين متغير البيئة GL_HOST
.
export GITLAB_AUTH_TOKEN=glpat-xxxx
export GL_HOST=foo.com/bar
scorecard --repo foo.com/bar/ < org > / < project >
لاستخدام مضيف GitHub Enterprise github.corp.com
، استخدم متغير البيئة GH_HOST
.
# Set the GitHub Enterprise host without https prefix or slash with relevant authentication token
export GH_HOST=github.corp.com
export GITHUB_AUTH_TOKEN=token
scorecard --repo=github.corp.com/org/repo
# OR without github host url
scorecard --repo=org/repo
بالنسبة للمشاريع الموجودة في الأنظمة البيئية --npm
أو --pypi
أو --rubygems
أو --nuget
، لديك خيار تشغيل Scorecard باستخدام مدير الحزم. قم بتوفير اسم الحزمة لتشغيل عمليات التحقق على كود مصدر GitHub المقابل.
على سبيل المثال، --npm=angular
.
لتشغيل عمليات فحص (فحوصات) محددة فقط، قم بإضافة وسيطة --checks
مع قائمة بأسماء الشيكات.
على سبيل المثال، --checks=CI-Tests,Code-Review
.
التنسيقات المدعومة حاليًا هي default
(text) و json
.
يمكن تحديدها باستخدام علامة --format
. على سبيل المثال، --format=json
.
يتم إجراء جميع الاختبارات التالية على المشروع المستهدف بشكل افتراضي:
اسم | وصف | مستوى المخاطر | الرمز المميز مطلوب | دعم جيتلاب | ملحوظة |
---|---|---|---|---|---|
التحف الثنائية | هل المشروع خالي من الثنائيات المسجلة؟ | عالي | بات، GITHUB_TOKEN | المدعومة | |
حماية الفرع | هل يستخدم المشروع حماية الفروع؟ | عالي | بات ( repo أو repo> public_repo )، GITHUB_TOKEN | مدعوم (انظر الملاحظات) | يتم دعم بعض الإعدادات فقط مع المشرف PAT |
اختبارات CI | هل يقوم المشروع بإجراء اختبارات في CI، على سبيل المثال GitHub Actions وProw؟ | قليل | بات، GITHUB_TOKEN | المدعومة | |
CII-أفضل الممارسات | هل حصل المشروع على شارة أفضل الممارسات لـ OpenSSF (المعروفة سابقًا باسم CII) على المستوى الناجح أو الفضي أو الذهبي؟ | قليل | بات، GITHUB_TOKEN | التحقق من صحة | |
مراجعة الكود | هل يقوم المشروع بمراجعة التعليمات البرمجية قبل دمج التعليمات البرمجية؟ | عالي | بات، GITHUB_TOKEN | التحقق من صحة | |
المساهمين | هل يضم المشروع مساهمين من منظمتين مختلفتين على الأقل؟ | قليل | بات، GITHUB_TOKEN | التحقق من صحة | |
سير العمل الخطير | هل يتجنب المشروع أنماط الترميز الخطيرة في سير عمل GitHub Action؟ | شديد الأهمية | بات، GITHUB_TOKEN | غير مدعوم | |
أداة تحديث التبعية | هل يستخدم المشروع أدوات للمساعدة في تحديث تبعياته؟ | عالي | بات، GITHUB_TOKEN | غير مدعوم | |
تشويش | هل يستخدم المشروع أدوات التشويش، مثل OSS-Fuzz أو QuickCheck أو الفحص السريع؟ | واسطة | بات، GITHUB_TOKEN | التحقق من صحة | |
رخصة | هل المشروع يعلن عن ترخيص؟ | قليل | بات، GITHUB_TOKEN | التحقق من صحة | |
تمت صيانته | هل عمر المشروع 90 يومًا على الأقل، وتمت صيانته؟ | عالي | بات، GITHUB_TOKEN | التحقق من صحة | |
التبعيات المثبتة | هل يعلن المشروع ويثبت التبعيات؟ | واسطة | بات، GITHUB_TOKEN | التحقق من صحة | |
التعبئة والتغليف | هل يقوم المشروع ببناء ونشر حزم رسمية من CI/CD، على سبيل المثال GitHub Publishing؟ | واسطة | بات، GITHUB_TOKEN | التحقق من صحة | |
ساست | هل يستخدم المشروع أدوات تحليل التعليمات البرمجية الثابتة، مثل CodeQL وLGTM (موقوف) وSonarCloud؟ | واسطة | بات، GITHUB_TOKEN | غير مدعوم | |
سياسة الأمن | هل يحتوي المشروع على سياسة أمنية؟ | واسطة | بات، GITHUB_TOKEN | التحقق من صحة | |
التوقيع-الإصدارات | هل يقوم المشروع بتوقيع الإصدارات بشكل مشفر؟ | عالي | بات، GITHUB_TOKEN | التحقق من صحة | |
أذونات الرمز المميز | هل يعلن المشروع أن الرموز المميزة لسير عمل GitHub للقراءة فقط؟ | عالي | بات، GITHUB_TOKEN | غير مدعوم | |
نقاط الضعف | هل يحتوي المشروع على نقاط ضعف غير ثابتة؟ يستخدم خدمة OSV. | عالي | بات، GITHUB_TOKEN | التحقق من صحة | |
خطافات الويب | هل يحتوي خطاف الويب المحدد في المستودع على رمز مميز تم تكوينه لمصادقة أصول الطلبات؟ | شديد الأهمية | المشرف PAT ( admin: repo_hook أو admin> read:repo_hook doc | تجريبي |
للاطلاع على معلومات تفصيلية حول كل شيك، ومعايير تسجيله، وخطوات المعالجة، راجع صفحة وثائق الشيكات.
للحصول على دليل لعمليات التحقق التي يجب عليك استخدامها عند البدء، راجع دليل المبتدئين لعمليات فحص بطاقة الأداء.
تضيف المصادقة الثنائية (2FA) طبقة إضافية من الأمان عند تسجيل الدخول إلى مواقع الويب أو التطبيقات. تعمل تقنية المصادقة الثنائية (2FA) على حماية حسابك إذا تم اختراق كلمة المرور الخاصة بك عن طريق طلب شكل ثانٍ من المصادقة، مثل الرموز المرسلة عبر الرسائل القصيرة أو تطبيق المصادقة، أو لمس مفتاح أمان فعلي.
نوصي بشدة بتمكين المصادقة الثنائية (2FA) على أي حسابات مهمة حيثما تكون متاحة. المصادقة الثنائية (2FA) ليست بمثابة فحص لبطاقة الأداء لأن GitHub وGitLab لا يجعلان تلك البيانات المتعلقة بحسابات المستخدمين عامة. يمكن القول إن هذه البيانات يجب أن تظل خاصة دائمًا، نظرًا لأن الحسابات التي لا تحتوي على المصادقة الثنائية تكون عرضة للهجوم.
على الرغم من أنه ليس فحصًا رسميًا، إلا أننا نحث جميع القائمين على المشروع على تمكين المصادقة الثنائية لحماية مشاريعهم من التسوية.
اتبع الخطوات الموضحة في تكوين المصادقة الثنائية
إذا أمكن، استخدم إما:
كخيار أخير، استخدم الرسائل القصيرة. احذر: المصادقة الثنائية باستخدام الرسائل القصيرة تكون عرضة لهجوم مبادلة بطاقة SIM.
يقوم كل فحص فردي بإرجاع درجة من 0 إلى 10، حيث تمثل 10 أفضل درجة ممكنة. تنتج بطاقة الأداء أيضًا درجة إجمالية، وهي عبارة عن متوسط يعتمد على الوزن لعمليات التحقق الفردية الموزونة حسب المخاطر.
راجع قائمة عمليات التحقق من بطاقة الأداء الحالية لمعرفة مستوى خطورة كل فحص.
إذا كان لديك ما يبدو أنه خطأ، فيرجى استخدام نظام تتبع المشكلات GitHub. قبل تقديم مشكلة، يرجى البحث في المشكلات الموجودة لمعرفة ما إذا كانت مشكلتك قد تمت تغطيتها بالفعل.
قبل المساهمة، يرجى اتباع قواعد السلوك الخاصة بنا.
راجع وثائق المساهمة للحصول على إرشادات حول كيفية المساهمة في المشروع.
إذا كنت ترغب في إضافة شيك، يرجى الاطلاع على الإرشادات هنا.
إذا كنت ترغب في المشاركة في مجتمع بطاقة الأداء أو لديك أفكار ترغب في الدردشة حولها، فإننا نناقش هذا المشروع في اجتماعات مجموعة عمل أفضل ممارسات OSSF.
قطعة أثرية | وصلة |
---|---|
منتدى تطوير بطاقة الأداء | ossf-scorecard-dev@ |
منتدى إعلانات بطاقة الأداء | ossf-بطاقة الأداء-إعلان@ |
اجتماع المجتمع VC | رابط لاجتماع التكبير |
تقويم اجتماع المجتمع | مناسبة لآسيا والمحيط الهادئ كل أسبوعين في أيام الخميس من الساعة 1:00 إلى 2:00 ظهرًا بتوقيت المحيط الهادئ (تقويم OSSF العام) مكالمة فيديو: تكبير LFX مناسب لمنطقة أوروبا والشرق الأوسط وأفريقيا كل 4 أيام إثنين من الساعة 7:00 إلى 8:00 صباحًا بتوقيت المحيط الهادئ (تقويم OSSF العام) مكالمة فيديو: تكبير LFX |
ملاحظات الاجتماع | ملحوظات |
قناة سلاك | #بطاقة الأداء |
تم إدراج المشرفين في ملف CODEOWNERS.
للإبلاغ عن مشكلة أمنية، يرجى اتباع التعليمات هنا.
مناسبة لآسيا والمحيط الهادئ كل أسبوعين في أيام الخميس من الساعة 1:00 إلى 2:00 ظهرًا بتوقيت المحيط الهادئ (تقويم OSSF العام)
مكالمة فيديو: تكبير LFX
مناسب لمنطقة أوروبا والشرق الأوسط وأفريقيا كل 4 أيام إثنين من الساعة 7:00 إلى 8:00 صباحًا بتوقيت المحيط الهادئ (تقويم OSSF العام)
مكالمة فيديو: تكبير LFX
يمكنك الاطلاع على جدول الأعمال وملاحظات الاجتماع هنا.
راجع الأسئلة الشائعة للحصول على إجابات للأسئلة المتداولة حول بطاقة الأداء.