ಟಿಎಲ್; ಡಿಆರ್
ಸೆಪ್ಟೆಂಬರ್ 14, 2025 ರಂದು, ಸಂಶೋಧಕರು ಗುರುತಿಸಿದ್ದಾರೆ ಶಾಯ್ ಹುಲುದ್, ಒಳಗೆ ಅಡಗಿರುವ ಸ್ವಯಂ-ಪ್ರತಿಕೃತಿ ಮಾಡುವ ಹುಳು npm ಪ್ಯಾಕೇಜುಗಳು, ನಿಯಮಿತ ಅವಲಂಬನೆ ನವೀಕರಣವನ್ನು ಪೂರ್ಣ-ಪ್ರಮಾಣಕ್ಕೆ ಪರಿವರ್ತಿಸುವುದು ಪೂರೈಕೆ ಸರಣಿ ದಾಳಿ. ಮೊದಲು ಕಂಡುಬಂದದ್ದು @ctrl/ಟೈನಿಕಲರ್ ಡೇನಿಯಲ್ ಡಾಸ್ ಸ್ಯಾಂಟೋಸ್ ಪೆರೇರಾ ಅವರ ಪ್ಯಾಕೇಜ್, ಶೈ-ಹುಲುಡ್ ರಹಸ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಅವುಗಳನ್ನು ಗಿಟ್ಹಬ್ ರೆಪೊಗಳು ಮತ್ತು ಕೆಲಸದ ಹರಿವುಗಳ ಮೂಲಕ ಹೊರಹಾಕುತ್ತದೆ ಮತ್ತು ಕದ್ದ ರುಜುವಾತುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ನೋಂದಾವಣೆಯಾದ್ಯಂತ ಮರುಪ್ರಕಟಿಸುತ್ತದೆ. ಕೆಲವೇ ದಿನಗಳಲ್ಲಿ, ಸೋಂಕಿತ ಪ್ಯಾಕೇಜ್ಗಳ ಸಂಖ್ಯೆ ಡಜನ್ಗಳಿಂದ ನೂರಾರು ಕ್ಕೆ ಏರಿತು, ಇದು ದೃಢಪಡಿಸುತ್ತದೆ. ಶೈಹುಲುದ್ ಇದು ಕೇವಲ ಮತ್ತೊಂದು ಟ್ರೋಜನ್ ಅಲ್ಲ, ಬದಲಾಗಿ npm ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಾದ್ಯಂತ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹರಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ವರ್ಮ್ ಆಗಿದೆ.
ಪರಿಣಾಮ: ಸಾರ್ವಜನಿಕ npm ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಯಾವುದೇ ಡೆವಲಪರ್ ಅಥವಾ CI ರನ್ನರ್ ಅಪಾಯದಲ್ಲಿದೆ.
ತಕ್ಷಣದ ಕ್ರಮಗಳು: ತಿಳಿದಿರುವ ಆವೃತ್ತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಿ, ಲಾಕ್ಫೈಲ್-ಮಾತ್ರ ಸ್ಥಾಪನೆಗಳಿಗೆ ಬದಲಿಸಿ, npm ಮತ್ತು GitHub ಟೋಕನ್ಗಳನ್ನು ತಿರುಗಿಸಿ, ಕೆಲಸದ ಹರಿವುಗಳನ್ನು ಆಡಿಟ್ ಮಾಡಿ ಮತ್ತು ರಾಜಿ ಸೂಚಕಗಳಿಗಾಗಿ (IoCs) ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ.
ಏನಾಗುತ್ತದೆ?
ನಮ್ಮ npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ಶೈ-ಹುಲುದ್ ಪೂರೈಕೆ ಸರಪಳಿ ದಾಳಿ ಇತ್ತೀಚಿನ ನೆನಪಿನ ಅತ್ಯಂತ ವಿಧ್ವಂಸಕ ಘಟನೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಪ್ರತ್ಯೇಕ ಟ್ರೋಜನ್ಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, ಈ ವರ್ಮ್ ಮಿಶ್ರಣವಾಗುತ್ತದೆ ದೃಢೀಕರಣ ಕಳ್ಳತನ, ಸ್ವಯಂಚಾಲಿತ ಶೋಧನೆ ಮತ್ತು ಸ್ವಯಂ ಪ್ರತಿಕೃತಿಪರಿಣಾಮವಾಗಿ, ಸೋಂಕಿನ ಕಾಲಮಿತಿ ವಾರಗಳಿಂದ ಕೇವಲ ಗಂಟೆಗಳಿಗೆ ಕುಗ್ಗಿತು.
ಡೆವೊಪ್ಸ್ ತಂಡಗಳಿಗೆ, ಪಾಠ ಸ್ಪಷ್ಟವಾಗಿದೆ: ಪ್ರತಿ ಸ್ಥಾಪನೆಯು ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದರೆ, ಪ್ರತಿ ಅವಲಂಬನೆ ನವೀಕರಣವು ಸಂಭಾವ್ಯ ಉಲ್ಲಂಘನೆಯ ಹಂತವಾಗಿದೆ.
ಸಂಭಾವ್ಯ ಆರಂಭಿಕ ವೆಕ್ಟರ್ ಮತ್ತು ಉದ್ದೇಶಿತ ರುಜುವಾತುಗಳು
ಆರಂಭಿಕ ವಿಶ್ಲೇಷಣೆ ದಾಳಿಯು ಬಹುಶಃ ಪ್ರಾರಂಭವಾಯಿತು ಎಂದು ಸೂಚಿಸುತ್ತದೆ ಕದ್ದ ರುಜುವಾತುಗಳು. ಉದಾಹರಣೆಗೆ, npm ಅನ್ನು ವಂಚಿಸುವ ಫಿಶಿಂಗ್ ಅಭಿಯಾನಗಳು login ಅಥವಾ MFA ಪ್ರಾಂಪ್ಟ್ಗಳು ಡೆವಲಪರ್ ಟೋಕನ್ಗಳನ್ನು ಸೆರೆಹಿಡಿದಿರಬಹುದು. ದಾಳಿಕೋರರು ಮೊದಲ ಹಿಡಿತ ಸಾಧಿಸಿದ ನಂತರ, ವರ್ಮ್ npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ತನ್ನನ್ನು ತಾನು ಎಂಬೆಡ್ ಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಇವುಗಳಿಂದ ಹೆಚ್ಚಿನ ರಹಸ್ಯಗಳನ್ನು ಕದಿಯುವ ಮೂಲಕ ಹರಡಿತು:
- npm ಸಂರಚನಾ ಕಡತಗಳು ಹಾಗೆ
.npmrc, ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಕಟಣೆ ಟೋಕನ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. - ಪರಿಸರ ಅಸ್ಥಿರ ಮತ್ತು GitHub PAT ಗಳೊಂದಿಗೆ ಸಂರಚನೆಗಳು ಮತ್ತು CI/CD ರಹಸ್ಯಗಳು.
- ಕ್ಲೌಡ್ ಮೆಟಾಡೇಟಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು (AWS, GCP, Azure) ಪಾರ್ಶ್ವ ಚಲನೆಗೆ ಅಲ್ಪಾವಧಿಯ ರುಜುವಾತುಗಳನ್ನು ನೀಡುತ್ತದೆ.
ಆದ್ದರಿಂದ, ಕ್ರೆಡೆನ್ಶಿಯಲ್ ಥೆಫ್ಟ್ ಲಾಂಚ್ಪ್ಯಾಡ್ ಆಯಿತು. ಮಾನ್ಯವಾದ npm ಟೋಕನ್ಗಳು ಮತ್ತು GitHub ರಹಸ್ಯಗಳೊಂದಿಗೆ, ಶೈ-ಹುಲುದ್ ಹೆಚ್ಚುವರಿ ಮಾನವ ಪ್ರಯತ್ನವಿಲ್ಲದೆ ಬಹು ಪ್ಯಾಕೇಜ್ಗಳು ಮತ್ತು ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿ ಸ್ವಯಂ-ಪುನರಾವರ್ತನೆ ಮಾಡಬಹುದು.
ಶೈ-ಹುಲುದ್ ಸರಬರಾಜು ಸರಪಳಿ ದಾಳಿಯ ಕಾರ್ಯನಿರ್ವಾಹಕ ಪರಿಣಾಮ
ಶೈ-ಹುಲುದ್ ಇಂದಿಗೂ ಸಕ್ರಿಯವಾಗಿದೆ. ಈ ವರ್ಮ್ ಪ್ರಭಾವದ ಕಾಲಮಾನವನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ. ಒಂದು ಕಾಲದಲ್ಲಿ ಟ್ರೋಜನ್ನಿಂದ ವಾರಗಟ್ಟಲೆ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿದ್ದ ಕಾರ್ಯವು ಈಗ ಗಂಟೆಗಳಲ್ಲಿ ತೆರೆದುಕೊಳ್ಳುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಹರಡುವಿಕೆಯು ವೇಗವಾಗಿರುತ್ತದೆ ಮತ್ತು ನಿಯಂತ್ರಿಸಲು ಕಷ್ಟವಾಗುತ್ತದೆ. ಇದು ಈ ಮೂಲಕ ಮುಂದುವರಿಯುತ್ತದೆ:
- npm ಪ್ರಕಟಣೆ ಟೋಕನ್ಗಳು ಮತ್ತು GitHub ರಹಸ್ಯಗಳನ್ನು ಕದಿಯುವುದು.
- ಇತರ npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ಸ್ವತಃ ಮರುಪ್ರಕಟಿಸಲಾಗುತ್ತಿದೆ.
- ನಿರಂತರತೆಗಾಗಿ ದುರುದ್ದೇಶಪೂರಿತ GitHub ಕ್ರಿಯೆಗಳ ಕೆಲಸದ ಹರಿವುಗಳನ್ನು ಸೇರಿಸುವುದು.
ಯಾರು ಪರಿಣಾಮ ಬೀರುತ್ತಾರೆ:
ಸಾರ್ವಜನಿಕ npm ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಯಾವುದೇ ತಂಡವು ಬಹಿರಂಗಗೊಳ್ಳುತ್ತದೆ. ಇದಲ್ಲದೆ, ಕ್ಯಾಶ್ ಮಾಡಿದ npm ಅಥವಾ GitHub ಟೋಕನ್ಗಳನ್ನು ಹೊಂದಿರುವ ಡೆವಲಪರ್ಗಳು ಹೆಚ್ಚಿನ ಅಪಾಯವನ್ನು ಎದುರಿಸುತ್ತಾರೆ. ವಿಶಾಲ ವ್ಯಾಪ್ತಿಯ ರಹಸ್ಯಗಳನ್ನು ಬಳಸುವ CI ರನ್ನರ್ಗಳು ಸಹ ದುರ್ಬಲರಾಗಿರುತ್ತಾರೆ.
ವ್ಯವಹಾರ ಅಪಾಯ
ವ್ಯವಹಾರದ ಪ್ರಭಾವವು ವೇಗವಾಗಿ ಬೆಳೆಯುತ್ತದೆ. ಕದ್ದ ಟೋಕನ್ಗಳು ಖಾತೆ ಸ್ವಾಧೀನ, ಪ್ಯಾಕೇಜ್ ಅಪಹರಣ ಮತ್ತು ಕ್ಲೌಡ್ ದುರುಪಯೋಗಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು. ಇದರ ಜೊತೆಗೆ, GitHub ಕಾರ್ಯಪ್ರವಾಹಗಳಲ್ಲಿ ನಿರಂತರತೆಯು ಅದನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸಲು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ತಂಡಗಳು ಶೈ-ಹುಲುದ್ ಅನ್ನು ಮುಚ್ಚಿದ ಘಟನೆಯಾಗಿ ಅಲ್ಲ, ನಡೆಯುತ್ತಿರುವ ಘಟನೆಯಾಗಿ ಪರಿಗಣಿಸಬೇಕು.
npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ಶೈ-ಹುಲುದ್ ಸರಬರಾಜು ಸರಪಳಿ ದಾಳಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ದಾಳಿಕೋರರ ಉದ್ದೇಶಗಳು ಮತ್ತು ಉದ್ದೇಶ
ಅಭಿಯಾನವು ಮೂರು ವಿಷಯಗಳಿಗೆ ಅತ್ಯುತ್ತಮವಾಗಿಸುತ್ತದೆ:
- ಮೊದಲ ಉದ್ದೇಶವೆಂದರೆ ಪ್ರಮಾಣೀಕೃತ ದಾಖಲೆಗಳನ್ನು ಕದಿಯಿರಿ ಡೆವಲಪರ್ ಲ್ಯಾಪ್ಟಾಪ್ಗಳು ಮತ್ತು CI ರನ್ನರ್ಗಳಿಂದ. ಇದರಲ್ಲಿ npm ಪಬ್ಲಿಷ್ ಟೋಕನ್ಗಳು, GitHub ಟೋಕನ್ಗಳು ಮತ್ತು ಕ್ಲೌಡ್ ರುಜುವಾತುಗಳು ಸೇರಿವೆ. ವಾಸ್ತವವಾಗಿ, ಬಹು ವಿಶ್ಲೇಷಣೆಗಳು ಟ್ರಫಲ್ಹಾಗ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದು ಮತ್ತು ಕ್ಲೌಡ್ ಮೆಟಾಡೇಟಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಪ್ರಶ್ನಿಸುವಂತಹ ವ್ಯವಸ್ಥಿತ ರಹಸ್ಯ ಕೊಯ್ಲುಗಳನ್ನು ದೃಢೀಕರಿಸುತ್ತವೆ.
- ಎರಡನೆಯ ಉದ್ದೇಶವೆಂದರೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಸಾರ ಮಾಡಿ ರಾಜಿ ಮಾಡಿಕೊಂಡ ನಿರ್ವಹಣಾಕಾರರ ಪ್ರಕಟಣೆಯ ಹಕ್ಕುಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳುವ ಮೂಲಕ. ಪರಿಣಾಮವಾಗಿ, ಒಂದು ನೆಲೆಯು ತ್ವರಿತವಾಗಿ ಹಲವು ಆಗಿ ವಿಸ್ತರಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಇತರ ಪ್ಯಾಕೇಜ್ಗಳ ಹೊಸ ಸೋಂಕಿತ ಆವೃತ್ತಿಗಳು ಹೆಚ್ಚುವರಿ ಮಾನವ ಪ್ರಯತ್ನವಿಲ್ಲದೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ.
- ಮೂರನೆಯ ಉದ್ದೇಶವೆಂದರೆ ಸ್ಥಿರವಾಗಿ ಉಳಿಯಿರಿ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಹೊರಹಾಕಿ GitHub ಮೂಲಸೌಕರ್ಯದ ಮೂಲಕ. ದಾಳಿಕೋರರು ಡಬಲ್ ಬೇಸ್64 ನೊಂದಿಗೆ "ಶಾಯ್-ಹುಲುದ್" ಎಂಬ ಸಾರ್ವಜನಿಕ ರೆಪೊವನ್ನು ರಚಿಸುತ್ತಾರೆ. ಡೇಟಾ.ಜೆಸನ್, ಮತ್ತು ಹೆಚ್ಚುವರಿಯಾಗಿ ಅವರು ಸರಣಿ ಮಾಡುವ ಕೆಲಸದ ಹರಿವನ್ನು ನೆಡುತ್ತಾರೆ ${{ toJSON(ರಹಸ್ಯಗಳು) }} ಮತ್ತು ಅದನ್ನು ಸ್ಥಿರ ವೆಬ್ಹುಕ್ಗೆ ಪೋಸ್ಟ್ ಮಾಡುತ್ತದೆ.
ಸಂಭಾವ್ಯ ಪ್ರತಿಫಲವು ನೋಂದಣಿಗಳು ಮತ್ತು ಮೂಲ ಕೋಡ್ಗೆ ದೀರ್ಘಕಾಲೀನ ಪ್ರವೇಶ, ಕ್ಲೌಡ್ ಖಾತೆಗಳಿಗೆ ವೇಗದ ಲ್ಯಾಟರಲ್ ಚಲನೆ ಮತ್ತು ಪೂರೈಕೆ ಸರಪಳಿಯನ್ನು ಮತ್ತಷ್ಟು ಶಸ್ತ್ರಸಜ್ಜಿತಗೊಳಿಸುವ ಆಯ್ಕೆಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಸಾರ್ವಜನಿಕ ವರದಿಯು ಖಾಸಗಿ ರೆಪೊಗಳನ್ನು ಸಾರ್ವಜನಿಕರಿಗೆ ತಿರುಗಿಸಿರುವುದನ್ನು ತೋರಿಸುತ್ತದೆ "-ವಲಸೆ" ಡೇಟಾ ಮಾನ್ಯತೆ ಮತ್ತು ಆವೇಗವನ್ನು ಹೆಚ್ಚಿಸುವ ಪ್ರತ್ಯಯ
ಶೈ-ಹುಲುದ್ ಪೇಲೋಡ್ ಒಳಗೆ: ಬಂಡಲ್.ಜೆಎಸ್ npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ
ಶೈ-ಹುಲುದ್ ಹಡಗುಗಳು ದೊಡ್ಡದು, ವೆಬ್ಪ್ಯಾಕ್-ಬಂಡಲ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಹೆಚ್ಚು ಮಿನಿಫೈ ಮಾಡಲಾಗಿದೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಫೈಲ್ (ಬಂಡಲ್.ಜೆಎಸ್, ಸುಮಾರು 3–3.7 MB) ಅದು a ನಿಂದ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಪೋಸ್ಟ್ಇನ್ಸ್ಟಾಲ್ ಹುಕ್ ಇನ್ ಪ್ಯಾಕೇಜ್ಪರಿಣಾಮವಾಗಿ, ಪ್ರತಿಯೊಂದು ಅನುಸ್ಥಾಪನೆಯು ಪೇಲೋಡ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಚೋದಿಸುತ್ತದೆ. ಈ ವಿನ್ಯಾಸವು ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ಮರೆಮಾಡುತ್ತದೆ, ನಿಯಂತ್ರಣ ಹರಿವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ತರ್ಕವನ್ನು ಅನುಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಒಂದೇ ಕಲಾಕೃತಿಗೆ ತಳ್ಳುತ್ತದೆ. ವಿಶ್ಲೇಷಕರು ವೆಬ್ಪ್ಯಾಕ್ ಬಂಡಲಿಂಗ್, ಅಸಾಮಾನ್ಯ ಫೈಲ್ ಗಾತ್ರ ಮತ್ತು ಸ್ಥಾಪನೆ-ಸಮಯದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸ್ಥಿರವಾಗಿ ದೃಢೀಕರಿಸುತ್ತಾರೆ.
ನೀವು ಮಾದರಿಗಳಲ್ಲಿ ನೋಡಬಹುದಾದ ಗೊಂದಲ ಮತ್ತು ವಿಶ್ಲೇಷಣೆ-ವಿರೋಧಿ ಲಕ್ಷಣಗಳು:
- ಮಿನಿಫೈಡ್ ಮಾಡ್ಯೂಲ್ ಗ್ರಾಫ್ ಸಂಖ್ಯಾತ್ಮಕ ಮಾಡ್ಯೂಲ್ ಐಡಿಗಳು, ವಿರಳ ಕಾಮೆಂಟ್ಗಳು ಮತ್ತು ಸಮತಟ್ಟಾದ ನಿಯಂತ್ರಣ ಹರಿವಿನೊಂದಿಗೆ. ಇದಲ್ಲದೆ, ಈ ರಚನೆಯು ಹಸ್ತಚಾಲಿತ ವಿಮರ್ಶೆಯನ್ನು ಅತ್ಯಂತ ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ.
- ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತಿದೆ base64 ಪದರಗಳು ಮತ್ತು ನಿರ್ಮಾಣ ಸಹಾಯಕರ ಮೂಲಕ. ಉದಾಹರಣೆಗೆ, ಪುನರಾವರ್ತಿತ ಬೇಸ್64 ಎನ್ಕೋಡಿಂಗ್ ಮತ್ತು ಡಿಕೋಡಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿ ಹೊರಹರಿವಿನ ದಿನಚರಿಗಳಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ.
- ಡೈನಾಮಿಕ್ ಡಿಸ್ಪ್ಯಾಚ್ ಮೂಲಕ ವಿಕಸನ-ಶೈಲಿಯ ಮಾದರಿಗಳು ಮತ್ತು ರಚಿಸಿದ ಕಾರ್ಯ ದೇಹಗಳು, ಆದ್ದರಿಂದ ರನ್ಟೈಮ್ನಲ್ಲಿ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸಲು ಕೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.
- OS ಫಿಲ್ಟರಿಂಗ್ ವಿಶೇಷವಾಗಿ CI ರನ್ನರ್ಗಳು ಮತ್ತು ಡೆವಲಪರ್ ಲ್ಯಾಪ್ಟಾಪ್ಗಳಲ್ಲಿ ಲಿನಕ್ಸ್ ಮತ್ತು ಮ್ಯಾಕೋಸ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ಗೆ ಆದ್ಯತೆ ನೀಡಲು.
ಕ್ರಿಯಾತ್ಮಕ ಕೋನದಿಂದ, ಬಂಡಲ್ ಮಾಡ್ಯುಲರ್ ಆಗಿದೆ. ರೈಟ್ಅಪ್ಗಳು OS ಅನ್ವೇಷಣೆ, ಫೈಲ್ಸಿಸ್ಟಮ್ ಮತ್ತು git ರಹಸ್ಯ ಸ್ಕ್ಯಾನ್ಗಳು, ಕ್ಲೌಡ್ SDK ಪ್ರವೇಶ, GitHub API ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ನಿರ್ವಹಣೆದಾರರು ಹೊಂದಿರುವ ಇತರ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸಂಪಾದಿಸುವ ಪ್ರಸರಣ ಎಂಜಿನ್ಗಾಗಿ ಮಾಡ್ಯೂಲ್ಗಳನ್ನು ವಿವರಿಸುತ್ತವೆ. ವಾಸ್ತವವಾಗಿ, ಸ್ಟೆಪ್ಸೆಕ್ಯೂರಿಟಿ ಮತ್ತು ರಿವರ್ಸಿಂಗ್ಲ್ಯಾಬ್ಗಳು ಎರಡೂ ದುರುದ್ದೇಶಪೂರಿತ ಹುಕ್ನೊಂದಿಗೆ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನವೀಕರಿಸುವ ಕಾರ್ಯವನ್ನು ಹೈಲೈಟ್ ಮಾಡುತ್ತವೆ.
ಶೈ-ಹುಲುದ್ನಲ್ಲಿ ಇನ್ಸ್ಟಾಲ್-ಟೈಮ್ ಎಕ್ಸಿಕ್ಯೂಶನ್: npm ಪ್ಯಾಕೇಜುಗಳು ವರ್ಮ್ ಅನ್ನು ಹೇಗೆ ಪ್ರಚೋದಿಸುತ್ತವೆ
ದಾಳಿಯು ಯಾವಾಗ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಪೋಸ್ಟ್ಇನ್ಸ್ಟಾಲ್ ರನ್ ನೋಡ್ ಬಂಡಲ್.ಜೆಎಸ್. ಈ ಹಂತದಲ್ಲಿ, ಸ್ಕ್ರಿಪ್ಟ್ ಮೆಮೊರಿಯಲ್ಲಿ ಕೆಲಸದ ಸ್ಥಿತಿಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಮತ್ತು ಅನ್ಪ್ಯಾಕ್ ಮಾಡುತ್ತದೆ, ಇದು ವರ್ಮ್ನ ಪೂರ್ಣ ಕಾರ್ಯಾಚರಣೆಗೆ ಹಂತವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.
ಆವಿಷ್ಕಾರ ಮತ್ತು ಕೊಯ್ಲು
- ಪೇಲೋಡ್ ಡಂಪ್ಸ್ ಪ್ರಕ್ರಿಯೆ.env ಮತ್ತು ಹೆಚ್ಚಿನ ಎಂಟ್ರೊಪಿ ರಹಸ್ಯಗಳು ಮತ್ತು ಟೋಕನ್ ಪೂರ್ವಪ್ರತ್ಯಯಗಳಿಗಾಗಿ ಸ್ಥಳೀಯ ಫೈಲ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ. ಇದರ ಜೊತೆಗೆ, ಇದು ಟ್ರಫಲ್ಹಾಗ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ ವ್ಯಾಪ್ತಿಯನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ.
- ಇದು ಅಲ್ಪಾವಧಿಯ ರುಜುವಾತುಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಕ್ಲೌಡ್ ಮೆಟಾಡೇಟಾ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಪ್ರಶ್ನಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಕರೆಗಳು
169.254.169.254AWS ನಲ್ಲಿ ಅಥವಾmetadata.google.internalಸೋಂಕಿತ ಅತಿಥೇಯಗಳಲ್ಲಿ GCP ಹೆಚ್ಚಾಗಿ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. - ಪರಿಣಾಮವಾಗಿ, ಕಂಡುಬರುವ ಯಾವುದೇ ರುಜುವಾತುಗಳು ಹೊಸ npm ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಪ್ರಕಟಿಸಲು ಅಥವಾ GitHub ವರ್ಕ್ಫ್ಲೋಗಳನ್ನು ತಳ್ಳಲು ತಕ್ಷಣವೇ ಬಳಕೆಯಾಗುತ್ತವೆ.
ಹೊರಹಾಕುವಿಕೆ
- ವರ್ಮ್ ಹೊಸ ಗಿಟ್ಹಬ್ ರೆಪೊವನ್ನು ರಚಿಸುತ್ತದೆ, ಅದು ಶಾಯ್ ಹುಲುದ್ ಮತ್ತು ಡಬಲ್ ಬೇಸ್64-ಎನ್ಕೋಡ್ ಅನ್ನು ಬರೆಯುತ್ತದೆ
data.jsonಪ್ಲಾಟ್ಫಾರ್ಮ್ ವಿವರಗಳು, ಪರಿಸರದ ಡಂಪ್ಗಳು ಮತ್ತು ರಹಸ್ಯಗಳೊಂದಿಗೆ. ನೋಡಬಹುದಾದಂತೆ, ರಕ್ಷಕರು ಎಲ್ಲಿ ನೋಡಬೇಕೆಂದು ತಿಳಿದಿದ್ದರೆ ಈ ಗದ್ದಲದ ನಡವಳಿಕೆಯನ್ನು ಗುರುತಿಸುವುದು ಸುಲಭ. - ಇದು ಗಿಟ್ಹಬ್ ಕ್ರಿಯೆಗಳ ಕೆಲಸದ ಹರಿವನ್ನು ಸಹ ಸ್ಥಾಪಿಸುತ್ತದೆ, ಆಗಾಗ್ಗೆ ಹೆಸರಿನ ಶಾಖೆಯಲ್ಲಿ ಶೈ-ಹುಲುದ್, ಅದು ಧಾರಾವಾಹಿಯಾಗುತ್ತದೆ
${{ toJSON(secrets) }}ಮತ್ತು ಡೇಟಾವನ್ನು ಸ್ಥಿರ ವೆಬ್ಹುಕ್ಗೆ ಪೋಸ್ಟ್ ಮಾಡುತ್ತದೆ. ಇದಲ್ಲದೆ, ಯಾರಾದರೂ ಅದನ್ನು ಸಕ್ರಿಯವಾಗಿ ತೆಗೆದುಹಾಕುವವರೆಗೆ ಈ ಕೆಲಸದ ಹರಿವು ಮುಂದುವರಿಯುತ್ತದೆ.
ಪ್ರಸಾರ
- ಯಾವುದೇ ಪತ್ತೆಯಾದ npm ಟೋಕನ್ನೊಂದಿಗೆ, ಪೇಲೋಡ್ ರಾಜಿ ಮಾಡಿಕೊಂಡ ನಿರ್ವಹಣಾಕಾರರ ಒಡೆತನದ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಎಣಿಸುತ್ತದೆ. ನಂತರ, ಅದು ಪ್ರತಿ ಟಾರ್ಬಾಲ್ ಅನ್ನು ಪಡೆಯುತ್ತದೆ, bundle.js ಮತ್ತು ಪೋಸ್ಟ್ಇನ್ಸ್ಟಾಲ್ ನಮೂದನ್ನು ಇಂಜೆಕ್ಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಮರುಪ್ರಕಟಿಸುತ್ತದೆ.
- ಪರಿಣಾಮವಾಗಿ, ಡಜನ್ಗಟ್ಟಲೆ ಸೋಂಕಿತ ಪ್ಯಾಕೇಜುಗಳು ಕೆಲವೇ ಗಂಟೆಗಳಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು, ಇದು ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಾದ್ಯಂತ ಬ್ಲಾಸ್ಟ್ ತ್ರಿಜ್ಯವನ್ನು ಗುಣಿಸುತ್ತದೆ.
ನಿರಂತರತೆ ಮತ್ತು ಒಡ್ಡಿಕೊಳ್ಳುವಿಕೆ
ಈ ವರ್ಮ್ ದುರುದ್ದೇಶಪೂರಿತ ಕೆಲಸದ ಹರಿವುಗಳನ್ನು ಜೀವಂತವಾಗಿರಿಸುತ್ತದೆ ಮತ್ತು ಹಲವಾರು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಖಾಸಗಿ ರೆಪೊಗಳನ್ನು ಸಾರ್ವಜನಿಕರಿಗೆ ತಿರುಗಿಸುತ್ತದೆ. "-ವಲಸೆ" ಪ್ರತ್ಯಯ. ಒಟ್ಟಾರೆಯಾಗಿ, ಇದು ದಾಳಿಕೋರನು ನೆಲೆಯನ್ನು ಕಾಯ್ದುಕೊಳ್ಳುವುದನ್ನು ಮತ್ತು ಡೇಟಾ ಸೋರಿಕೆಯನ್ನು ಗರಿಷ್ಠಗೊಳಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.
ಕೀಲಿ ಪತ್ತೆ ಟಿಪ್ಪಣಿ
ಈ ಅಸಾಮಾನ್ಯ ಬಳಕೆ ${{ toJSON(secrets) }} ಕ್ರಿಯೆಗಳಲ್ಲಿ ಕೆಲಸದ ಹರಿವುಗಳು ಅಪರೂಪ. ಆದ್ದರಿಂದ, ಬೇಟೆಯ ಸಮಯದಲ್ಲಿ ತಂಡಗಳು ಇದನ್ನು ಹೆಚ್ಚಿನ ಸಿಗ್ನಲ್ ಸೂಚಕವಾಗಿ ಪರಿಗಣಿಸಬೇಕು.
ನೀವು ಹುಡುಕಬೇಕಾದ ಸ್ಯಾನಿಟೈಸ್ಡ್ ವರ್ಕ್ಫ್ಲೋ ಮಾದರಿ
ಈ ಅಸಾಮಾನ್ಯ ಬಳಕೆ ಗೆ JSON(ರಹಸ್ಯಗಳು) ಈ ಘಟನೆಯಲ್ಲಿ in Actions ಒಂದು ಹೈ-ಸಿಗ್ನಲ್ ಸೂಚಕವಾಗಿದೆ.
ಉನ್ನತ ಮಟ್ಟದ ಪ್ರಸರಣ ಹುಸಿ-ಸಂಕೇತ (ಸುರಕ್ಷಿತ, ವಿವರಣಾತ್ಮಕ)
ವಿಶ್ಲೇಷಕರು ಈ ಲೂಪ್ ಅನ್ನು ಪ್ರಮಾಣದಲ್ಲಿ ಗಮನಿಸಿದರು, ಇದು ಡಜನ್ಗಟ್ಟಲೆ ಸೋಂಕಿತ ಪ್ಯಾಕೇಜ್ಗಳಿಂದ ನೂರಾರು ವರೆಗೆ ತ್ವರಿತ ಜಿಗಿತವನ್ನು ವಿವರಿಸುತ್ತದೆ.
ಪ್ಯಾಕೇಜ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಇದು ಏಕೆ ಹುಳು
ವರ್ಮ್ ಎನ್ನುವುದು ಮಾಲ್ವೇರ್ ಆಗಿದ್ದು ಅದು ಪ್ರತಿ ಹಂತದಲ್ಲೂ ಹಸ್ತಚಾಲಿತ ಆಪರೇಟರ್ ಹಂತಗಳ ಅಗತ್ಯವಿಲ್ಲದೆ ತನ್ನದೇ ಆದ ಮೇಲೆ ಹರಡುತ್ತದೆ. ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ಗಳಲ್ಲಿ, ವರ್ಮ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಯಂತ್ರದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಚಲಿಸಲು ನೆಟ್ವರ್ಕ್ ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ. ಇದಕ್ಕೆ ವ್ಯತಿರಿಕ್ತವಾಗಿ, ಶೈ-ಹುಲುದ್ npm ರಿಜಿಸ್ಟ್ರಿಯೊಳಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದರ ಪರಿಣಾಮಕಾರಿ ಮಾರ್ಗವೆಂದರೆ ರುಜುವಾತು ಮರುಬಳಕೆ.
ಕದ್ದ npm ಪ್ರಕಟಣೆ ಟೋಕನ್ಗಳ ಲಾಭವನ್ನು ವರ್ಮ್ ಪಡೆಯುತ್ತದೆ. ಅದು ಮಾನ್ಯವಾದ ರುಜುವಾತುಗಳನ್ನು ಪಡೆದ ತಕ್ಷಣ, ಅದೇ ನಿರ್ವಹಣೆದಾರರ ಒಡೆತನದ ಇತರ ಪ್ಯಾಕೇಜ್ಗಳ ಅಡಿಯಲ್ಲಿ ಸೋಂಕಿತ ಆವೃತ್ತಿಗಳನ್ನು ಮರುಪ್ರಕಟಿಸುತ್ತದೆ. ತರುವಾಯ, ಆ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅನುಮಾನಾಸ್ಪದ ಡೆವಲಪರ್ಗಳು ಅಥವಾ CI ರನ್ನರ್ಗಳು ಸ್ಥಾಪಿಸುತ್ತಾರೆ ಮತ್ತು ಚಕ್ರವು ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ.
ಈ ಕಾರಣಕ್ಕಾಗಿ, ಭದ್ರತಾ ವಿಶ್ಲೇಷಕರು, ಸೇರಿದಂತೆ ಡಾರ್ಕ್ ಓದುವಿಕೆ, ಶೈ-ಹುಲುದ್ ಅನ್ನು ವರ್ಗೀಕರಿಸಿ a ಸ್ವಯಂ-ನಕಲು ಮಾಡುವ ಹುಳು ಸರಳ ಟ್ರೋಜನ್ ಅಥವಾ ಟೈಪೊಸ್ಕ್ವಾಟಿಂಗ್ ಘಟನೆಗಿಂತ. ವ್ಯತ್ಯಾಸವು ಮುಖ್ಯವಾಗಿದೆ: ಟ್ರೋಜನ್ ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಹೋಸ್ಟ್ ಅನ್ನು ರಾಜಿ ಮಾಡಿಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ವರ್ಮ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಾದ್ಯಂತ ಅದರ ಪ್ರಭಾವವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವರ್ಧಿಸುತ್ತದೆ.
"ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ" ಎಂಬ ಚೀಟ್-ಶೀಟ್
ಶೈ-ಹುಲುದ್ ಅವರ ಜೀವನಚಕ್ರವನ್ನು ಸಂಕ್ಷೇಪಿಸಲು, ಇಲ್ಲಿ ಒಂದು ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸವಿದೆcisಅದರ ಮುಖ್ಯ ಹಂತಗಳ ವಿವರಣೆ:
- ಇದರೊಂದಿಗೆ ಒಂದು ಪ್ಯಾಕೇಜ್ ಪೋಸ್ಟ್ಇನ್ಸ್ಟಾಲ್ ಸ್ಥಾಪಿಸಲಾಗಿದೆ, ಮತ್ತು
bundle.jsಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. - ಪೇಲೋಡ್ ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಡಂಪ್ ಮಾಡುತ್ತದೆ, ಫೈಲ್ಗಳು ಮತ್ತು ಜಿಟ್ ಇತಿಹಾಸವನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ, ರನ್ ಆಗುತ್ತದೆ ಟ್ರಫಲ್ಹಾಗ್, ಮತ್ತು ಕ್ಲೌಡ್ ಮೆಟಾಡೇಟಾ ಸೇವೆಗಳನ್ನು ಪ್ರಶ್ನಿಸುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಕಂಡುಬರುವ ಯಾವುದೇ ರಹಸ್ಯವು ತಕ್ಷಣವೇ ಉಪಯುಕ್ತವಾಗುತ್ತದೆ.
- ಹೊರಹಾಕುವಿಕೆ ಎರಡು ರೀತಿಯಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ: ಮೊದಲನೆಯದಾಗಿ, ಹೆಸರಿನ ಸಾರ್ವಜನಿಕ ರೆಪೊವನ್ನು ರಚಿಸುವ ಮೂಲಕ ಶಾಯ್ ಹುಲುದ್ ಡಬಲ್ ಬೇಸ್64-ಎನ್ಕೋಡ್ನೊಂದಿಗೆ
data.json; ಎರಡನೆಯದಾಗಿ, ಪೋಸ್ಟ್ ಮಾಡುವ GitHub ಕ್ರಿಯೆಗಳ ಕೆಲಸದ ಹರಿವನ್ನು ನೆಡುವ ಮೂಲಕ${{ toJSON(secrets) }}ವೆಬ್ಹುಕ್ಗೆ. - ಯಾವುದೇ ಕದ್ದ npm ಟೋಕನ್ ಬಳಸಿ, ವರ್ಮ್ ರಾಜಿ ಮಾಡಿಕೊಂಡ ನಿರ್ವಹಣಾಕಾರರ ಒಡೆತನದ ಎಲ್ಲಾ ಇತರ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅದೇ ದುರುದ್ದೇಶಪೂರಿತ ಹುಕ್ನೊಂದಿಗೆ ಮರುಪ್ರಕಟಿಸುತ್ತದೆ. ಈ ರೀತಿಯಾಗಿ, ಸೋಂಕು ವೇಗವಾಗಿ ಗುಣಿಸುತ್ತದೆ.
- ಅಂತಿಮವಾಗಿ, ಆಕ್ರಮಣಕಾರನು ಹೆಚ್ಚಿನ ರಹಸ್ಯಗಳನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತಾನೆ, ಹರಡಲು ಹೆಚ್ಚಿನ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಹೊಂದಿದ್ದಾನೆ ಮತ್ತು ನಿರಂತರತೆ GitHub ಖಾತೆಗಳು ಮತ್ತು ರೆಪೊಸಿಟರಿಗಳ ಒಳಗೆ.
ಈ ರೀತಿಯ ದಾಳಿಯನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ತಪ್ಪಿಸುವುದು ಹೇಗೆ
ಶೈ-ಹುಲುದ್ ಒಂದು ಎಚ್ಚರಿಕೆಯ ಗಂಟೆ. ಟೋಕನ್ಗಳನ್ನು ಕದ್ದು ತನ್ನನ್ನು ತಾನು ಮರುಪ್ರಕಟಿಸಿಕೊಳ್ಳುವ ಹುಳು ಭವಿಷ್ಯದ ಅಪಾಯವಲ್ಲ, ಅದು ಜೀವಂತವಾಗಿದೆ npm ಪ್ಯಾಕೇಜ್ಗಳ ಪರಿಸರ ವ್ಯವಸ್ಥೆ ಇಂದು. ಈ ರೀತಿಯದನ್ನು ತಡೆಯಲು ಪೂರೈಕೆ ಸರಣಿ ದಾಳಿ, ತಂಡಗಳಿಗೆ ಪ್ರೋಗ್ರಾಮೆಬಲ್, ಸ್ವಯಂಚಾಲಿತ ಮತ್ತು ನೇರವಾಗಿ ಜಾರಿಗೊಳಿಸಲಾದ ನಿಯಂತ್ರಣಗಳು ಬೇಕಾಗುತ್ತವೆ CI/CD pipelineರು. ಇವುಗಳು ನೀವು ಈಗಾಗಲೇ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅದೇ ರಕ್ಷಣೆಗಳಾಗಿವೆ ಕ್ಸಿಜೆನಿ.
ಗೇಟ್ನಲ್ಲಿ ಕೆಟ್ಟ ಕಲಾಕೃತಿಗಳನ್ನು ನಿಲ್ಲಿಸಿ
ಡೆವಲಪರ್ಗಳು ಅಥವಾ CI ಉದ್ಯೋಗಗಳನ್ನು ತಲುಪುವ ಮೊದಲು ನೀವು npm ಪ್ಯಾಕೇಜ್ಗಳು ಮತ್ತು ಟಾರ್ಬಾಲ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಬೇಕು. bundle.js ಫೈಲ್ಗಳು, ಅನುಮಾನಾಸ್ಪದ ನಂತರದ ಸ್ಥಾಪನೆ hooks, ಮತ್ತು ಅಸ್ಪಷ್ಟೀಕರಣ ಮಾರ್ಕರ್ಗಳು ಎಲ್ಲವೂ ಆರಂಭಿಕ ಕೆಂಪು ಧ್ವಜಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇದಲ್ಲದೆ, ಕೂಲ್-ಆಫ್ ಅವಧಿಗಳು ಮತ್ತು ಪಿನ್ ಮಾಡಿದ ಆವೃತ್ತಿಗಳನ್ನು ಜಾರಿಗೊಳಿಸುವುದು pipelines ತಾಜಾ, ಪರಿಶೀಲಿಸದ ಬಿಡುಗಡೆಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇವಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ಹಾರ್ಡನ್ CI/CD ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ
Guardrails in CI/CD ಅತ್ಯಗತ್ಯ. ಹೊಸ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಅಥವಾ ಬೈನರಿಗಳನ್ನು ಪರಿಚಯಿಸುವ ವಿಲೀನಗಳು ಅಥವಾ ಸ್ಥಾಪನೆಗಳನ್ನು ಅವರು ತಿರಸ್ಕರಿಸುತ್ತಾರೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ರಹಸ್ಯಗಳನ್ನು ಧಾರಾವಾಹಿ ಮಾಡುವ ಅಥವಾ ಬಾಹ್ಯ ಪೋಸ್ಟ್ಗಳನ್ನು ಪ್ರಯತ್ನಿಸುವ ಕೆಲಸದ ಹರಿವುಗಳನ್ನು ಅವರು ನಿರ್ಬಂಧಿಸುತ್ತಾರೆ. ತಂಡಗಳಿಗೆ ಲಾಕ್ಫೈಲ್-ಮಾತ್ರ ಸ್ಥಾಪನೆಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ (npm ci) ಎಲ್ಲೆಡೆ pipelineಆದ್ದರಿಂದ ಅವಲಂಬನಾ ಸೆಟ್ಗಳು ಪುನರುತ್ಪಾದಿಸಬಹುದಾದ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಉಳಿಯುತ್ತವೆ.
ಟೋಕನ್ ಬ್ಲಾಸ್ಟ್ ತ್ರಿಜ್ಯವನ್ನು ಕಡಿಮೆ ಮಾಡಿ
ರಹಸ್ಯಗಳು ವೈಫಲ್ಯದ ಏಕೈಕ ಬಿಂದುಗಳಾಗಿರಬಾರದು. ಕೋಡ್, ಸಂರಚನೆಗಳು ಮತ್ತು pipeline ಔಟ್ಪುಟ್ ಬಹಿರಂಗಪಡಿಸಿದ ರುಜುವಾತುಗಳು. ಟೋಕನ್ಗಳನ್ನು ಕಿರಿದಾದ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ನೋಡಬೇಕು, ಕಡಿಮೆ ಜೀವಿತಾವಧಿಯನ್ನು ನೀಡಬೇಕು ಮತ್ತು ಮಾನ್ಯತೆ ಪತ್ತೆಯಾದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತಿರುಗಿಸಬೇಕು. ನಿಯಮದಂತೆ, ಅನುಮಾನಾಸ್ಪದ ಪೋಸ್ಟ್ಇನ್ಸ್ಟಾಲ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಹೋಸ್ಟ್ನಲ್ಲಿ ಬಳಸಲಾದ ಯಾವುದೇ ಟೋಕನ್ ಅನ್ನು ರಾಜಿ ಮಾಡಿಕೊಂಡಂತೆ ಪರಿಗಣಿಸಿ.
ಹುಳುಗಳ ನಡವಳಿಕೆಯನ್ನು ಮೊದಲೇ ನೋಡಿ
ಅಸಂಗತತೆ ಪತ್ತೆ ಪ್ರಮುಖವಾದದ್ದು. ಉದಾಹರಣೆಗೆ, npm ನಲ್ಲಿ ಹಠಾತ್ ಸ್ಪೈಕ್ಗಳು ಈವೆಂಟ್ಗಳನ್ನು ಪ್ರಕಟಿಸುವುದು, ಕಾರಣವಿಲ್ಲದೆ ಕಾಣಿಸಿಕೊಳ್ಳುವ ಹೊಸ ಕೆಲಸದ ಹರಿವುಗಳು ಅಥವಾ ವಿಚಿತ್ರ ಎನ್ಕೋಡ್ ಮಾಡಿದ ಫೈಲ್ಗಳಿಂದ ತುಂಬಿದ ಹೊಸ ಸಾರ್ವಜನಿಕ ರೆಪೊಗಳು ಎಲ್ಲವೂ ವರ್ಮ್ ಚಟುವಟಿಕೆಯನ್ನು ಸೂಚಿಸಬಹುದು. ಆದ್ದರಿಂದ, ತಂಡಗಳು ತ್ವರಿತವಾಗಿ ಎಚ್ಚರಿಕೆಗಳನ್ನು ನೀಡಬೇಕು ಮತ್ತು ಈ ಎಚ್ಚರಿಕೆ ಚಿಹ್ನೆಗಳನ್ನು ತೋರಿಸುವ ಯಾವುದೇ ನಿರ್ವಹಣಾಕಾರರು ಅಥವಾ ಓಟಗಾರರನ್ನು ಪ್ರತ್ಯೇಕಿಸಬೇಕು.
ನಿರ್ಮಾಣಗಳನ್ನು ಮುರಿಯದೆ ತ್ವರಿತವಾಗಿ ಸರಿಪಡಿಸಿ
ವೇಗ ಮತ್ತು ಸುರಕ್ಷತೆ ಒಟ್ಟಿಗೆ ಹೋಗಬೇಕು. ಸ್ವಯಂಚಾಲಿತ pull requests ರಾಜಿ ಮಾಡಿಕೊಂಡ npm ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿದ ಆವೃತ್ತಿಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದು. ಜೊತೆಗೆ, ತಲುಪುವಿಕೆ ಮತ್ತು ಶೋಷಣೆ ವಿಶ್ಲೇಷಣೆಯು ಅಪ್ಗ್ರೇಡ್ಗಳು ಕನಿಷ್ಠ ಮತ್ತು ಸ್ಥಿರವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಅಂತಿಮವಾಗಿ, ಮಾನ್ಯತೆ ದೃಢಪಟ್ಟ ನಂತರ ಕ್ಲೀನ್ ಇಮೇಜ್ಗಳಿಂದ ಪೀಡಿತ CI ರನ್ನರ್ಗಳನ್ನು ಪುನರ್ನಿರ್ಮಿಸಿ, ದಾಳಿಯು ಮತ್ತಷ್ಟು ಹರಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.
ರಾಜಿ ಸೂಚಕಗಳು (IoCs)
ಶೈ-ಹುಲುದ್ ಅವರನ್ನು ವಿಶ್ಲೇಷಿಸುವಾಗ, ತಂಡಗಳು ಎರಡನ್ನೂ ಗಮನಿಸಬೇಕು ಸ್ಥಿರ IoC ಗಳು ಫೈಲ್ಗಳಲ್ಲಿ ಮತ್ತು ವರ್ತನೆಯ IoC ಗಳು in pipelineರು. ಈ ಸಂಕೇತಗಳು ಒಟ್ಟಾಗಿ ಸೋಂಕುಗಳನ್ನು ಮೊದಲೇ ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ಹುಳು ಮತ್ತಷ್ಟು ಹರಡುವ ಮೊದಲು ಪ್ರತಿಕ್ರಿಯಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಸ್ಥಿರ IoC ಗಳು
ಕೆಳಗಿನ SHA-256 ಡೈಜೆಸ್ಟ್ಗಳ ಹೊಂದಾಣಿಕೆಯನ್ನು ಗಮನಿಸಲಾಗಿದೆ. bundle.js ಮಾದರಿಗಳು:
- 46faab8ab153fae6e80e7cca38eab363075bb524edd79e42269217a083628f09
- 81d2a004a1bca6ef87a1caf7d0e0b355ad1764238e40ff6d1b1cb77ad4f595c3
- dc67467a39b70d1cd4c1f7f7a459b35058163592f4a9e8fb4dffcbba98ef210c
ಹೆಚ್ಚುವರಿಯಾಗಿ, ಈ ಪುನರಾವರ್ತಿತ ಮಾದರಿಗಳನ್ನು ಗಮನಿಸಿ:
- A
bundle.jsಪ್ಯಾಕೇಜ್ ಮೂಲದಲ್ಲಿ. "postinstall": "node bundle.js"ಒಳಗೆpackage.json.- ಹೆಸರಿನ ರೆಪೊಸಿಟರಿಗಳು ಶಾಯ್ ಹುಲುದ್.
- ಒಳಗೊಂಡಿರುವ GitHub ಕಾರ್ಯಪ್ರವಾಹಗಳು
${{ toJSON(secrets) }}.
ವರ್ತನೆಯ IoC ಗಳು
ಫೈಲ್ ಸಹಿಗಳನ್ನು ಮೀರಿ, ವರ್ಮ್ ಚಟುವಟಿಕೆಯು ನಡವಳಿಕೆಯ ಮೂಲಕ ಸ್ವತಃ ಪ್ರಕಟವಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ:
- ಒಬ್ಬ ನಿರ್ವಾಹಕರಿಂದ npm ಪ್ರಕಟಣೆಯ ಘಟನೆಗಳ ಹಠಾತ್ ಸ್ಫೋಟಗಳು.
- ಡೇಟಾವನ್ನು ಬಾಹ್ಯ ಅಂತ್ಯಬಿಂದುಗಳಿಗೆ ತಳ್ಳುವ ಹೊಸ ಕೆಲಸದ ಹರಿವುಗಳು.
- CI ರನ್ನರ್ಗಳಿಂದ ಹೊರಹೋಗುವ POST ವಿನಂತಿಗಳನ್ನು ಪ್ರಚೋದಿಸಲಾಗಿದೆ.
- ಇತ್ತೀಚೆಗೆ ಎನ್ಕೋಡ್ ಮಾಡಿದ ಬ್ಲಾಬ್ಗಳೊಂದಿಗೆ ಸಾರ್ವಜನಿಕ ರೆಪೊಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ.
ತ್ವರಿತ ಬೇಟೆಗಳು
ತೀರ್ಮಾನ: ಶೈ-ಹುಲುದ್ನಿಂದ ಪಾಠಗಳು
ನಮ್ಮ ಶಾಯಿ-ಹುಲುದ್ ಪೂರೈಕೆ ಸರಪಳಿ ದಾಳಿ npm ಪ್ಯಾಕೇಜ್ಗಳಲ್ಲಿ ಇಂದಿನ ಸಾಫ್ಟ್ವೇರ್ ಪೂರೈಕೆ ಸರಪಳಿ ಎಷ್ಟು ದುರ್ಬಲವಾಗಿದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. ಈ ವರ್ಮ್ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಿದೆ. ಅದು ಟೋಕನ್ಗಳನ್ನು ಕದ್ದು, ಡೇಟಾವನ್ನು ಕಳುಹಿಸಿತು ಮತ್ತು ನಂತರ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಪ್ರಕಟಿಸಿತು. ಈ ಕಾರಣದಿಂದಾಗಿ, ದಾಳಿಯು ವಾರಗಳ ಬದಲು ಗಂಟೆಗಳಲ್ಲಿ ಹರಡಿತು.
ಡೆವಲಪರ್ಗಳು ಮತ್ತು ಡೆವೊಪ್ಸ್ ತಂಡಗಳಿಗೆ, ಪಾಠಗಳು ಸ್ಪಷ್ಟವಾಗಿವೆ:
- ಪ್ರತಿಯೊಂದು ಅನುಸ್ಥಾಪನೆಯು ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡುತ್ತದೆ. ಸಾಮಾನ್ಯ npm ಪ್ಯಾಕೇಜ್ ಕೂಡ postinstall ವರ್ಮ್ ಅನ್ನು ಮರೆಮಾಡಬಹುದು.
- ಪ್ರತಿಯೊಂದು ಟೋಕನ್ ಹೆಚ್ಚಿನ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಒಮ್ಮೆ ಕದ್ದ ನಂತರ, ಅದನ್ನು ಮಾಲ್ವೇರ್ ಅನ್ನು ಮತ್ತಷ್ಟು ಹರಡಲು ಬಳಸಬಹುದು.
- ಪ್ರತಿ pipeline ತಪಾಸಣೆಗಳ ಅಗತ್ಯವಿದೆ. ಇಲ್ಲದೆ guardrails ಅವಲಂಬನೆಗಳು, ಕೆಲಸದ ಹರಿವುಗಳು ಮತ್ತು ರಹಸ್ಯಗಳ ಮೇಲೆ, ಒಂದು ರಾಜಿ ತ್ವರಿತವಾಗಿ ಉತ್ಪಾದನೆಯನ್ನು ಹೊಡೆಯಬಹುದು.
ಆದ್ದರಿಂದ, ಶೈ-ಹುಲುದ್ನಂತಹ ದಾಳಿಗಳನ್ನು ನಿಲ್ಲಿಸಲು ಸ್ವಯಂಚಾಲಿತ ಮತ್ತು ಜಾರಿಗೊಳಿಸಲು ಸುಲಭವಾದ ನಿಯಂತ್ರಣಗಳು ಬೇಕಾಗುತ್ತವೆ. ತಂಡಗಳು ಸ್ಥಾಪಿಸುವ ಮೊದಲು npm ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಬೇಕು, ಲಾಕ್ಫೈಲ್ ಬಿಲ್ಡ್ಗಳನ್ನು ಬಳಸಬೇಕು, ವಿಚಿತ್ರ ಪ್ರಕಾಶನ ಚಟುವಟಿಕೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಬೇಕು ಮತ್ತು ಟೋಕನ್ಗಳನ್ನು ಅಲ್ಪಕಾಲಿಕವಾಗಿರಿಸಿಕೊಳ್ಳಬೇಕು. ಈ ಹಂತಗಳು ಇನ್ನು ಮುಂದೆ ಐಚ್ಛಿಕವಾಗಿರುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅವು ಆಧುನಿಕ pipelines.
ಕ್ಸಿಜೆನಿಯಲ್ಲಿ, ನಾವು ಶೈ-ಹುಲುದ್ ಪೂರೈಕೆ ಸರಪಳಿ ದಾಳಿಯನ್ನು ಸಂಪೂರ್ಣ ಮುಕ್ತ ಮೂಲ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಎಚ್ಚರಿಕೆಯಾಗಿ ನೋಡುತ್ತೇವೆ. ಮುಂದೆ ಸುಸ್ಥಿರ ಮಾರ್ಗವೆಂದರೆ ಪೂರೈಕೆ ಸರಪಳಿ ಭದ್ರತೆಯನ್ನು ನೇರವಾಗಿ ಅಭಿವೃದ್ಧಿ ಪ್ರಕ್ರಿಯೆಗೆ ತರುವುದು, ಅಲ್ಲಿ ಕೋಡ್, npm ಪ್ಯಾಕೇಜ್ಗಳು ಮತ್ತು pipelineಸಂಪರ್ಕಪಡಿಸಿ.
ಶೈ-ಹುಲುದ್ನಲ್ಲಿ ರಾಜಿ ಮಾಡಿಕೊಂಡಿರುವಂತೆ ವರದಿಯಾಗಿರುವ npm ಪ್ಯಾಕೇಜ್ಗಳು ಮತ್ತು ಆವೃತ್ತಿಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿ ಕೆಳಗೆ ಇದೆ. ನಿಮ್ಮ ಲಾಕ್ಫೈಲ್ಗಳು, ನೋಂದಣಿಗಳು ಮತ್ತು CI ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಇದನ್ನು ಬಳಸಿ. pipelineಮಾನ್ಯತೆಗಾಗಿ ರು.
ಅಪಾಯಕ್ಕೀಡಾದ ಪ್ಯಾಕೇಜ್ಗಳ ಪಟ್ಟಿ
📦 ರಾಜಿ ಮಾಡಿಕೊಂಡ npm ಪ್ಯಾಕೇಜ್ಗಳ ಪೂರ್ವವೀಕ್ಷಣೆ
| ಪ್ಯಾಕೇಜ್ ಹೆಸರು | ಆವೃತ್ತಿ | ದಿನಾಂಕ ಪ್ರಕಟಿಸಿ |
|---|---|---|
| json-ನಿಯಮಗಳು-ಎಂಜಿನ್-ಸರಳೀಕೃತ | 0.2.1 | 2025-09-14T17:58:51.203Z |
| ವಿಮಾನ ಚಾಲಕ | 0.8.8 | 2025-09-14T18:35:07.600Z |
| ಎಂಸಿಪಿ-ಜ್ಞಾನ-ಗ್ರಾಫ್ | 1.2.1 | 2025-09-14T18:35:09.494Z |
| ವಾಯುಸೇನಾ ಮುಖ್ಯಸ್ಥ | 0.3.1 | 2025-09-14T18:35:09.521Z |
| ಜಂಪ್ಗೇಟ್ | 0.0.2 | 2025-09-14T18:35:09.651Z |
| ಟಿವಿ-ಕ್ಲೈ | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/ಕಾಲ್ಬ್ಯಾಕ್-ವಿಂಡೋ | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-ಡೆವ್/ಎಪಿಐ | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-ಡೆವ್/ಜೆಎಸ್ | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-ಡೆವ್/ಮುಯಿ | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-ಡೆವ್/ಕೋರ್ | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/ರಿಯಾಕ್ಟ್-ಟೇಬಲ್ | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/ಡೆಮೊ | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-ಮ್ಯಾನೇಜರ್ | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/ಲಾಗರ್ | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/ಲಾಗರ್ | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/ಮೌಲ್ಯಮಾಪನ | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/ಕೋರ್ | 0.2.1 | 2025-09-14T20:45:55.888Z |
➡️ ರಾಜಿ ಮಾಡಿಕೊಂಡ ಪ್ಯಾಕೇಜ್ಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು ವೀಕ್ಷಿಸಿ
| ಪ್ಯಾಕೇಜ್ ಹೆಸರು | ಆವೃತ್ತಿ | ದಿನಾಂಕ ಪ್ರಕಟಿಸಿ |
|---|---|---|
| json-ನಿಯಮಗಳು-ಎಂಜಿನ್-ಸರಳೀಕೃತ | 0.2.1 | 2025-09-14T17:58:51.203Z |
| ವಿಮಾನ ಚಾಲಕ | 0.8.8 | 2025-09-14T18:35:07.600Z |
| ಎಂಸಿಪಿ-ಜ್ಞಾನ-ಗ್ರಾಫ್ | 1.2.1 | 2025-09-14T18:35:09.494Z |
| ವಾಯುಸೇನಾ ಮುಖ್ಯಸ್ಥ | 0.3.1 | 2025-09-14T18:35:09.521Z |
| ಜಂಪ್ಗೇಟ್ | 0.0.2 | 2025-09-14T18:35:09.651Z |
| ಟಿವಿ-ಕ್ಲೈ | 0.1.5 | 2025-09-14T18:35:10.996Z |
| @thangved/ಕಾಲ್ಬ್ಯಾಕ್-ವಿಂಡೋ | 1.1.4 | 2025-09-14T20:31:38.479Z |
| @tnf-ಡೆವ್/ಎಪಿಐ | 1.0.8 | 2025-09-14T20:31:39.547Z |
| @tnf-ಡೆವ್/ಜೆಎಸ್ | 1.0.8 | 2025-09-14T20:31:41.251Z |
| @tnf-ಡೆವ್/ಮುಯಿ | 1.0.8 | 2025-09-14T20:31:41.259Z |
| @tnf-ಡೆವ್/ಕೋರ್ | 1.0.8 | 2025-09-14T20:31:42.728Z |
| @teselagen/ರಿಯಾಕ್ಟ್-ಟೇಬಲ್ | 6.10.20 | 2025-09-14T20:37:08.597Z |
| @hestjs/ಡೆಮೊ | 0.1.2 | 2025-09-14T20:45:52.348Z |
| @nexe/eslint-config | 0.1.1 | 2025-09-14T20:45:53.625Z |
| @hestjs/eslint-config | 0.1.2 | 2025-09-14T20:45:55.044Z |
| @nexe/config-ಮ್ಯಾನೇಜರ್ | 0.1.1 | 2025-09-14T20:45:55.066Z |
| @nexe/ಲಾಗರ್ | 0.1.3 | 2025-09-14T20:45:55.170Z |
| @hestjs/ಲಾಗರ್ | 0.1.6 | 2025-09-14T20:45:55.197Z |
| @hestjs/ಮೌಲ್ಯಮಾಪನ | 0.1.6 | 2025-09-14T20:45:55.595Z |
| @hestjs/ಕೋರ್ | 0.2.1 | 2025-09-14T20:45:55.888Z |
| @hestjs/cqrs | 0.1.6 | 2025-09-14T20:45:55.966Z |
| @hestjs/ಸ್ಕೇಲಾರ್ | 0.1.7 | 2025-09-14T20:45:56.386Z |
| ng2-ಫೈಲ್-ಅಪ್ಲೋಡ್ | 7.0.3 | 2025-09-15T02:44:29.555Z |
| ಕೆಪಾಸಿಟರ್-ಅಧಿಸೂಚನೆ ಹ್ಯಾಂಡ್ಲರ್ | 0.0.2 | 2025-09-15T04:54:48.431Z |
| ಕೆಪಾಸಿಟರ್-ಪ್ಲಗಿನ್-ವೋನೇಜ್ | 1.0.2 | 2025-09-15T04:54:48.501Z |
| ಕೆಪಾಸಿಟರ್-ಪ್ಲಗಿನ್-ಹೆಲ್ತ್ಆಪ್ | 0.0.2 | 2025-09-15T04:54:48.704Z |
| ಕೆಪಾಸಿಟರ್ ಆಂಡ್ರಾಯ್ಡ್ ಅನುಮತಿಗಳು | 0.0.4 | 2025-09-15T04:54:48.753Z |
| VoIP-ಕಾಲ್ಕಿಟ್ | 1.0.2 | 2025-09-15T04:54:49.223Z |
| ಕೆಪಾಸಿಟರ್-ಪ್ಲಗಿನ್-ಐಹೆಲ್ತ್ | 1.1.8 | 2025-09-15T04:55:08.113Z |
| @art-ws/common | 2.0.22 | 2025-09-15T05:21:15.411Z |
| @art-ws/config-eslint | 2.0.4 | 2025-09-15T05:21:17.199Z |
| ngx-ws ಕನ್ನಡ in ನಲ್ಲಿ | 1.1.5 | 2025-09-15T05:21:17.514Z |
| @art-ws/slf | 2.0.15 | 2025-09-15T05:21:17.524Z |
| @art-ws/http-ಸರ್ವರ್ | 2.0.21 | 2025-09-15T05:21:17.745Z |
| pm2-gelf-json | 1.0.4 | 2025-09-15T05:21:18.413Z |
| @art-ws/di | 2.0.28 | 2025-09-15T05:21:18.488Z |
| @art-ws/di-node | 2.0.13 | 2025-09-15T05:21:18.849Z |
| @art-ws/config-ts | 2.0.7 | 2025-09-15T05:21:19.408Z |
| @art-ws/db-ಸಂದರ್ಭ | 2.0.21 | 2025-09-15T05:21:19.814Z |
| @art-ws/openapi | 0.1.9 | 2025-09-15T05:21:19.969Z |
| @art-ws/ವೆಬ್-ಆ್ಯಪ್ | 1.0.3 | 2025-09-15T05:21:20.383Z |
| @art-ws/ssl-ಮಾಹಿತಿ | 1.0.9 | 2025-09-15T05:21:20.927Z |




