Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

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

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
scorecard — OpenSSF Scorecard - مقاييس صحة الأمان للمصادر المفتوحة | Kitploit
أدوات/GitHubGitHub/ossf/scorecard
تحليل الثغرات الأمنيةتحليل الكودتدقيق التكوينDevSecOpsكشف الأسراراستخبارات التهديداتأمن سلسلة التوريدالأفضل في أمن سلسلة التوريد #5
GitHubossf/scorecard

scorecard

5.6k69715منذ يوم واحدتمت المراجعة من قبل Kitploit

OpenSSF Scorecard - مقاييس صحة الأمان للمصادر المفتوحة

عرض المستودعالموقع الإلكتروني

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

OpenSSF Scorecard

OpenSSF Scorecard أفضل الممارسات من OpenSSF build CodeQL مرجع Go بطاقة تقرير Go codecov SLSA 3

Slack

نظرة عامة

  • ما هو Scorecard؟
  • أبرز مستخدمي Scorecard
  • عرض نتيجة مشروع
  • البيانات العامة لـScorecard

استخدام Scorecard

  • إجراء GitHub الخاص بـScorecard
  • واجهة برمجة التطبيقات REST الخاصة بـScorecard
  • شارات Scorecard
  • واجهة سطر الأوامر الخاصة بـScorecard
    • المتطلبات الأساسية
    • التثبيت
    • المصادقة
    • الاستخدام الأساسي

الفحوصات

  • فحوصات Scorecard الافتراضية
  • توثيق الفحص المفصل (معايير التسجيل، المخاطر، والإصلاح)
  • دليل المبتدئين لفحوصات Scorecard

توصيات مهمة أخرى

  • المصادقة الثنائية (2FA)

التسجيل

  • النتيجة الإجمالية

المساهمة

  • الإبلاغ عن المشكلات
  • مدونة السلوك
  • المساهمة في Scorecard
  • إضافة فحص جديد
  • التواصل مع مجتمع Scorecard
  • الإبلاغ عن ثغرة أمنية

الأسئلة الشائعة

  • الأسئلة الشائعة

نظرة عامة

ما هو Scorecard؟

أنشأنا Scorecard لمساعدة مسؤولي المشاريع مفتوحة المصدر على تحسين ممارساتهم الأمنية، ولمساعدة مستهلكي البرمجيات مفتوحة المصدر على الحكم على ما إذا كانت تبعياتهم آمنة.

Scorecard هي أداة آلية تقوم بتقييم عدد من المعايير الهامة ("الفحوصات") المرتبطة بأمن البرمجيات وتمنح كل فحص درجة من 0-10. يمكنك استخدام هذه الدرجات لفهم المجالات المحددة التي تحتاج إلى تحسين لتعزيز الوضع الأمني لمشروعك. يمكنك أيضًا تقييم المخاطر التي تقدمها التبعيات، واتخاذ قرارات مستنيرة حول قبول هذه المخاطر، أو تقييم الحلول البديلة، أو العمل مع المسؤولين لإجراء تحسينات.

الإلهام لشعار Scorecard: "لقد نجحت! كلها D... وواحدة A!"

أهداف المشروع

  1. أتمتة التحليل وقرارات الثقة بشأن الوضع الأمني للمشاريع مفتوحة المصدر.

  2. استخدام هذه البيانات لتحسين الوضع الأمني للمشاريع الحيوية التي يعتمد عليها العالم بشكل استباقي.

  3. العمل كأداة قياس للسياسات الحالية

    إذا كان مستهلكو البرمجيات مفتوحة المصدر يطلبون سلوكيات معينة من تبعياتهم، يمكن استخدام Scorecard لقياسها. مع إصدار V5، نرى النتائج المنظمة كطريقة للقيام بذلك إذا كان هناك تحليل مدعوم. بدلاً من الاعتماد على درجة إجمالية X/10، أو درجة صيانة Y/10، قد يرغب مستهلك البرمجيات مفتوحة المصدر في التأكد من أن المستودع الذي يعتمد عليه ليس مؤرشفًا (وهو ما يغطيه فحص archived). تتبع OpenSSF هذا النهج مع خط الأساس الأمني الخاص بها للمشاريع.

