الأمان
بالنسبة للمجتمعات التي يخدمها هذا، الأمان ليس أمرًا مجرّدًا — فتفصيل يفوتنا قد يعرّض أشخاصًا حقيقيين لخطر حقيقي. نطلب منك أن تثق بحُكم هذا الكتالوج بشأن ما يَأمَن الاعتماد عليه، لذا نُلزِم أنفسنا بالمعيار نفسه الذي نطلبه من الأدوات التي يحتويها: وضع أمني صادق يصمد أمام التدقيق، وباب مفتوح لأي أحد يجد ثغرة.
الإبلاغ عن ثغرة
Section titled “الإبلاغ عن ثغرة”يُرجى أن تُضمّن: ما الذي وجدته، وكيفية إعادة إنتاجه، والأثر الذي تراه. وإن كانت إيجابية كاذبة أو سلبية كاذبة في محرك التطبيق، فإن حالة اختبار تُخفِق هي أنفع شيء يمكنك إرساله.
ما هو الموقع — وما ليس عليه
Section titled “ما هو الموقع — وما ليس عليه”هذا موقع ثابت. لا يوجد تطبيق من جانب الخادم، ولا قاعدة بيانات، ولا حسابات مستخدمين، ولا بيانات مُرسَلة من المستخدمين تُعالَج في وقت التشغيل. وبناءً على ذلك، فإن سطح الهجوم صغير بالمقابل: خط أنابيب البناء، والتبعيات، وإعداد الاستضافة.
سلامة سلسلة التوريد
Section titled “سلامة سلسلة التوريد”سبب وجود الكتالوج هو مساءلة سلسلة التوريد، وهو مطبَّق على الكتالوج نفسه:
- كل تبعية تُفحَص بواسطة محرك التطبيق ثلاثي الطبقات عند كل pull request — الطبقات المباشرة والمتعدّية وطبقة سلاسل المزوّد.
- التراخيص مثبَّتة على commit، لا مُعلَنة فحسب، حتى يكون أي تغيير ترخيص صامت قابلًا للكشف.
- مراقب تراخيص أسبوعي (license-watcher) يحسب تجزئة (hash) ملفات
LICENSEفي المنبع ويمسح الـ commits الحديثة بحثًا عن كلمات مفتاحية لتغيير الترخيص، فاتحًا طلب سحب عند انحراف شيء ما. - فاحص صيانة أسبوعي (maintenance-checker) يعيد تصنيف المدخلات التي أصبحت خاملة أو مهجورة.
الأسرار والرموز
Section titled “الأسرار والرموز”لا يحتاج الموقع إلى أسرار لبناء الكتالوج. يستخدم النشر رمز API من Cloudflare محدود
النطاق ومعرّف حساب مخزّنَين كأسرار للمستودع؛ ويرفع GITHUB_TOKEN اختياري حدود المعدّل
لمهام الفهرسة والمهام الأسبوعية. ولا تُطلَب مطلقًا أو تُخزَّن أي مفاتيح لمزوّدي النماذج
— فأي شيء يتحدث إلى نموذج يفعل ذلك من جانب العميل، بنظام BYOK، وفق الوصفات.
قائمة تحقّق التحصين (ما يُطبّقه CI)
Section titled “قائمة تحقّق التحصين (ما يُطبّقه CI)”- مخطط المحتوى مُتحقَّق منه بـ
astro check. - محرك التطبيق أخضر (الطبقات 1–3 + عقد الوصفة).
- فحص الروابط الميتة عند كل طلب سحب.
- إصدارات الإجراءات وإصدار Node مثبَّتة في CI.
- لا تحليلات ولا سكربتات من أطراف ثالثة ما لم تُضبَط صراحةً.