Bun Lockfiles మరియు మీ సప్లై చైన్ సెక్యూరిటీ
బైనరీ లాక్ఫైల్స్ (Binary lockfiles) ఒక సెక్యూరిటీ టాక్స్ వంటివి—దీనిని మీరు తర్వాత వడ్డీతో సహా చెల్లించాల్సి ఉంటుంది.
Bun గతంలో డిపెండెన్సీలను (dependencies) bun.lockb అనే బైనరీ ఫైల్లో నిల్వ చేసేది. ఇది వేగంగా మరియు చిన్నదిగా ఉండేది, కానీ మీరు దానిని చదవలేరు. మీరు పుల్ రిక్వెస్ట్ (pull request) లో దానిని డిఫ్ (diff) చేయలేరు మరియు ఏమి మారిందో కూడా చూడలేరు.
మీరు డిపెండెన్సీ మార్పులను సమీక్షించలేనప్పుడు, మీకు ఎటువంటి పాలసీ ఉండదు—కేవలం ఒక అంచనా మాత్రమే ఉంటుంది.
Bun v1.2 డిఫాల్ట్ను టెక్స్ట్-ఆధారిత bun.lock కి మారుస్తుంది. ఇది ఒక్కటే సెక్యూరిటీ పరంగా ఒక పెద్ద విజయం.
టెక్స్ట్-ఆధారిత లాక్ఫైల్స్ ఎందుకు ముఖ్యమైనవి
- అర్థవంతమైన డిఫ్స్ (Meaningful diffs) – ఏ ప్యాకేజీలు మారాయో లేదా కదిలాయో రివ్యూయర్లు స్పష్టంగా చూడగలరు.
- సులభమైన పాలసీ చెక్స్ (Easy policy checks) – నిషేధించబడిన ప్యాటర్న్స్ లేదా నమ్మదగని రిజిస్ట్రీల కోసం CI స్కాన్ చేయగలదు.
- వేగవంతమైన ఫోరెన్సిక్స్ (Faster forensics) – ఏ కమిట్ ద్వారా హానికరమైన ప్యాకేజీ వచ్చిందో
git logఖచ్చితంగా చూపుతుంది.
లాక్ఫైల్ ఇంటిగ్రిటీ (integrity) మరియు రీప్రొడ్యూసిబిలిటీని (reproducibility) గ్యారెంటీ ఇస్తుంది, కానీ ఇది అన్ని సమస్యలకు పరిష్కారం (silver bullet) కాదు. చట్టబద్ధంగా ప్రచురించబడిన హానికరమైన వెర్షన్ను లేదా రాజీపడిన మెయింటైనర్ను (compromised maintainer) ఇది ఆపలేదు.
టెక్స్ట్ లాక్ఫైల్ ఇచ్చే అతిపెద్ద ప్రయోజనం విజిబిలిటీ (visibility). విజిబిలిటీ అనేది మీ రక్షణలో మొదటి వరుస.
మీ Bun వర్క్ఫ్లోను ఎలా సురక్షితం చేయాలి
- CIలో
bun install --frozen-lockfileరన్ చేయండి. లాక్ఫైల్ను అప్డేట్ చేయాల్సి వస్తే బిల్డ్ ఫెయిల్ అవుతుంది. - CIలో
bun install --lockfile-onlyరన్ చేయండి. భారీ ఇన్స్టాల్ స్క్రిప్ట్లను అమలు చేయకుండానే మీరు రిజల్యూషన్ను ధృవీకరించవచ్చు. - ఏవైనా bun.lockb ఫైల్లను వెంటనే bun.lock కి మైగ్రేట్ చేయండి.
- లాక్ఫైల్ మార్పుల కోసం మానవ సమీక్షను (human review) తప్పనిసరి చేయండి. ప్రతి డిపెండెన్సీ అప్డేట్ను సరైన వ్యక్తులు చూడటానికి
CODEOWNERSలో తగిన ఓనర్లను చేర్చండి.
టూల్ను గుడ్డిగా నమ్మడం ఆపండి. దానికి బదులుగా ప్రతి మార్పును ధృవీకరించండి.