أهداف غير المشروع

  1. أن يكون تقريرًا نهائيًا أو شرطًا يجب أن تتبعه جميع المشاريع.

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

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

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

أبرز مستخدمي Scorecard

تم تشغيل Scorecard على آلاف المشاريع لمراقبة وتتبع المقاييس الأمنية. المشاريع البارزة التي تستخدم Scorecard تشمل:

  • Tensorflow
  • Angular
  • Flutter
  • sos.dev
  • deps.dev

عرض نتيجة مشروع

لعرض نتائج المشاريع التي يتم فحصها بانتظام بواسطة Scorecard، انتقل إلى عارض الويب. يمكنك أيضًا استبدال النص الوهمي (المنصة، اسم المستخدم/المؤسسة، واسم المستودع) في رابط القالب التالي لإنشاء رابط Scorecard مخصص لمستودع: https://scorecard.dev/viewer/?uri=<github_or_gitlab>.com/<user_name_or_org>/<repository_name>

على سبيل المثال:

  • https://scorecard.dev/viewer/?uri=github.com/ossf/scorecard
  • https://scorecard.dev/viewer/?uri=gitlab.com/fdroid/fdroidclient

لعرض نتائج المشاريع غير المدرجة في عارض الويب، استخدم واجهة سطر الأوامر الخاصة بـ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

root@kitploit:~
يمكنك استخراج أحدث النتائج إلى تخزين 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

قائمة المشاريع التي يتم فحصها متاحة في ملف cron/internal/data/projects.csv في هذا المستودع. إذا كنت ترغب في أن نتتبع المزيد، فلا تتردد في إرسال طلب سحب (Pull Request) بمشاريع أخرى. حاليًا، هذه القائمة مستمدة من المشاريع المستضافة على GitHub فقط. نخطط لتوسيعها في المستقبل القريب لتشمل المشاريع المستضافة على أنظمة تحكم مصدري أخرى.

استخدام Scorecard

إجراء GitHub الخاص بـ Scorecard (Scorecard GitHub Action)

أسهل طريقة لاستخدام Scorecard على مشاريع GitHub التي تملكها هي عبر إجراء GitHub الخاص بـ Scorecard. يعمل الإجراء على أي تغيير في المستودع ويصدر تنبيهات يمكن للمشرفين الاطلاع عليها في علامة التبويب "الأمان" (Security) في المستودع. لمزيد من المعلومات، راجع تعليمات التثبيت الخاصة بإجراء GitHub الخاص بـ Scorecard.

واجهة REST API الخاصة بـ Scorecard

لاستعلام النتائج المحسوبة مسبقًا لمشاريع المصادر المفتوحة، استخدم REST API. النتائج المحسوبة من فحصنا الأسبوعي تستثني فحوصات CI-Tests وContributors وDependency-Update-Tool بسبب تكاليف واجهة API المرتبطة بتشغيلها على نطاق واسع.

يتم تخزين نتائج API مؤقتًا باستخدام CDN (بفضل Fastly وبرنامجهم Fast Forward). يتم مسح النتائج من CDN عند توفر نتائج جديدة، ولكن إذا لاحظت مشكلات تتعلق بالبيانات القديمة، فيُرجى فتح مشكلة (issue).

لتمكين مشروعك من الظهور على REST API، قم بتعيين publish_results: true في إعداد إجراء GitHub الخاص بـ Scorecard.

البيانات المقدمة من REST API مرخصة بموجب CDLA Permissive 2.0.

شارات Scorecard (Scorecard Badges)

تمكين publish_results: true في إجراءات GitHub الخاصة بـ Scorecard يسمح للمشرفين أيضًا بعرض شارة Scorecard على مستودعهم لإظهار عملهم الجاد. هذه الشارة تُحدّث تلقائيًا مع كل تغيير يتم إجراؤه على المستودع. راجع المزيد من التفاصيل في هذا المنشور على مدونة OSSF.

