రిపోజిటరీలోని అన్ని ప్యాకేజీలపై ఆధారపడి ఉండే NPM ప్యాకేజీని రూపొందించడంలో ప్రయోగం చేయండి

JavaScript ప్యాకేజీల డెవలపర్‌లలో ఒకరు NPM రిపోజిటరీలో “ప్రతిదీ” ప్యాకేజీని సృష్టించడం మరియు ఉంచడంపై ప్రయోగాలు చేశారు, ఇది రిపోజిటరీలో ఇప్పటికే ఉన్న అన్ని ప్యాకేజీలను డిపెండెన్సీలతో కవర్ చేస్తుంది. ఈ లక్షణాన్ని అమలు చేయడానికి, “ప్రతిదీ” ప్యాకేజీకి ఐదు “@ఎవ్రీథింగ్-రిజిస్ట్రీ/చంక్-ఎన్” ప్యాకేజీలతో నేరుగా డిపెండెన్సీలు ఉన్నాయి, ఇవి 3000 కంటే ఎక్కువ “సబ్-చంక్-ఎన్” ప్యాకేజీలపై ఆధారపడి ఉంటాయి, వీటిలో ప్రతి ఒక్కటి కట్టుబడి ఉంటుంది రిపోజిటరీలో ఉన్న 800 ప్యాకేజీలు.

NPMలో "ప్రతిదీ" ఉంచడం వలన రెండు ఆసక్తికరమైన ప్రభావాలు ఉన్నాయి. ముందుగా, “ప్రతిదీ” ప్యాకేజీ DoS దాడులను నిర్వహించడానికి ఒక రకమైన సాధనంగా మారింది, ఎందుకంటే దీన్ని ఇన్‌స్టాల్ చేసే ప్రయత్నం NPMలో హోస్ట్ చేయబడిన మిలియన్ల ప్యాకేజీలను డౌన్‌లోడ్ చేయడానికి మరియు అందుబాటులో ఉన్న డిస్క్ స్థలాన్ని ఖాళీ చేయడానికి లేదా బిల్డ్ ప్రాసెస్‌ల అమలును ఆపడానికి దారితీస్తుంది. NPM గణాంకాల ప్రకారం, ప్యాకేజీ దాదాపు 250 సార్లు డౌన్‌లోడ్ చేయబడింది, అయితే డెవలపర్ ఖాతా విధ్వంసానికి పాల్పడిన తర్వాత దానిని మరొక ప్యాకేజీకి డిపెండెన్సీగా జోడించడానికి ఎవరూ బాధపడరు. అదనంగా, NPM ద్వారా హోస్ట్ చేయబడిన కొత్త ప్యాకేజీలను పర్యవేక్షించే మరియు తనిఖీ చేసే కొన్ని సేవలు మరియు సాధనాలు తెలియకుండానే దాడికి గురయ్యాయి.

రెండవది, “ప్రతిదీ” ప్యాకేజీని ప్రచురించడం వలన NPMలో దాని డిపెండెన్సీల జాబితాలో ఉన్న ఏవైనా ప్యాకేజీలను తొలగించే సామర్థ్యాన్ని సమర్థవంతంగా నిరోధించారు. NPM నుండి ఒక ప్యాకేజీని ఇతర ప్యాకేజీల డిపెండెన్సీలలో ఇప్పటికే ఉపయోగించనట్లయితే మాత్రమే రచయిత తీసివేయవచ్చు, కానీ "ప్రతిదీ" ప్రచురణ తర్వాత డిపెండెన్సీలు రిపోజిటరీలోని అన్ని ప్యాకేజీలను కవర్ చేయడానికి మారాయి. 9 సంవత్సరాల క్రితం రిపోజిటరీలో "ప్రతిదీ-మిగతా" అనే టెస్ట్ ప్యాకేజీ పోస్ట్ చేయబడినందున, డిపెండెన్సీల జాబితాలో "ప్రతిదీ" అనే స్ట్రింగ్‌ను కలిగి ఉన్నందున, "ప్రతిదీ" ప్యాకేజీ యొక్క తొలగింపు కూడా బ్లాక్ చేయబడటం గమనార్హం. అందువలన, ప్రచురణ తర్వాత, "ప్రతిదీ" ప్యాకేజీ మరొక ప్యాకేజీపై ఆధారపడి ఉంటుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి