ملفات Bun lockfiles وأمن سلسلة التوريد الخاصة بك
ملفات القفل الثنائية (Binary lockfiles) هي ضريبة أمنية—ستدفع ثمنها لاحقًا، مع الفوائد.
اعتاد Bun تخزين التبعيات في ملف ثنائي يسمى bun.lockb. كان سريعًا وصغيرًا، لكن لم يكن بإمكانك قراءته. لم يكن بإمكانك إجراء مقارنة (diff) له في طلب سحب (pull request)، ولم يكن بإمكانك رؤية ما تغير.
عندما لا تستطيع مراجعة تغيير في التبعيات، فأنت لا تملك سياسة—بل مجرد تخمين.
يقوم Bun v1.2 بتغيير الإعداد الافتراضي إلى ملف نصي bun.lock. وهذا وحده يمثل انتصارًا أمنيًا كبيرًا.
لماذا تهم ملفات lockfiles النصية
- مقارنات (diffs) ذات مغزى – يرى المراجعون بالضبط أي الحزم انتقلت أو تغيرت.
- فحوصات سياسة سهلة – يمكن لـ CI فحص الأنماط المحظورة أو السجلات (registries) غير الموثوقة.
- تحقيقات جنائية أسرع – يوضح
git logالالتزام (commit) المحدد الذي أدخل حزمة ضارة.
يضمن ملف القفل (lockfile) السلامة وإمكانية إعادة الإنتاج، لكنه ليس حلاً سحريًا. فهو لن يمنع إصدارًا ضارًا تم نشره بشكل شرعي، ولا مطورًا تم اختراق حسابه.
ما يضيفه ملف القفل النصي هو الوضوح (visibility). والوضوح هو خط دفاعك الأول.
كيف تؤمن سير عمل Bun الخاص بك
- قم بتشغيل
bun install --frozen-lockfileفي CI. سيفشل البناء إذا كان ملف القفل يحتاج إلى تحديث. - قم بتشغيل
bun install --lockfile-onlyفي CI. ستتحقق من عملية الحل (resolution) دون تنفيذ سكربتات التثبيت الثقيلة. - قم بترحيل أي ملفات bun.lockb إلى bun.lock على الفور.
- اشترط المراجعة البشرية لتغييرات ملف القفل. أضف المالكين المناسبين إلى
CODEOWNERSلضمان رؤية العيون المناسبة لكل تحديث للتبعيات.
توقف عن الثقة بالأداة بشكل أعمى. تحقق من كل تغيير بدلاً من ذلك.