لتضمين شارة في مستودع مشروعك، ما عليك سوى إضافة الترميز التالي إلى ملف README الخاص بك:``` OpenSSF Scorecard

root@kitploit:~
### واجهة سطر الأوامر لـ Scorecard

لتشغيل فحص Scorecard على مشاريع لا تملكها، استخدم خيار التثبيت عبر واجهة سطر الأوامر.

#### المتطلبات الأساسية

الأنظمة الأساسية: حاليًا، يدعم Scorecard أنظمة OSX و Linux. إذا كنت تستخدم نظام تشغيل Windows فقد تواجه مشكلات. المساهمات في دعم Windows مرحب بها.

اللغة: يجب أن يكون GoLang مثبتًا لديك لتشغيل Scorecard (https://golang.org/doc/install)

#### التثبيت

##### Docker

`scorecard` متاح كحاوية Docker:```shell
docker pull ghcr.io/ossf/scorecard:latest

لاستخدام إصدار معين من بطاقة النتائج (مثل v3.2.1)، قم بتشغيل:```shell docker pull ghcr.io/ossf/scorecard:v3.2.1

root@kitploit:~
##### مستقل

لتثبيت Scorecard بشكل مستقل:

قم بزيارة [صفحة الإصدارات](https://github.com/ossf/scorecard/releases/latest) الخاصة بنا وقم بتنزيل ملف zip المناسب لنظام التشغيل الخاص بك.

أضف الثنائي إلى دليل `GOPATH/bin` الخاص بك (استخدم `go env GOPATH` لتحديد دليلك إذا لزم الأمر).

###### التحقق من صحة مصدر SLSA للإصدارات التي تم تنزيلها

نقوم بإنشاء [توقيعات SLSA3](https://slsa.dev) باستخدام [slsa-framework/slsa-github-generator](https://github.com/slsa-framework/slsa-github-generator) التابع لـ OpenSSF أثناء عملية الإصدار. للتحقق من ثنائي الإصدار:
1. قم بتثبيت أداة التحقق من [slsa-framework/slsa-verifier#installation](https://github.com/slsa-framework/slsa-verifier#installation).
2. قم بتنزيل ملف التوقيع `attestation.intoto.jsonl` من [صفحة إصدارات GitHub](https://github.com/GoogleContainerTools/jib/releases/latest).
3. قم بتشغيل المدقق:```shell
slsa-verifier -artifact-path <the-zip> -provenance attestation.intoto.jsonl -source github.com/ossf/scorecard -tag <the-tag>
استخدام مديري الحزم
مدير الحزمةالتوزيع المدعومالأمر
NixNixOSnix-shell -p nixpkgs.scorecard
مساعد AURArch Linuxاستخدم مساعد AUR الخاص بك لتثبيت scorecard
HomebrewmacOS أو Linuxbrew install scorecard

المصادقة

يُفرض GitHub حدودًا لمعدل واجهة برمجة التطبيقات على الطلبات غير الموثقة. لتجنب هذه الحدود، يجب عليك توثيق طلباتك قبل تشغيل Scorecard. هناك طريقتان لتوثيق طلباتك: إما إنشاء رمز وصول شخصي لـ GitHub، أو إنشاء تطبيق GitHub Installation.

  • أنشئ رمز وصول شخصي كلاسيكي لـ GitHub. عند إنشاء رمز الوصول الشخصي، نقترح اختيار نطاق public_repo. قم بتعيين الرمز في متغير بيئة يسمى GITHUB_AUTH_TOKEN أو GITHUB_TOKEN أو GH_AUTH_TOKEN أو GH_TOKEN باستخدام الأوامر أدناه وفقًا لمنصتك.```shell

For posix platforms, e.g. linux, mac:

export GITHUB_AUTH_TOKEN=

Multiple tokens can be provided separated by comma to be utilized

in a round robin fashion.

export GITHUB_AUTH_TOKEN=,

For windows:

set GITHUB_AUTH_TOKEN= set GITHUB_AUTH_TOKEN=,

root@kitploit:~
أو

-   [إنشاء تثبيت تطبيق GitHub](https://docs.github.com/en/developers/apps/building-github-apps/creating-a-github-app)
    للحصول على حصص حد معدل أعلى. إذا كان لديك تطبيق GitHub مثبت وملف مفتاح، يمكنك استخدام متغيرات البيئة الثلاثة أدناه، باتباع الأوامر (`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 باستخدام وسيطة واحدة فقط، وهي عنوان URL للمستودع المستهدف:```shell scorecard --repo=github.com/ossf-tests/scorecard-check-branch-protection-e2e

root@kitploit:~
```shell
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        |
|---------|------------------------|--------------------------------|---------------------------------------------------------------------------|
Docker

