Skip to content
Apothem
الأمان

مسح الثنائيات المُولَّدة

مسح الثنائيات المُولَّدة في Apothem — صفر ثنائيات مُجمَّعة / مُحزَّمة مُتتبَّعة في المصدر. دليل فحص Binary-Artifacts في OpenSSF Scorecard.

يتحقّق فحص Binary-Artifacts في OpenSSF Scorecard من أن شجرة المصدر لا تحمل أي ثنائيات مُجمَّعة / مُحزَّمة / مُبهَمة. الثنائيات في المصدر غير قابلة للتدقيق وتوفّر موطئ قدم لهجمات سلسلة التوريد: إذ يُضمِّن الثنائي شيفرةً لا تُظهِرها شجرة المصدر، فلا يستطيع المراجعون فحصها قبل الدمج.

موقف Apothem من الثنائيات المُولَّدة

Apothem هو شجرة مصدر Python صرفة بصفر ثنائيات مُجمَّعة أو مُحزَّمة أو مُبهَمة مُتتبَّعة في التحكّم بالإصدارات. والمستودع قابل للتدقيق من طرف إلى طرف انطلاقًا من المصدر.

منهجية المسح

يُعدّد المسح أنواع الملفات التي يعتبرها Scorecard ثنائية، ثم يتحقّق من غياب كلٍّ منها عن التحكّم بالإصدارات:

عائلة الامتدادالوصفحالة Apothem
.exe، .dll، .so، .dylibثنائيات أصيلة مُجمَّعة✅ صفر مُتتبَّع
.bin، .o، .a، .libملفات كائنية / مكتبات ساكنة✅ صفر مُتتبَّع
.jar، .war، .earحِزم Java✅ صفر مُتتبَّع
.whl، .eggتوزيعات Python✅ صفر مُتتبَّع (تُبنى داخل dist/؛ مُستثناة عبر gitignore)
.tar.gz، .zip (توزيعة مبنية)أرشيفات مضغوطة تحمل أدلة مبنية✅ صفر مُتتبَّع
.class، .pyc، .pyoشيفرة بايت مُجمَّعة✅ صفر مُتتبَّع (__pycache__/ مُستثنى عبر gitignore)
.crt، .pem، .key، .p12، .pfxمادة تعمية✅ صفر مُتتبَّع (مرفوض في .gitignore)

أصناف الثنائيات المسموح بها

يُسمح في المصدر بصنفين ضيّقين من الثنائيات:

  1. أصول العلامةassets/*.png، assets/*.ico، assets/favicon.*. هذه قابلة لإعادة التوليد حتميًّا من نسخ SVG الأصلية في assets/src/ عبر scripts/dev/rebuild-assets.{sh,ps1}. يعاملها Scorecard كشرعية وفق إعفائه image/png.
  2. ملفات الخطوطassets/fonts/*.ttf، assets/fonts/*.woff2. ملفات خطوط مُرفقة برخص موثَّقة؛ وفق إعفاء font/* لدى Scorecard.

كلا الصنفين موثَّق في site/content/docs/brand/index.mdx، ومصدرهما مُسجَّل في وصفة إعادة بناء الأصول.

أمر التحقّق

# من جذر مستودع apothem:
git ls-files | grep -E '\\.(exe|dll|so|dylib|bin|o|a|lib|jar|war|ear|whl|egg|class|pyc|pyo|crt|pem|key|p12|pfx)$'

ينبغي أن يُعيد هذا الاستدعاء صفر أسطر. النتيجة غير الفارغة تدلّ على أن ثنائيًّا مُولَّدًا قد تُتبِّع في المصدر — وهو اكتشاف بخطورة عالية يحجب الإصدار التالي.

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

يُعدّ المسح جزءًا من:

  • CI لكل طلب سحب — يتضمّن .github/workflows/ci.yml خطوة grep للثنائيات المُولَّدة.
  • نقطة تفتيش لكل إصدار — يتحقّق دليل هندسة الإصدار من المسح قبل وسم الإصدار.
  • تشغيل Scorecard الأسبوعي — يعيد سير عمل OpenSSF Scorecard تأكيد نجاح الفحص.

مراجع

On this page