Bun Lockfiles এবং আপনার সাপ্লাই চেইন সিকিউরিটি

বাইনারি লকফাইল হলো একটি সিকিউরিটি ট্যাক্স—যার মূল্য আপনাকে পরে সুদে-আসলে দিতে হবে।

Bun আগে ডিপেন্ডেন্সিগুলো bun.lockb নামক একটি বাইনারি ফাইলে সংরক্ষণ করত। এটি দ্রুত এবং ছোট ছিল, কিন্তু আপনি এটি পড়তে পারতেন না। আপনি পুল রিকোয়েস্টে (pull request) এর ডিফ (diff) দেখতে পারতেন না এবং কী পরিবর্তন হয়েছে তাও বুঝতে পারতেন না।

যখন আপনি কোনো ডিপেন্ডেন্সি পরিবর্তন রিভিউ করতে পারেন না, তখন আপনার কোনো পলিসি থাকে না—শুধু অনুমানের ওপর নির্ভর করতে হয়।

Bun v1.2 ডিফল্ট হিসেবে টেক্সট-ভিত্তিক bun.lock ব্যবহার শুরু করেছে। এটি এককভাবে সিকিউরিটির ক্ষেত্রে একটি বড় সাফল্য।

কেন টেক্সট-ভিত্তিক লকফাইল গুরুত্বপূর্ণ

  • অর্থবহ ডিফ (Meaningful diffs) – রিভিউয়াররা দেখতে পান ঠিক কোন প্যাকেজগুলো সরানো হয়েছে বা পরিবর্তিত হয়েছে।
  • সহজ পলিসি চেক – CI নিষিদ্ধ প্যাটার্ন বা অনির্ভরযোগ্য রেজিস্ট্রি স্ক্যান করতে পারে।
  • দ্রুত ফরেনসিক বিশ্লেষণgit log ঠিক সেই কমিটটি দেখিয়ে দেয় যা একটি ম্যালিশিয়াস প্যাকেজ যুক্ত করেছিল।

একটি লকফাইল ইন্টিগ্রিটি এবং রিব্রোডিউসিবিলিটি নিশ্চিত করে, তবে এটি কোনো জাদুকরী সমাধান (silver bullet) নয়। এটি বৈধভাবে প্রকাশিত কোনো ম্যালিশিয়াস ভার্সন বা কোনো কম্প্রোমাইজড মেইনটেইনারকে আটকাতে পারবে না।

টেক্সট লকফাইল যা যোগ করে তা হলো ভিজিবিলিটি। ভিজিবিলিটি হলো আপনার প্রতিরক্ষার প্রথম স্তর।

কীভাবে আপনার Bun ওয়ার্কফ্লো সুরক্ষিত করবেন

  • CI-তে bun install --frozen-lockfile চালান। যদি লকফাইল আপডেট করার প্রয়োজন হয়, তবে বিল্ডটি ফেইল করবে।
  • CI-তে bun install --lockfile-only চালান। এর মাধ্যমে আপনি ভারী ইন্সটল স্ক্রিপ্ট না চালিয়েই রেজোলিউশন যাচাই করতে পারেন।
  • যেকোনো bun.lockb ফাইল এখনই bun.lock-এ মাইগ্রেট করুন।
  • লকফাইল পরিবর্তনের জন্য মানুষের রিভিউ নিশ্চিত করুন। CODEOWNERS-এ যথাযথ ওনারদের যুক্ত করুন যাতে সঠিক ব্যক্তি প্রতিটি ডিপেন্ডেন্সি আপডেট দেখতে পান।

টুলটিকে অন্ধভাবে বিশ্বাস করা বন্ধ করুন। পরিবর্তে প্রতিটি পরিবর্তন যাচাই করুন।

উৎস: https://dev.to/kunal_d6a8fea2309e1571ee7/bun-lockfile-bunlockb-format-threat-model-ci-checks-2026-4i3b