ਡਿਵੈਲਪਰਾਂ ਲਈ ਪੈਕੇਜ-ਲਾਕ.ਜੇਐਸਓਐਨ ਕਿਉਂ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ
Node.js ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ, package-lock.json ਸਿਰਫ਼ package.json ਦੀ ਇੱਕ ਸਾਥੀ ਫਾਈਲ ਨਹੀਂ ਹੈ। ਇਹ ਹਰੇਕ ਸਥਾਪਿਤ ਨਿਰਭਰਤਾ ਦੇ ਸਹੀ ਸੰਸਕਰਣਾਂ ਨੂੰ ਲਾਕ ਡਾਊਨ ਕਰਦੀ ਹੈ, ਜਿਸ ਵਿੱਚ ਨੇਸਟਡ ਵੀ ਸ਼ਾਮਲ ਹਨ। ਇਹ ਫਾਈਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪ੍ਰਜਨਨਯੋਗਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਅਤੇ ਨਵੇਂ ਪੈਕੇਜ ਸੰਸਕਰਣ ਪ੍ਰਕਾਸ਼ਿਤ ਹੋਣ 'ਤੇ ਅਚਾਨਕ ਤਬਦੀਲੀਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ। ਇਸ ਤੋਂ ਬਿਨਾਂ, ਡਿਵੈਲਪਰ ਨਿਰਭਰਤਾ ਰੁੱਖਾਂ ਨੂੰ ਬਦਲਣ ਕਾਰਨ ਵਿਕਾਸ, ਟੈਸਟ ਅਤੇ ਉਤਪਾਦਨ ਪੜਾਵਾਂ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਵਿਵਹਾਰਾਂ ਦਾ ਜੋਖਮ ਲੈਣਗੇ, ਅਤੇ ਜੇਕਰ ਗਲਤੀਆਂ ਲਾਕਫਾਈਲ ਵਿੱਚ ਖਿਸਕ ਜਾਂਦੀਆਂ ਹਨ ਤਾਂ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਦਾ ਦਰਵਾਜ਼ਾ ਵੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹਨ।
ਜਦੋਂ ਸਹੀ ਢੰਗ ਨਾਲ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ package-lock.json ਤੁਹਾਡੀ ਟੀਮ ਦੇ ਹਰ ਕਿਸੇ ਨੂੰ ਅਤੇ ਤੁਹਾਡੇ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ CI/CD pipeline ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ ਉਹੀ ਕੋਡ। ਪਰ ਇਸ ਫਾਈਲ ਵਿੱਚ ਇੱਕ ਚੁੱਪ ਟਾਈਪੋ ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਸਿੱਧੇ ਜਾਲ ਵਿੱਚ ਭੇਜ ਸਕਦੀ ਹੈ।
ਟਾਈਪੋਜ਼ NPM ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਹਮਲਿਆਂ ਵੱਲ ਕਿਵੇਂ ਲੈ ਜਾਂਦੇ ਹਨ?
ਮੰਨ ਲਓ ਕਿ ਇੱਕ ਜਾਇਜ਼ ਪੈਕੇਜ ਪੈਕੇਜ.ਜਸਨ ਸਹੀ ਲਿਖਿਆ ਹੈ, ਜਿਵੇਂ ਕਿ lodash. ਪਰ ਇੱਕ ਗਲਤ ਟਾਈਪ ਕੀਤੀ ਐਂਟਰੀ package-lock.json, ਜਿਵੇ ਕੀ ਲੋਡਾਸ, ਅਜੇ ਵੀ ਤੁਹਾਡੇ ਨਿਰਭਰਤਾ ਟ੍ਰੀ ਵਿੱਚ ਘੁਸਪੈਠ ਕਰ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜੇਕਰ ਕਿਸੇ ਨੇ ਇਸਨੂੰ ਹੱਥੀਂ ਸੰਪਾਦਿਤ ਕੀਤਾ ਹੋਵੇ ਜਾਂ ਕਿਸੇ ਨੁਕਸਦਾਰ ਟੂਲ ਨੇ ਇਸਨੂੰ ਲਿਖਿਆ ਹੋਵੇ।
ਹਮਲਾਵਰ ਇਹਨਾਂ ਟਾਈਪਿੰਗ ਗਲਤੀਆਂ 'ਤੇ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਨਾਮਕ ਤਕਨੀਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਉਹ ਮਸ਼ਹੂਰ ਨਾਮਾਂ ਨਾਲ ਮਿਲਦੇ-ਜੁਲਦੇ ਖਤਰਨਾਕ ਪੈਕੇਜ ਅਪਲੋਡ ਕਰਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ, ਰੀਐਕਟ-ਡੋਮ, ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ, ਕੋਣੀ). ਜੇਕਰ ਤੁਹਾਡੇ ਪੈਕੇਜ ਲਾਕ JSON ਵਿੱਚ ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਕੋਈ ਟਾਈਪੋ ਹੈ, ਤਾਂ npm ਹਮਲਾਵਰ ਦੇ ਪੈਕੇਜ ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਸਵਾਲ ਦੇ ਇੰਸਟਾਲ ਕਰਦਾ ਹੈ, ਕਿਉਂਕਿ ਤੁਸੀਂ ਇਸਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਕਿਹਾ ਸੀ।
npm ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਸਿਰਫ਼ ਸਿਧਾਂਤਕ ਨਹੀਂ ਹੈ। ਅਸਲ-ਸੰਸਾਰ ਦੇ npm ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਹਮਲਿਆਂ ਨੇ ਸੁਰਖੀਆਂ ਬਣਾਈਆਂ ਹਨ। ਇੱਕ ਅਜਿਹੀ ਉਦਾਹਰਣ ਸੀ Coa ਪੈਕੇਜ ਸਮਝੌਤਾ, ਜਿੱਥੇ ਖਤਰਨਾਕ ਕੋਡ ਇੱਕ ਭਰੋਸੇਯੋਗ ਪੈਕੇਜ ਦੇ ਅੱਪਡੇਟ ਰਾਹੀਂ ਭੇਜਿਆ ਗਿਆ ਸੀ। ਫਰਕ ਇਹ ਹੈ ਕਿ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਨਾਲ, ਡਿਵੈਲਪਰ ਗਲਤੀ ਨਾਲ ਇੱਕ ਨਿਰਭਰਤਾ ਨੂੰ ਗਲਤ ਟਾਈਪ ਕਰਕੇ ਹਮਲਾਵਰ ਨੂੰ ਸੱਦਾ ਦਿੰਦਾ ਹੈ।
ਵਿੱਚ ਅਸਲ ਜੋਖਮ CI/CD Pipelineਪੈਕੇਜ ਲਾਕ json ਗਲਤੀਆਂ ਕਾਰਨ ਹੋਇਆ
ਆਧੁਨਿਕ CI/CD pipelineਦਾ ਇਲਾਜ package-lock.json ਸੱਚਾਈ ਦੇ ਸਰੋਤ ਵਜੋਂ। ਨਿਰਮਾਣ ਜਾਂ ਤੈਨਾਤੀ ਦੌਰਾਨ, pipeline ਰਨ ਐਨਪੀਐਮ ਸੀਆਈ or npm ਇੰਸਟਾਲ, ਜੋ ਦੋਵੇਂ ਲਾਕਫਾਈਲ ਤੋਂ ਪੜ੍ਹੇ ਜਾਂਦੇ ਹਨ। ਜੇਕਰ ਕੋਈ ਟਾਈਪਿੰਗ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਖਤਰਨਾਕ ਪੈਕੇਜ ਆਪਣੇ ਆਪ ਖਿੱਚਿਆ ਜਾਂਦਾ ਹੈ। ਕੋਈ ਚੇਤਾਵਨੀਆਂ ਨਹੀਂ। ਕੋਈ ਪ੍ਰੋਂਪਟ ਨਹੀਂ।
ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਥਾਨਕ ਵਿਕਾਸ ਦੌਰਾਨ ਪੇਸ਼ ਕੀਤੀ ਗਈ ਇੱਕ ਟਾਈਪੋ ਸਟੇਜਿੰਗ ਜਾਂ ਉਤਪਾਦਨ ਤੱਕ ਚੁੱਪਚਾਪ ਫੈਲ ਸਕਦੀ ਹੈ। ਹਮਲਾਵਰ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਸਟੀਲਰ, ਕ੍ਰਿਪਟੋ ਮਾਈਨਰ, ਜਾਂ ਬੈਕਡੋਰ ਨੂੰ ਏਮਬੈਡ ਕਰ ਸਕਦੇ ਹਨ ਜੋ ਪੋਸਟ-ਡਿਪਲਾਇਮੈਂਟ ਨੂੰ ਸਰਗਰਮ ਕਰਦੇ ਹਨ। ਇਹ ਸਭ ਸੁਰੱਖਿਆ ਟੂਲਸ ਨੂੰ ਚਾਲੂ ਕੀਤੇ ਬਿਨਾਂ ਹੋ ਸਕਦਾ ਹੈ, ਕਿਉਂਕਿ ਨਿਰਭਰਤਾ ਨੂੰ "ਘੋਸ਼ਿਤ" ਕੀਤਾ ਗਿਆ ਸੀ। package-lock.json.
ਇਹ ਸਿਰਫ਼ ਇੱਕ ਗਲਤੀ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਸਪਲਾਈ ਚੇਨ ਉਲੰਘਣਾ ਹੈ ਜੋ ਵਾਪਰਨ ਦੀ ਉਡੀਕ ਕਰ ਰਹੀ ਹੈ, ਅਤੇ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਇਸਨੂੰ ਇੱਕ ਅਸਲ ਖ਼ਤਰਾ ਬਣਾਉਂਦੀ ਹੈ।
NPM ਟਾਈਪੋਸਕੈਟਿੰਗ ਨੂੰ ਘਟਾਉਣ ਲਈ ਨਿਰਭਰਤਾ ਟਾਈਪੋਸ ਦਾ ਪਤਾ ਲਗਾਉਣਾ ਅਤੇ ਰੋਕਣਾ
ਟਾਈਪੋਜ਼ ਵਿੱਚ ਗਲਤੀਆਂ package-lock.json ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਉਹਨਾਂ ਨੂੰ ਸਰਗਰਮੀ ਨਾਲ ਨਹੀਂ ਲੱਭਦੇ, ਉਹ ਅਦਿੱਖ ਹਨ। ਇੱਥੇ ਕਿਵੇਂ ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ:
- ਸਥਿਰ ਵਿਸ਼ਲੇਸ਼ਣ: ਕੁਝ ਟੂਲ ਇਹਨਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਨਹੀਂ ਫੜਦੇ, ਪਰ ਸਮਰਪਿਤ ਨਿਰਭਰਤਾ ਸਕੈਨਰ ਕਰ ਸਕਦੇ ਹਨ। ਉਹਨਾਂ ਟੂਲਸ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰੋ ਜੋ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਪੈਟਰਨਾਂ ਲਈ ਸਕੈਨ ਕਰਦੇ ਹਨ ਅਤੇ ਤੁਹਾਡੇ package-lock.json ਅਸੰਗਤੀਆਂ ਲਈ।
- ਲਿੰਟਿੰਗ ਲਾਕਫਾਈਲਾਂ: ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਕਸਟਮ ਲਿੰਟਿੰਗ ਨਿਯਮਾਂ ਜਾਂ ਪਲੱਗਇਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ package-lock.json ਜਾਣੀਆਂ-ਪਛਾਣੀਆਂ ਸੁਰੱਖਿਅਤ ਸੂਚੀਆਂ ਦੇ ਵਿਰੁੱਧ ਐਂਟਰੀਆਂ।
- ਕੋਡ ਸਮੀਖਿਆਵਾਂ: ਪੀਅਰ ਸਮੀਖਿਆਵਾਂ ਮਹੱਤਵਪੂਰਨ ਹਨ। ਲੌਕਫਾਈਲ ਡਿਫ ਸ਼ੋਰ-ਸ਼ਰਾਬੇ ਵਾਲੇ ਹਨ, ਪਰ ਆਪਣੀ ਟੀਮ ਨੂੰ ਕੋਡ ਵਾਂਗ ਉਹਨਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰਨਾ ਸਿਖਾਓ।
- ਸਵੈਚਾਲਿਤ ਜਾਂਚਾਂ: ਸਥਾਪਨਾ ਕਰਨਾ pre-commit hooks ਜਾਂ CI ਨੌਕਰੀਆਂ ਵਿੱਚ ਗੈਰ-ਪ੍ਰਮਾਣਿਤ ਜਾਂ ਸ਼ੱਕੀ ਐਂਟਰੀਆਂ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ package-lock.json.
ਇੱਥੇ GitHub ਐਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇੱਕ ਵਿਹਾਰਕ ਉਦਾਹਰਣ ਹੈ:
ਇਹ ਬੁਲੇਟਪਰੂਫ ਨਹੀਂ ਹੈ, ਪਰ ਇਹ ਅਜੀਬ ਪੈਕੇਜ ਨਾਮਾਂ ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ ਜੋ npm ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਦਾ ਸੰਕੇਤ ਦੇ ਸਕਦੇ ਹਨ।
NPM ਟਾਈਪੋਸਕੈਟਿੰਗ ਅਤੇ ਸਪਲਾਈ ਚੇਨ ਹਮਲਿਆਂ ਤੋਂ Node.js ਪ੍ਰੋਜੈਕਟਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨਾ
ਆਪਣੀ Node.js ਐਪ ਨੂੰ ਲਾਕ ਕਰਨ ਅਤੇ ਹਮਲਿਆਂ ਨੂੰ ਰੋਕਣ ਲਈ package-lock.json:
- ਸਖ਼ਤ ਵਰਜਨ ਪਿੰਨਿੰਗ: ਵਰਜਨ ਰੇਂਜਾਂ ਤੋਂ ਬਚੋ (^, ~) ਵਿੱਚ ਪੈਕੇਜ.ਜਸਨ. ਅਣਕਿਆਸੇ ਅੱਪਡੇਟਾਂ ਅਤੇ ਰੁਕਾਵਟਾਂ ਨੂੰ ਘਟਾਉਣ ਲਈ ਸਾਰੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਸਹੀ ਸੰਸਕਰਣਾਂ 'ਤੇ ਲਾਕ ਕਰੋ।
- ਦਸਤਖਤ ਤਸਦੀਕ: ਪੈਕੇਜਾਂ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਮੂਲ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਸਿਗਸਟੋਰ ਅਤੇ ਐਨਪੀਐਮ ਦੀਆਂ ਉਤਪਤੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਰਗੇ ਟੂਲਸ ਦਾ ਲਾਭ ਉਠਾਓ।
- ਅਟੱਲ ਬਿਲਡਜ਼: ਹਮੇਸ਼ਾ ਵਰਤੋ ਐਨਪੀਐਮ ਸੀਆਈ ਪ੍ਰਮਾਣਿਤ ਨਾਲ package-lock.json ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਵਿੱਚ ਫਾਈਲ ਕਰੋ। ਕਦੇ ਵੀ ਇਸ 'ਤੇ ਭਰੋਸਾ ਨਾ ਕਰੋ npm ਇੰਸਟਾਲ ਤੈਨਾਤੀਆਂ ਦੌਰਾਨ, ਕਿਉਂਕਿ ਇਹ ਅਣਪਛਾਤੇ ਬਦਲਾਅ ਲਿਆ ਸਕਦਾ ਹੈ।
- ਲਗਾਤਾਰ ਨਿਗਰਾਨੀ: ਨਿਗਰਾਨੀ ਹੱਲ ਵਰਤੋ ਜੋ ਤੁਹਾਨੂੰ ਸੁਚੇਤ ਕਰਦੇ ਹਨ ਜਦੋਂ:
- ਤੁਹਾਡੇ ਵਿੱਚ ਨਵੇਂ ਪੈਕੇਜ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ package-lock.json
- ਮੌਜੂਦਾ ਪੈਕੇਜ ਅਚਾਨਕ ਬਦਲ ਜਾਂਦੇ ਹਨ
- ਸ਼ੱਕੀ ਪੈਟਰਨ (ਜਿਵੇਂ ਕਿ ਪੈਕੇਜ ਨਾਮ ਜਿਵੇਂ ਕਿ ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ, ਰੀਐਕਟ-ਡੋਮ, ਕੋਣੀ) ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾਂਦਾ ਹੈ
- ਨਿਰਭਰਤਾ ਆਡਿਟ ਟੂਲ: ਆਟੋਮੇਟਿਡ ਟੂਲਸ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰੋ ਜਿਵੇਂ ਕਿ ਐਨਪੀਐਮ ਆਡਿਟ, ਸਨਕ, ਜ ਜ਼ਾਇਗੇਨੀ ਤੁਹਾਡੇ CI ਵਿੱਚ pipeline ਕਮਜ਼ੋਰੀਆਂ ਅਤੇ ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਸੂਚਕਾਂ ਨੂੰ ਸਕੈਨ ਕਰਨ ਲਈ।
- ਲਾਕਫਾਈਲ ਸਫਾਈ: ਇਲਾਜ ਕਰੋ package-lock.json ਕੋਡ ਦੇ ਤੌਰ 'ਤੇ। ਇਸ ਦੌਰਾਨ ਇਸਦੀ ਸਮੀਖਿਆ ਕਰੋ pull requests, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਅੱਪਡੇਟ ਜਾਂ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ।
- ਸਵੈਚਾਲਤ Pre-Commit ਚੈੱਕ: ਵਰਤੋ pre-commit hooks ਤੁਹਾਡੀ ਲੌਕਫਾਈਲ ਨੂੰ ਵਰਜਨ ਕੰਟਰੋਲ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ।
package-lock.json npm ਟਾਈਪੋਸਕਵੇਟਿੰਗ ਹਮਲਿਆਂ ਵਿੱਚ ਇੱਕ ਉੱਚ-ਮੁੱਲ ਵਾਲਾ ਟੀਚਾ ਹੈ। ਇੱਕ ਟਾਈਪੋ ਵਰਗਾ ਰੀਐਕਟ-ਡੋਮ or ਲੋਡਾਸ ਹਮਲਾਵਰਾਂ ਨੂੰ ਤੁਹਾਡੇ ਬਿਲਡ ਵਿੱਚ ਸਿੱਧਾ ਰਸਤਾ ਦਿੰਦਾ ਹੈ pipeline. ਸਪਲਾਈ ਚੇਨ ਦੀ ਇਕਸਾਰਤਾ ਬਣਾਈ ਰੱਖਣ ਲਈ ਇਸ ਫਾਈਲ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਚੌਕਸੀ ਜ਼ਰੂਰੀ ਹੈ।
ਇਸ ਲਈ, ਇੱਕ ਟਾਈਪੋ ਤੁਹਾਡੀ ਬਿਲਡ ਨੂੰ ਡੁੱਬ ਸਕਦਾ ਹੈ। ਇਸਨੂੰ ਨਾ ਹੋਣ ਦਿਓ!
ਇੱਕ ਟਾਈਪਿੰਗ ਗਲਤੀ package-lock.json ਇਹ ਸਿਰਫ਼ ਢਿੱਲੀ ਕੋਡਿੰਗ ਨਹੀਂ ਹੈ; ਇਹ npm ਟਾਈਪੋਸਕੈਟਿੰਗ ਲਈ ਇੱਕ ਅਸਲ ਖ਼ਤਰਾ ਵੈਕਟਰ ਹੈ। ਫਾਈਲ ਇੱਕ ਗੇਟਕੀਪਰ ਹੈ, ਅਤੇ ਜੇਕਰ ਇਸ ਨਾਲ ਸਮਝੌਤਾ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਤੁਹਾਡੀ pipeline ਇਹ ਵੀ ਹੈ। ਹੱਲ ਸੈਕਸੀ ਨਹੀਂ ਹੈ: ਹੌਲੀ ਕਰੋ, ਲਾਕਫਾਈਲ ਦੀ ਸਮੀਖਿਆ ਕਰੋ, ਜਾਂਚਾਂ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰੋ, ਅਤੇ ਤਬਦੀਲੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ। ਪਰ ਇਹ ਇਸਦੇ ਯੋਗ ਹੈ।
ਆਪਣੇ ਬਚਾਅ ਪੱਖ ਨੂੰ ਉੱਚਾ ਚੁੱਕਣ ਲਈ, Xygeni ਵਰਗੇ ਔਜ਼ਾਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ, ਜੋ ਟਾਈਪੋਸਕੈਟਿੰਗ ਦਾ ਪਤਾ ਲਗਾਉਣ, ਜਾਂਚ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤੇ ਗਏ ਹਨ ਪੈਕੇਜ ਲਾਕ JSON ਫਾਈਲਾਂ, ਅਤੇ ਤੁਹਾਡੇ ਪੂਰੇ ਪੈਕੇਜ ਦੀ ਇਕਸਾਰਤਾ ਦੀ ਰੱਖਿਆ ਕਰੋ CI/CD pipeline. ਓਪਨ ਸੋਰਸ ਦੇ ਯੁੱਗ ਵਿੱਚ, ਵਿਸ਼ਵਾਸ ਕਮਾਇਆ ਅਤੇ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।





