المواضيع الرائجة
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

Obsidian
الأقل هو أكثر أمانا: كيف يقلل حجر السج من مخاطر هجمات سلسلة التوريد
هجمات سلسلة التوريد هي تحديثات ضارة تتسلل إلى التعليمات البرمجية مفتوحة المصدر التي تستخدمها العديد من التطبيقات. إليك كيفية تصميم Obsidian للتأكد من أن التطبيق بيئة آمنة وخاصة لأفكارك.
الأقل أكثر أمانا
قد يبدو الأمر واضحا ولكن الطريقة الأساسية لتقليل مخاطر هجمات سلسلة التوريد هي تجنب الاعتماد على رمز الطرف الثالث. يحتوي Obsidian على عدد قليل من التبعيات مقارنة بالتطبيقات الأخرى في فئتنا. اطلع على قائمة المكتبات مفتوحة المصدر على صفحة الاعتمادات الخاصة بنا.
تم تنفيذ ميزات مثل Bases و Canvas من البداية بدلا من استيراد مكتبات جاهزة. هذا يمنحنا تحكما كاملا في ما يعمل في حجر السج.
- بالنسبة لوظائف المرافق الصغيرة ، نقوم دائما بإعادة تنفيذها في التعليمات البرمجية الخاصة بنا.
- بالنسبة للوحدات المتوسطة ، نقوم بتقطيعها والاحتفاظ بها داخل قاعدة التعليمات البرمجية الخاصة بنا إذا سمحت التراخيص بذلك.
- بالنسبة للمكتبات الكبيرة مثل pdf.js و Mermaid و MathJax ، نقوم بتضمين ملفات معروفة ومقفلة بالإصدار ولا نقوم بالترقية إلا من حين لآخر ، أو عندما تهبط إصلاحات الأمان. نقرأ ملاحظات الإصدار ، وننظر إلى تغييرات المنبع ، ونختبر بدقة قبل التبديل.
يحافظ هذا النهج على الرسم البياني للتبعية ضحلا مع عدد قليل من التبعيات الفرعية. تقلل مساحة السطح الأصغر من فرصة تسلل التحديث الضار.
ما الذي يتم شحنه بالفعل في التطبيق
فقط عدد قليل من الحزم هي جزء من التطبيق الذي تقوم بتشغيله ، على سبيل المثال Electron و CodeMirror و moment.js. تساعدنا الحزم الأخرى في إنشاء التطبيق وعدم شحنها أبدا إلى المستخدمين ، مثل esbuild أو eslint.
تثبيت الإصدار وقفل الملفات
يتم تثبيت جميع التبعيات بشكل صارم على الإصدار والالتزام بملف قفل. ملف القفل هو مصدر الحقيقة للإصدارات حتى نحصل على عمليات تثبيت حتمية. يمنحنا هذا مسار تدقيق مباشر عند مراجعة التغييرات.
نحن لا نقوم بتشغيل البرامج النصية بعد التثبيت. هذا يمنع الحزم من تنفيذ تعليمات برمجية عشوائية أثناء التثبيت.
ترقيات بطيئة ومتعمدة
عندما نقوم بتحديثات التبعية، فإننا:
1. اقرأ سجل تغيير التبعية سطرا بسطر.
2. تحقق من التبعيات الفرعية التي قدمها الإصدار الجديد.
3. فرق في المنبع عندما تكون مجموعة التغيير كبيرة أو محفوفة بالمخاطر.
4. قم بإجراء الاختبارات الآلية واليدوية عبر الأنظمة الأساسية ومسارات المستخدم الهامة.
5. قم بتنفيذ ملف القفل الجديد فقط بعد مرور هذه المراجعات.
من الناحية العملية، نادرا ما نقوم بتحديث التبعيات لأنها تعمل بشكل عام ولا تتطلب تغييرات متكررة. عندما نفعل ذلك ، نتعامل مع كل تغيير كما لو كنا نأخذ تبعية جديدة.
الوقت هو مخزن مؤقت
نحن لا نتسرع في الترقيات. هناك تأخير بين ترقية أي تبعية ودفع الإصدار. تعمل هذه الفجوة كنافذة إنذار مبكر: غالبا ما يكتشف المجتمع والباحثون الأمنيون الإصدارات الضارة بسرعة. بحلول الوقت الذي نكون فيه مستعدين للشحن ، عادة ما يكون النظام البيئي قد أشار إلى أي إصدارات إشكالية.
—
لا يوجد مقياس واحد يمكن أن يقضي على مخاطر سلسلة التوريد. لكن اختيار عدد أقل من التبعيات ، والرسوم البيانية الضحلة ، ودبابيس الإصدار الدقيقة ، وعدم وجود تثبيت لاحق ، وإيقاع ترقية بطيء ثقيل المراجعة معا يجعل Obsidian أقل عرضة للتأثر ، ويمنحنا نافذة طويلة لاكتشاف المشكلات قبل وصول التعليمات البرمجية إلى المستخدمين.
إذا كنت مهتما بنهجنا الأوسع للأمان، فراجع صفحة الأمان وعمليات التدقيق السابقة.

59.83K
زادت المكافأة إلى 5,000 دولار

Obsidian17 سبتمبر، 01:23
مكافأة جديدة مفتوحة للمستورد:
2,000 دولار لتحويل قواعد بيانات المفاهيم إلى قواعد حجر السج وملفات نصية عادية
731.81K
الأفضل
المُتصدِّرة
التطبيقات المفضلة