Bun लॉकफाइल्स आणि तुमची सप्लाय चेन सुरक्षा
बायनरी लॉकफाइल्स हा सुरक्षेचा एक कर आहे—तुम्ही त्याचे पैसे नंतर व्याजासह भरता.
Bun पूर्वी डिपेंडेंसीज (dependencies) bun.lockb नावाच्या बायनरी फाईलमध्ये साठवत असे. ती जलद आणि लहान होती, पण तुम्ही ती वाचू शकत नसाल. तुम्ही पुल रिक्वेस्टमध्ये (pull request) त्यातील फरक (diff) पाहू शकत नसाल आणि काय बदलले आहे हे देखील समजू शकत नसाल.
जेव्हा तुम्ही डिपेंडन्सीमधील बदल तपासू शकत नाही, तेव्हा तुमच्याकडे कोणतीही पॉलिसी नसते—फक्त एक अंदाज असतो.
Bun v1.2 डिफॉल्ट म्हणून टेक्स्ट-आधारित bun.lock वापरते. हे केवळ एक मोठे सुरक्षा यश आहे.
टेक्स्ट-आधारित लॉकफाइल्स का महत्त्वाच्या आहेत
- अर्थपूर्ण फरक (Meaningful diffs) – रिव्ह्यूअर्सना नेमके कोणते पॅकेजेस हलले किंवा बदलले आहेत ते दिसते.
- सोपे पॉलिसी चेक – CI प्रतिबंधित पॅटर्न किंवा अविश्वसनीय रजिस्ट्रीसाठी स्कॅन करू शकते.
- जलद फॉरेन्सिक (Forensics) –
git logद्वारे कोणता नेमका कमिट (commit) घातक पॅकेज घेऊन आला आहे, हे समजते.
लॉकफाइल अखंडता (integrity) आणि पुनरुत्पादकता (reproducibility) सुनिश्चित करते, परंतु ती रामबाण उपाय नाही. कायदेशीररित्या प्रकाशित केलेले एखादे घातक व्हर्जन किंवा एखादा हॅक झालेला मेंटेनर (maintainer) याला ती रोखू शकणार नाही.
टेक्स्ट लॉकफाइलमुळे मिळणारा फायदा म्हणजे दृश्यमानता (visibility). दृश्यमानता ही तुमच्या संरक्षणाची पहिली ओळ आहे.
तुमचा Bun वर्कफ्लो सुरक्षित कसा ठेवायचा
- CI मध्ये
bun install --frozen-lockfileचालवा. जर लॉकफाइल अपडेट करण्याची गरज असेल, तर बिल्ड फेल होईल. - CI मध्ये
bun install --lockfile-onlyचालवा. तुम्ही जड इन्स्टॉल स्क्रिप्ट्स न चालवता रिझोल्यूशन (resolution) तपासू शकता. - कोणत्याही bun.lockb फाईल्स त्वरित bun.lock मध्ये स्थलांतरित (migrate) करा.
- लॉकफाइलमधील बदलांसाठी मानवी रिव्ह्यूची (human review) आवश्यकता ठेवा. योग्य व्यक्तींना
CODEOWNERSमध्ये समाविष्ट करा जेणेकरून प्रत्येक डिपेंडन्सी अपडेट योग्य व्यक्तींच्या नजरेतून जाईल.
साधनावर आंधळेपणाने विश्वास ठेवणे थांबवा. त्याऐवजी प्रत्येक बदल तपासा.
