ರೆಪೊಸಿಟರಿಯಲ್ಲಿರುವ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್‌ಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ NPM ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರಚಿಸುವ ಪ್ರಯೋಗ

JavaScript ಪ್ಯಾಕೇಜುಗಳ ಡೆವಲಪರ್‌ಗಳಲ್ಲಿ ಒಬ್ಬರು NPM ರೆಪೊಸಿಟರಿಯಲ್ಲಿ "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ರಚಿಸುವ ಮತ್ತು ಇರಿಸುವ ಪ್ರಯೋಗವನ್ನು ಮಾಡಿದ್ದಾರೆ, ಇದು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಅವಲಂಬನೆಗಳೊಂದಿಗೆ ಒಳಗೊಳ್ಳುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ ಐದು "@ಎವೆರಿಥಿಂಗ್-ರಿಜಿಸ್ಟ್ರಿ/ಚಂಕ್-ಎನ್" ಪ್ಯಾಕೇಜುಗಳೊಂದಿಗೆ ನೇರ ಅವಲಂಬನೆಗಳನ್ನು ಹೊಂದಿದೆ, ಇದು ಪ್ರತಿಯಾಗಿ 3000 "ಸಬ್-ಚಂಕ್-ಎನ್" ಪ್ಯಾಕೇಜುಗಳ ಮೇಲೆ ಅವಲಂಬನೆಯನ್ನು ಹೊಂದಿದೆ, ಪ್ರತಿಯೊಂದೂ ಬಂಧಿಸುತ್ತದೆ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ 800 ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪ್ಯಾಕೇಜುಗಳು.

NPM ನಲ್ಲಿ "ಎಲ್ಲವನ್ನೂ" ಇರಿಸುವುದು ಎರಡು ಆಸಕ್ತಿದಾಯಕ ಪರಿಣಾಮಗಳನ್ನು ಹೊಂದಿದೆ. ಮೊದಲನೆಯದಾಗಿ, "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ DoS ದಾಳಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಒಂದು ರೀತಿಯ ಸಾಧನವಾಗಿದೆ, ಏಕೆಂದರೆ ಅದನ್ನು ಸ್ಥಾಪಿಸುವ ಪ್ರಯತ್ನವು NPM ನಲ್ಲಿ ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಲಕ್ಷಾಂತರ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ಲಭ್ಯವಿರುವ ಡಿಸ್ಕ್ ಜಾಗವನ್ನು ಖಾಲಿ ಮಾಡುತ್ತದೆ ಅಥವಾ ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. NPM ಅಂಕಿಅಂಶಗಳ ಪ್ರಕಾರ, ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸುಮಾರು 250 ಬಾರಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಡೆವಲಪರ್ ಖಾತೆಯನ್ನು ವಿಧ್ವಂಸಕ ಕೃತ್ಯಕ್ಕೆ ಹ್ಯಾಕ್ ಮಾಡಿದ ನಂತರ ಅದನ್ನು ಮತ್ತೊಂದು ಪ್ಯಾಕೇಜ್‌ಗೆ ಅವಲಂಬನೆಯಾಗಿ ಸೇರಿಸಲು ಯಾರೂ ಚಿಂತಿಸುವುದಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, NPM ಹೋಸ್ಟ್ ಮಾಡಿದ ಹೊಸ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಮತ್ತು ಪರಿಶೀಲಿಸುವ ಕೆಲವು ಸೇವೆಗಳು ಮತ್ತು ಪರಿಕರಗಳು ತಿಳಿಯದೆ ದಾಳಿಗೆ ಒಡ್ಡಿಕೊಂಡಿವೆ.

ಎರಡನೆಯದಾಗಿ, "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಪ್ರಕಟಿಸುವುದರಿಂದ ಅದರ ಅವಲಂಬನೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ ಕೊನೆಗೊಂಡ NPM ನಲ್ಲಿ ಯಾವುದೇ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. NPM ನಿಂದ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಈಗಾಗಲೇ ಇತರ ಪ್ಯಾಕೇಜುಗಳ ಅವಲಂಬನೆಗಳಲ್ಲಿ ಬಳಸದಿದ್ದರೆ ಮಾತ್ರ ಲೇಖಕರಿಂದ ತೆಗೆದುಹಾಕಬಹುದು, ಆದರೆ "ಎಲ್ಲವೂ" ಪ್ರಕಟಣೆಯ ನಂತರ ಅವಲಂಬನೆಗಳು ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಒಳಗೊಳ್ಳುತ್ತವೆ. "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದನ್ನು ಸಹ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಎಂಬುದು ಗಮನಾರ್ಹವಾಗಿದೆ, ಏಕೆಂದರೆ 9 ವರ್ಷಗಳ ಹಿಂದೆ ಪರೀಕ್ಷಾ ಪ್ಯಾಕೇಜ್ "ಎಲ್ಲವೂ-ಬೇರೆ" ಅನ್ನು ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಇದು ಅವಲಂಬನೆಗಳ ಪಟ್ಟಿಯಲ್ಲಿ "ಎಲ್ಲವೂ" ಎಂಬ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ. ಹೀಗಾಗಿ, ಪ್ರಕಟಣೆಯ ನಂತರ, "ಎಲ್ಲವೂ" ಪ್ಯಾಕೇಜ್ ಮತ್ತೊಂದು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಅವಲಂಬಿಸಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