Skip to content
Apothem
الأمان

موقف OpenSSF Scorecard

هدف Apothem في OpenSSF Scorecard وأسطح الأدلة المستخدمة لإبقاء الدرجة في تحسّن مستمر.

يستهدف Apothem أعلى درجة في OpenSSF Scorecard مع إبقاء الواجهة العامة صادقة بشأن ما يمكن وما لا يمكن لـScorecard استنتاجه من مستودع جديد بمشرف وحيد. يُعدّد هذا المستند كل فحص، وسطح الدليل الذي يسنده، والضابط الذي يُبقي الموقف محدّثًا.

الدرجة الحيّة موجودة في عارض Scorecard؛ والشارة موجودة في ترويسة README.

مصفوفة الأدلة لكل فحص

الفحصسطح الدليلملاحظات
Binary-Artifactsbinary-artifacts-sweep.mdلا تُتبَّع أي ثنائيات قابلة للتنفيذ في المصدر؛ تبقى أرشيفات التوزيع المُولَّدة في dist/.
Branch-Protectionbranch-protection-ruleset.mdيكون main محميًّا قبل الترقية إلى إصدار عام؛ وتُحظَر عمليات الدفع القسري والحذف بعد هبوط كوميت الإصدار الجديد.
CI-Tests.github/workflows/ci.ymlمصفوفة Pytest، وruff، وmypy، وCodeQL، وTrivy، وبناء التوثيق، وفحوص دخان التحزيم.
CII-Best-Practicesتسجيل OpenSSF Best Practicesيتطلّب تسجيلًا من جانب المشرف على موقع OpenSSF Best Practices؛ ولا يمكن إتمامه بملفات المستودع وحدها.
Code-Reviewحماية الفروع + CODEOWNERSيُفرَض على طلبات السحب المستقبلية؛ ويبقى سجل Scorecard محدودًا إلى أن تُوجَد طلبات سحب مُراجَعة.
ContributorsAUTHORSلا يمكن لمشروع جديد بمشرف منفرد اصطناع سجل مساهمات متعدّد المؤسسات؛ ويتحسّن هذا طبيعيًّا مع انضمام المساهمين.
Dangerous-Workflowتدقيق سير العمللا يوجد pull_request_target؛ وActions مُثبَّتة بـSHA ومحصورة بصلاحيات صريحة.
Dependency-Update-Toolrenovate.jsonيغطّي Renovate كلًّا من GitHub Actions وبيانات Python ومتطلبات الإصدار المقفولة بالتجزئة وأسطح npm، مع إبقاء طلبات سحب التبعيات المُجمَّعة متاحة.
Fuzzingtests/property/تختبر اختبارات خصائص Hypothesis ثوابت المُحلِّل والواجهة الأمامية؛ وقد لا يحتسب Scorecard المنبع Hypothesis كتكامل تشويش.
LicenseLICENSEرخصة MIT في جذر المستودع.
Maintainedسجل Gitيُظهِر كوميت الإصدار الحالي وإيقاع سير العمل النشط الصيانة؛ وقد تتلقّى المستودعات الحديثة جدًّا تحذير عُمر.
Packaging.github/workflows/سير عمل Release وPages وnpmjs.com التي تُنتِج sdist وwheel وSBOM ومَنشأ SLSA وتواقيع Sigstore.
Pinned-Dependenciesتدقيق سير العمل + متطلبات مقفولة بالتجزئةActions مُثبَّتة بـSHA؛ وتستخدم عمليات تثبيت أدوات الإصدار --require-hashes؛ وتستخدم أدوات pip الخاصة بسير العمل تثبيتات دقيقة.
SAST.github/workflows/codeql.ymlاستعلامات security-extended من CodeQL عبر Python وActions.
Security-PolicySECURITY.mdسياسة الإفصاح المنسّق، ومصفوفة الإصدارات المدعومة، والجدول الزمني للاستجابة.
Signed-Releases.github/workflows/release.ymlتواقيع Sigstore بلا مفاتيح، ومَنشأ SLSA، وSBOM، ومجاميع تحقق، وقِطَع الإصدار.
Token-Permissionsتدقيق سير العملتستخدم سير العمل صلاحيات قراءة فقط افتراضيًّا؛ ونطاقات الكتابة محلية للمهمة ومرتبطة بعمليات النشر/التحزيم.
Vulnerabilities.github/workflows/pip-audit.yml + .github/workflows/dependency-review.ymlفحص أسبوعي للثغرات وفحص CI مع رفع SARIF؛ وتمنع بوّابة dependency-review طلبات السحب التي تُدخِل تبعيات مُعرَّضة أو ذات تراخيص غير مسموح بها.

تفسير الدرجة

يُسجّل Scorecard كل فحص على مقياس من 0 إلى 10، والدرجة الإجمالية متوسط مرجَّح. تُتبَّع الضوابط التي تعتمد على سجل المستودع أو التسجيل لدى طرف ثالث أو تنوع المساهمين تتبّعًا صريحًا بدلًا من المبالغة في ادّعائها. ويؤدّي الانحراف في أي فحص خاضع للملفات إلى تشغيل معالجة فورية.

إيقاع التحديث

  • مع كل دفع: يُعاد تشغيل سير عمل Scorecard مع كل دفع إلى main.
  • أسبوعيًّا: الإثنين الساعة 02:30 UTC — يلتقط التغيّرات في منهجية التسجيل المنبع + الثغرات المُكتشَفة حديثًا ضد التبعيات المُثبَّتة الحالية.
  • مع كل إصدار: قبل الترقية العامة، يتحقّق المشرف من سطح عارض Scorecard الحيّ ويُسجّل أي حدود لحالة المنصّة.

مراجع

On this page