يجب تعيين GITHUB_AUTH_TOKEN إلى رمز صالح.```shell docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/scorecard:latest --show-details --repo=https://github.com/ossf/scorecard

root@kitploit:~
لاستخدام إصدار معين من scorecard (مثل v3.2.1)، قم بتشغيل:```shell
docker run -e GITHUB_AUTH_TOKEN=token ghcr.io/ossf/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

root@kitploit:~
```shell
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'        |                                                                           |
|---------|------------------------|--------------------------------|--------------------------------|---------------------------------------------------------------------------|
عرض تعليقات المشرفين

تتيح تعليقات المشرفين للمشرفين إضافة سياق لعرضه جنبًا إلى جنب مع نتائج فحص Scorecard. يمكن أن توفر التعليقات للمستخدمين معلومات إضافية عندما يكون لدى Scorecard تقييم غير مكتمل لممارسات الأمان الخاصة بالمشروع. لعرض تعليقات المشرفين لكل فحص، استخدم الخيار --show-annotations.

لمزيد من المعلومات حول التعليقات المتاحة أو كيفية إنشاء التعليقات، راجع وثيقة التكوين.

استخدام مستودع GitLab

لتشغيل Scorecard على مستودع GitLab، يجب عليك إنشاء رمز وصول GitLab بالصلاحيات التالية:

  • read_api
  • read_user
  • read_repository

يمكنك تشغيل Scorecard على مستودع GitLab عن طريق تعيين متغير البيئة GITLAB_AUTH_TOKEN:```bash export GITLAB_AUTH_TOKEN=glpat-xxxx

scorecard --repo gitlab.com///

root@kitploit:~
للحصول على مثال لاستخدام Scorecard في GitLab CI/CD، انظر [هنا](https://gitlab.com/ossf-test/scorecard-pipeline-example).

###### الإصدارات المستضافة ذاتيًا
بينما نركز على دعم GitLab.com، فإن Scorecard تعمل أيضًا مع تثبيتات GitLab المستضافة ذاتيًا.
إذا كانت منصتك مستضافة على نطاق فرعي (مثل `gitlab.foo.com`)، فيجب أن تعمل Scorecard مباشرةً.
إذا كانت منصتك مستضافة على مسار slug (مثل `foo.com/bar/`)، فستحتاج إلى تعيين متغير البيئة `GL_HOST`.```bash
export GITLAB_AUTH_TOKEN=glpat-xxxx
export GL_HOST=foo.com/bar
scorecard --repo foo.com/bar/<org>/<project>
استخدام مستودع يعتمد على GitHub Enterprise Server (GHES)

لاستخدام مضيف GitHub Enterprise github.corp.com، استخدم متغير البيئة GH_HOST.```shell

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

root@kitploit:~
##### استخدام مدير الحزم

بالنسبة للمشاريع في أنظمة `--npm`، `--pypi`، `--rubygems`، أو `--nuget`، لديك خيار تشغيل Scorecard باستخدام مدير الحزم. قم بتوفير اسم الحزمة لتشغيل الفحوصات على كود المصدر الخاص بـ GitHub المقابل.

على سبيل المثال، `--npm=angular`.

ملاحظة: إشارات نظام الحزم هي فقط للعثور على مستودع GitHub.
هذه الإشارات لا تغير التقييم النهائي للفحوصات.

بالإضافة إلى ذلك، لا يمكن استخدام الإشارات مع `--repo`.

##### تشغيل فحوصات محددة

لتشغيل فحص (فحوصات) محددة فقط، أضف وسيطة `--checks` مع قائمة بأسماء الفحوصات.

على سبيل المثال، `--checks=CI-Tests,Code-Review`.

##### تنسيق النتائج

الصيغ المدعومة حالياً هي `default` (نص) و `json`.

يمكن تحديدها باستخدام العلم `--format`. على سبيل المثال، `--format=json`.

## الفحوصات

### فحوصات Scorecard

يتم تشغيل الفحوصات التالية جميعها ضد المشروع الهدف افتراضياً:

الاسم | الوصف | مستوى المخاطرة | الرمز المطلوب | دعم GitLab | ملاحظة
---- | ---- | ---- | ---- | ---- | ---- |
[Binary-Artifacts](https://github.com/ossf/scorecard/blob/main/docs/checks.md#binary-artifacts) | هل المشروع خالٍ من الثنائيات المدرجة؟ | عالية | PAT, GITHUB_TOKEN | مدعوم |
[Branch-Protection](https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection) | هل يستخدم المشروع [حماية الفرع](https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/about-protected-branches)؟ | عالية | PAT (`repo` أو `repo> public_repo`), GITHUB_TOKEN | مدعوم (انظر الملاحظات) | إعدادات معينة مدعومة فقط مع PAT للمشرف
[CI-Tests](https://github.com/ossf/scorecard/blob/main/docs/checks.md#ci-tests) | هل يقوم المشروع بتشغيل الاختبارات في CI، مثل [GitHub Actions](https://docs.github.com/en/free-pro-team@latest/actions)، [Prow](https://github.com/kubernetes/test-infra/tree/master/prow)؟ | منخفضة | PAT, GITHUB_TOKEN | مدعوم |
[CII-Best-Practices](https://github.com/ossf/scorecard/blob/main/docs/checks.md#cii-best-practices) | هل حصل المشروع على [شارة أفضل الممارسات من OpenSSF (سابقاً CII)](https://www.bestpractices.dev) بمستوى النجاح أو الفضي أو الذهبي؟ | منخفضة | PAT, GITHUB_TOKEN | قيد التحقق |
[Code-Review](https://github.com/ossf/scorecard/blob/main/docs/checks.md#code-review) | هل يطبق المشروع مراجعة الكود قبل دمج الكود؟ | عالية | PAT, GITHUB_TOKEN | مدعوم |
[Contributors](https://github.com/ossf/scorecard/blob/main/docs/checks.md#contributors) | هل يوجد في المشروع مساهمون من مؤسستين مختلفتين على الأقل؟ | منخفضة | PAT, GITHUB_TOKEN | قيد التحقق |
[Dangerous-Workflow](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dangerous-workflow) | هل يتجنب المشروع أنماط البرمجة الخطيرة في سير عمل GitHub Actions؟ | حرجة | PAT, GITHUB_TOKEN | غير مدعوم |
[Dependency-Update-Tool](https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool) | هل يستخدم المشروع أدوات للمساعدة في تحديث تبعياته؟ | عالية | PAT, GITHUB_TOKEN | مدعوم |
[Fuzzing](https://github.com/ossf/scorecard/blob/main/docs/checks.md#fuzzing) | هل يستخدم المشروع أدوات التلغيم، مثل [OSS-Fuzz](https://github.com/google/oss-fuzz)، [QuickCheck](https://hackage.haskell.org/package/QuickCheck) أو [fast-check](https://fast-check.dev/)؟ | متوسطة | PAT, GITHUB_TOKEN | قيد التحقق |
[License](https://github.com/ossf/scorecard/blob/main/docs/checks.md#license) | هل يعلن المشروع عن ترخيص؟ | منخفضة | PAT, GITHUB_TOKEN | قيد التحقق |
[Maintained](https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained) | هل عمر المشروع 90 يوماً على الأقل، وهل يتم صيانته؟ | عالية | PAT, GITHUB_TOKEN | قيد التحقق |
[Pinned-Dependencies](https://github.com/ossf/scorecard/blob/main/docs/checks.md#pinned-dependencies) | هل يعلن المشروع عن [التبعيات](https://docs.github.com/en/free-pro-team@latest/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems) ويُثبتها؟ | متوسطة | PAT, GITHUB_TOKEN | قيد التحقق |
[Packaging](https://github.com/ossf/scorecard/blob/main/docs/checks.md#packaging) | هل يقوم المشروع ببناء ونشر حزم رسمية من CI/CD، مثل [نشر GitHub](https://docs.github.com/en/free-pro-team@latest/actions/guides/about-packaging-with-github-actions#workflows-for-publishing-packages)؟ | متوسطة | PAT, GITHUB_TOKEN | قيد التحقق |
[SAST](https://github.com/ossf/scorecard/blob/main/docs/checks.md#sast) | هل يستخدم المشروع أدوات تحليل الكود الثابت، مثل [CodeQL](https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository#enabling-code-scanning-using-actions)، [LGTM (مهمل)](https://lgtm.com)، [SonarCloud](https://sonarcloud.io)؟ | متوسطة | PAT, GITHUB_TOKEN | غير مدعوم |
[Security-Policy](https://github.com/ossf/scorecard/blob/main/docs/checks.md#security-policy) | هل يحتوي المشروع على [سياسة أمنية](https://docs.github.com/en/free-pro-team@latest/github/managing-security-vulnerabilities/adding-a-security-policy-to-your-repository)؟ | متوسطة | PAT, GITHUB_TOKEN | قيد التحقق |
[Signed-Releases](https://github.com/ossf/scorecard/blob/main/docs/checks.md#signed-releases) | هل يقوم المشروع [بتوقيع الإصدارات](https://wiki.debian.org/Creating%20signed%20GitHub%20releases) تشفيرياً؟ | عالية | PAT, GITHUB_TOKEN | قيد التحقق |
[Token-Permissions](https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions) | هل يعلن المشروع عن رموز سير عمل GitHub كـ [للقراءة فقط](https://docs.github.com/en/actions/reference/authentication-in-a-workflow)؟ | عالية | PAT, GITHUB_TOKEN | غير مدعوم |
[Vulnerabilities](https://github.com/ossf/scorecard/blob/main/docs/checks.md#vulnerabilities) | هل يحتوي المشروع على ثغرات غير مثبتة؟ يستخدم [خدمة OSV](https://osv.dev). | عالية | PAT, GITHUB_TOKEN | قيد التحقق |
[Webhooks](https://github.com/ossf/scorecard/blob/main/docs/checks.md#webhooks) | هل يحتوي webhook المُعرَّف في المستودع على رمز مميز لمصادقة أصول الطلبات؟ | حرجة | PAT للمشرف (`admin: repo_hook` أو `admin> read:repo_hook` [وثيقة](https://docs.github.com/en/rest/webhooks/repo-config#get-a-webhook-configuration-for-a-repository) |  | تجريبي

### توثيق الفحوصات التفصيلي

لمعرفة معلومات مفصلة حول كل فحص، ومعايير تسجيل النقاط، وخطوات المعالجة، راجع [صفحة توثيق الفحوصات](https://github.com/ossf/scorecard/blob/main/docs/checks.md).

### دليل المبتدئين لفحوصات Scorecard

للحصول على دليل حول الفحوصات التي يجب استخدامها عند البدء، راجع [دليل المبتدئين لفحوصات scorecard](https://github.com/ossf/scorecard/blob/main/docs/beginner-checks.md).

## توصيات هامة أخرى

### المصادقة الثنائية (2FA)

[المصادقة الثنائية (2FA)](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication) تضيف طبقة إضافية من الأمان عند تسجيل الدخول إلى المواقع أو التطبيقات. تحمي 2FA حسابك إذا تم اختراق كلمة المرور الخاصة بك عن طريق طلب نموذج ثانٍ من المصادقة، مثل الرموز المرسلة عبر SMS أو تطبيق المصادقة، أو لمس مفتاح أمان مادي.

نوصي بشدة بتمكين 2FA على أي حسابات مهمة حيثما كانت متاحة. 2FA ليست فحصاً في Scorecard لأن GitHub و GitLab لا يجعلان تلك البيانات حول حسابات المستخدمين عامة. يمكن القول إن هذه البيانات يجب أن تظل دائماً خاصة، لأن الحسابات بدون 2FA معرضة بشدة للهجوم.

على الرغم من أنها ليست فحصاً رسمياً، إلا أننا نحث جميع المشرفين على المشاريع على تمكين 2FA لحماية مشاريعهم من الاختراق.

#### تمكين 2FA

##### للمستخدمين

اتبع الخطوات الموضحة في [تكوين المصادقة الثنائية](https://docs.github.com/en/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication)

إذا أمكن، استخدم إما:

- مفتاح أمان مادي (مفضل)، مثل Titan أو Yubikey
- رموز الاسترداد، مخزنة في خزنة محمية بالوصول ومشفرة

كخيار أخير، استخدم SMS. تحذير: 2FA باستخدام SMS عرضة لهجوم [تبديل SIM](https://en.wikipedia.org/wiki/SIM_swap_scam).

##### لمؤسسة

1. [التحضير لطلب 2FA في مؤسستك](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/preparing-to-require-two-factor-authentication-in-your-organization)
2. [طلب 2FA في مؤسستك](https://docs.github.com/en/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/requiring-two-factor-authentication-in-your-organization)

## تسجيل النقاط

### النتيجة الإجمالية
يعيد كل فحص فردي نتيجة من 0 إلى 10، حيث تمثل 10 أفضل نتيجة ممكنة. ينتج Scorecard أيضاً نتيجة إجمالية، وهي متوسط مرجح للفحوصات الفردية مرجح حسب المخاطرة.

* فحوصات المخاطرة "الحرجة" تزن 10
* فحوصات المخاطرة "العالية" تزن 7.5
* فحوصات المخاطرة "المتوسطة" تزن 5
* فحوصات المخاطرة "المنخفضة" تزن 2.5

انظر [قائمة فحوصات Scorecard الحالية](#فحوصات-scorecard) لمستوى مخاطرة كل فحص.

## المساهمة

### الإبلاغ عن المشكلات

إذا كان لديك ما يبدو وكأنه خلل، فيرجى استخدام [نظام تتبع المشكلات في GitHub](https://github.com/ossf/scorecard/issues). قبل تقديم مشكلة، يرجى البحث في المشكلات الحالية لمعرفة ما إذا كانت مشكلتك مغطاة بالفعل.

### المساهمة في Scorecard

قبل المساهمة، يرجى اتباع [مدونة قواعد السلوك](https://github.com/ossf/scorecard/blob/main/CODE_OF_CONDUCT.md) الخاصة بنا.

انظر توثيق [المساهمة](https://github.com/ossf/scorecard/blob/main/CONTRIBUTING.md) للحصول على إرشادات حول كيفية المساهمة في المشروع.

### إضافة فحص Scorecard

إذا كنت ترغب في إضافة فحص، فيرجى الاطلاع على الإرشادات [هنا](https://github.com/ossf/scorecard/blob/main/checks/write.md).

### التواصل مع مجتمع Scorecard

إذا كنت ترغب في المشاركة في مجتمع Scorecard أو لديك أفكار ترغب في مناقشتها، فإننا نناقش هذا المشروع في اجتماعات
[مجموعة عمل أفضل الممارسات OSSF](https://github.com/ossf/wg-best-practices-os-developers).

القطعة | الرابط
----- | -----
منتدى مطوري Scorecard | [ossf-scorecard-dev@](https://groups.google.com/g/ossf-scorecard-dev)
منتدى إعلانات Scorecard | [ossf-scorecard-announce@](https://groups.google.com/g/ossf-scorecard-announce)
غرفة الاجتماع الافتراضية للمجتمع | [رابط اجتماع z o o m](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54)
تقويم اجتماع المجتمع | **_مناسب لمنطقة آسيا والمحيط الهادئ_** كل أسبوعين يوم الخميس من 1:00-2:00 مساءً بتوقيت المحيط الهادئ ([تقويم OSSF العام](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA)) <br> مكالمة فيديو: [LFX Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54) <br> **_مناسب لمنطقة أوروبا والشرق الأوسط وأفريقيا_** كل 4 أيام اثنين من 7:00-8:00 صباحاً بتوقيت المحيط الهادئ ([تقويم OSSF العام](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA)) <br> مكالمة فيديو: [LFX Zoom](https://zoom-lfx.platform.linuxfoundation.org/meeting/93377638314?password=d53af562-d908-4100-8ae1-52686756cc5d)
ملاحظات الاجتماع | [الملاحظات](https://docs.google.com/document/d/1b6d3CVJLsl7YnTE7ZaZQHdkdYIvuOQ8rzAmvVdypOWM/edit?usp=sharing)
قناة Slack | [#scorecard](https://slack.openssf.org/#scorecard)

__المشرفون__ مدرجون في [ملف CODEOWNERS](https://github.com/ossf/scorecard/blob/main/.github/CODEOWNERS).

### الإبلاغ عن مشكلة أمنية

للإبلاغ عن مشكلة أمنية، يرجى اتباع التعليمات [هنا](https://github.com/ossf/scorecard/blob/main/SECURITY.md).

### الانضمام إلى اجتماع مشروع Scorecard

#### Zoom

**_مناسب لمنطقة آسيا والمحيط الهادئ_** كل أسبوعين يوم الخميس من 1:00-2:00 مساءً بتوقيت المحيط الهادئ ([تقويم OSSF العام](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA))

مكالمة فيديو: [LFX z o o m](https://zoom-lfx.platform.linuxfoundation.org/meeting/95007214146?password=250040c3-80c0-48c4-80c1-07a373116d54)

**_مناسب لمنطقة أوروبا والشرق الأوسط وأفريقيا_** كل 4 أيام اثنين من 7:00-8:00 صباحاً بتوقيت المحيط الهادئ ([تقويم OSSF العام](https://calendar.google.com/calendar/u/0/embed?height=600&wkst=1&bgcolor=%238E24AA&showTitle=1&mode=WEEK&showCalendars=0&showTabs=1&showPrint=0&title=OpenSSF+Community+Calendar&src=czYzdm9lZmhwNWk5cGZsdGI1cTY3bmdwZXNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ&color=%238E24AA))

مكالمة فيديو: [LFX z o o m](https://zoom-lfx.platform.linuxfoundation.org/meeting/93377638314?password=d53af562-d908-4100-8ae1-52686756cc5d)

#### جدول الأعمال

يمكنك الاطلاع على [جدول الأعمال وملاحظات الاجتماع هنا](https://docs.google.com/document/d/1b6d3CVJLsl7YnTE7ZaZQHdkdYIvuOQ8rzAmvVdypOWM/edit?usp=sharing).

## نجوم المشروع عبر الزمن

[![نجوم المشروع عبر الزمن](https://starchart.cc/ossf/scorecard.svg)](https://starchart.cc/ossf/scorecard)

## الأسئلة الشائعة

### الأسئلة الشائعة

انظر [الأسئلة الشائعة](https://github.com/ossf/scorecard/blob/main/docs/faq.md) للحصول على إجابات للأسئلة المتكررة حول Scorecard.
تنزيل الأداة