ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਇੱਕ DevSecOps ਤਰਜੀਹ ਹੈ
ਆਧੁਨਿਕ DevOps ਵਰਕਫਲੋ ਵਿੱਚ, ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਸਿਰਫ਼ ਇੱਕ ਕਾਨੂੰਨੀ ਦੁਰਘਟਨਾ ਨਹੀਂ ਹੈ; ਇਹ ਇੱਕ ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਅਸਫਲਤਾ ਹੈ। ਜਦੋਂ ਮਹੱਤਵਪੂਰਨ ਕੋਡ ਜੰਗਲ ਵਿੱਚ ਭੱਜ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਨਤੀਜੇ ਬ੍ਰਾਂਡ ਦੇ ਨੁਕਸਾਨ ਤੋਂ ਪਰੇ ਹੁੰਦੇ ਹਨ। ਮੁਕਾਬਲੇਬਾਜ਼ਾਂ ਨੂੰ ਤੁਹਾਡੇ ਸਭ ਤੋਂ ਕੀਮਤੀ ਐਲਗੋਰਿਦਮ, ਸੰਰਚਨਾ ਭੇਦ, ਜਾਂ ਉਤਪਾਦ ਤਰਕ ਲਈ ਇੱਕ ਸ਼ਾਰਟਕੱਟ ਮਿਲਦਾ ਹੈ। ਅਤੇ ਸੱਚਾਈ ਇਹ ਹੈ ਕਿ, ਇਹ ਟੀਮਾਂ ਦੇ ਅਹਿਸਾਸ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਵਾਰ ਹੋ ਰਿਹਾ ਹੈ।
ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਹੁਣ ਸਿਰਫ਼ ਇੱਕ ਪਾਲਣਾ ਚੈੱਕਬਾਕਸ ਨਹੀਂ ਹੈ; ਇਹ ਇੱਕ ਬੁਨਿਆਦੀ ਸੁਰੱਖਿਆ ਅਤੇ ਵਪਾਰਕ ਜੋਖਮ ਹੈ। ਵਿੱਚ DevSecOps ਵਾਤਾਵਰਣ, ਹਰੇਕ ਡਿਵੈਲਪਰ commit ਐਕਸਪੋਜਰ ਲਈ ਇੱਕ ਸੰਭਾਵੀ ਇਨਫਲੈਕਸ਼ਨ ਪੁਆਇੰਟ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਸਰੋਤ ਕੋਡ ਨੂੰ ਆਪਣੇ ਉਤਪਾਦ ਦੇ ਡੀਐਨਏ ਵਜੋਂ ਸੋਚਦੇ ਹੋ, ਤਾਂ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਤੁਹਾਡੀ ਤੈਨਾਤੀ ਦਾ ਹਿੱਸਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ pipeline ਸ਼ੁਰੂ ਤੋਂ.
ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਦੀ ਅਸਲ ਕੀਮਤ: ਜਦੋਂ IP ਜਨਤਕ ਹੋ ਜਾਂਦਾ ਹੈ
ਆਓ ਕਾਨੂੰਨੀ ਸ਼ਬਦਾਵਲੀ ਛੱਡ ਦੇਈਏ। ਇੱਥੇ ਕੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਡਾ ਸਰੋਤ ਕੋਡ ਲੀਕ ਹੋਣਾ ਕਿਸੇ ਹੋਰ ਲਈ ਮੌਕਾ ਬਣ ਜਾਂਦਾ ਹੈ:
- ਇੱਕ ਡਿਵੈਲਪਰ ਗਲਤੀ ਨਾਲ ਮਲਕੀਅਤ ਕੀਮਤ ਤਰਕ ਨੂੰ ਇੱਕ ਜਨਤਕ ਰੈਪੋ ਵਿੱਚ ਧੱਕ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਪ੍ਰਤੀਯੋਗੀ ਕੁਝ ਦਿਨਾਂ ਦੇ ਅੰਦਰ ਇਸਨੂੰ ਫੋਰਕ ਕਰ ਦਿੰਦਾ ਹੈ।
- ਸੰਵੇਦਨਸ਼ੀਲ ਅੰਤਮ ਬਿੰਦੂ ਜਨਤਕ ਤੌਰ 'ਤੇ ਸੂਚੀਬੱਧ ਹੋ ਜਾਂਦੇ ਹਨ, ਅੰਦਰੂਨੀ ਸੇਵਾਵਾਂ ਜਾਂ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਵਾਹਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਦੇ ਹਨ।
- ਇੱਕ ਵਿਲੱਖਣ ਸਿਫਾਰਸ਼ ਇੰਜਣ, ਉਤਪਾਦ ਵਿਭਿੰਨਤਾ ਦਾ ਮੁੱਖ ਹਿੱਸਾ, ਲੀਕ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦੁਹਰਾਇਆ ਜਾਂਦਾ ਹੈ।
ਇਹ ਦੁਰਲੱਭ ਅਪਵਾਦ ਨਹੀਂ ਹਨ। ਇਹ ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਦੀਆਂ ਸਿੱਧੀਆਂ ਉਦਾਹਰਣਾਂ ਹਨ ਜੋ ਉਤਪਾਦ ਮੁੱਲ ਨੂੰ ਘਟਾਉਂਦੀਆਂ ਹਨ, ਮੁਕਾਬਲੇਬਾਜ਼ੀ ਦੀ ਧਾਰ ਨੂੰ ਖਤਮ ਕਰਦੀਆਂ ਹਨ, ਅਤੇ ਲੰਬੇ ਸਮੇਂ ਲਈ ਬ੍ਰਾਂਡ ਦੇ ਖਾਤਮੇ ਦਾ ਕਾਰਨ ਬਣਦੀਆਂ ਹਨ।
DevOps ਜੋਖਮ ਖੇਤਰ: ਜਿੱਥੇ ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ
ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਚੁੱਪਚਾਪ ਅਸਫਲ ਹੋ ਜਾਂਦੀ ਹੈ, ਰੋਜ਼ਾਨਾ DevOps ਨਿਗਰਾਨੀ ਦੁਆਰਾ:
- ਅਸੁਰੱਖਿਅਤ CI/CD ਲੱਕੜਾਂ ਦੀ ਡੰਪਿੰਗ .env ਪਲੇਨਟੈਕਸਟ API ਕੁੰਜੀਆਂ ਵਾਲੇ ਵੇਰੀਏਬਲ
- ਏਮਬੈਡਡ OAuth ਟੋਕਨਾਂ ਅਤੇ ਹਾਰਡਕੋਡ ਕੀਤੇ ਅੰਦਰੂਨੀ ਅੰਤਮ ਬਿੰਦੂਆਂ ਨਾਲ S3 ਬਕੇਟਾਂ ਵਿੱਚ ਧੱਕੇ ਗਏ ਆਰਟੀਫੈਕਟ ਬਣਾਓ
- GitHub ਰਿਪੋਜ਼ਟਰੀਆਂ 'ਤੇ ਗਲਤ ਸੰਰਚਿਤ ਅਨੁਮਤੀਆਂ ਸੰਵੇਦਨਸ਼ੀਲ ਸ਼ਾਖਾਵਾਂ ਨੂੰ ਜਨਤਕ ਪੜ੍ਹਨ ਦੀ ਪਹੁੰਚ ਪ੍ਰਦਾਨ ਕਰਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ ਵਿਸ਼ੇਸ਼ਤਾ/ਭੁਗਤਾਨ-ਰੀਫੈਕਟਰ
ਅਸਲ-ਸੰਸਾਰ ਪ੍ਰਭਾਵ ਦੀਆਂ ਉਦਾਹਰਣਾਂ:
- ਐਕਸਪੋਜ਼ਡ ਪੇਮੈਂਟ ਗੇਟਵੇ ਫੰਕਸ਼ਨ: ਇੱਕ ਡਿਵੈਲਪਰ commits ਭੁਗਤਾਨ_ਪ੍ਰੋਸੈਸਰ.ਪੀ.ਆਈ. ਇੱਕ ਜਨਤਕ ਰੈਪੋ ਵਿੱਚ। ਇਸ ਫਾਈਲ ਵਿੱਚ ਛੋਟ ਗਣਨਾ, ਧੋਖਾਧੜੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦੀਆਂ ਸੀਮਾਵਾਂ, ਅਤੇ ਦਰ-ਸੀਮਤ ਵਿਧੀਆਂ ਲਈ ਤਰਕ ਸ਼ਾਮਲ ਹੈ। ਇੱਕ ਪ੍ਰਤੀਯੋਗੀ ਇਸਨੂੰ ਫੋਰਕ ਕਰਦਾ ਹੈ, ਸੀਮਾਵਾਂ ਨੂੰ ਐਡਜਸਟ ਕਰਦਾ ਹੈ, ਅਤੇ ਹਫ਼ਤਿਆਂ ਵਿੱਚ ਇੱਕ ਕਲੋਨ ਉਤਪਾਦ ਜਾਰੀ ਕਰਦਾ ਹੈ।
- ਅੰਦਰੂਨੀ API ਸਰਫੇਸ ਐਕਸਪੋਜ਼ਰ: ਜੇਨਕਿਨਸ ਲੌਗਸ ਵਿੱਚ ਅੰਦਰੂਨੀ ਰੂਟ ਪਾਏ ਗਏ ਹਨ ਵਰਗੇ /admin/flush-cache ਅਤੇ /user/session/override ਉੱਚੇ ਐਡਮਿਨ ਅਨੁਮਤੀਆਂ ਨਾਲ ਜੁੜੇ ਹੋਏ ਹਨ। ਇਹ ਲੌਗ, ਇੱਕ ਜਨਤਕ ਬਕੇਟ ਵਿੱਚ ਸਟੋਰ ਕੀਤੇ ਗਏ ਹਨ, ਖੋਜ ਇੰਜਣਾਂ ਦੁਆਰਾ ਸੂਚੀਬੱਧ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
- ਲੀਕ ਹੋਏ ਐਲਗੋਰਿਦਮ ਸੰਰਚਨਾਵਾਂ: ਇੱਕ ਸਟੇਜਿੰਗ ਡੌਕਰਫਾਈਲ ਵਿੱਚ ਮਸ਼ੀਨ ਲਰਨਿੰਗ ਮਾਡਲ ਵਜ਼ਨ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ (ਮਾਡਲ_ਵੀ1.ਐਚ5) ਅਤੇ ਹਾਈਪਰਪੈਰਾਮੀਟਰ (ਬੈਚ_ਆਕਾਰ=256, ਸਿੱਖਣ_ਦਰ=0.001) ਕੰਟੇਨਰ ਵਿੱਚ ਹਾਰਡਕੋਡ ਕੀਤਾ ਗਿਆ। ਇੱਕ ਵਾਰ ਡੌਕਰ ਹੱਬ ਵਿੱਚ ਧੱਕੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਇਹ ਮਹੱਤਵਪੂਰਨ ਮਾਡਲ ਸੰਰਚਨਾ ਜਨਤਕ ਹੋ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਮਹੀਨਿਆਂ ਦੇ ਟਿਊਨਿੰਗ ਕੰਮ ਨੂੰ ਕਮਜ਼ੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
ਇਹ ਕਾਲਪਨਿਕ ਕਮਜ਼ੋਰੀਆਂ ਨਹੀਂ ਹਨ; ਇਹ ਕਾਰਜਸ਼ੀਲ ਹਕੀਕਤਾਂ ਹਨ। ਹਰ ਇੱਕ ਉਤਪਾਦ ਬੁੱਧੀ ਦੇ ਨੁਕਸਾਨ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਅਤੇ ਹਮਲੇ ਦੀਆਂ ਸਤਹਾਂ ਬਣਾਉਂਦਾ ਹੈ ਜੋ ਨਹੀਂ ਤਾਂ ਨਿੱਜੀ ਰਹਿਣਗੀਆਂ।
ਓਪਨ ਸੋਰਸ ਬਨਾਮ ਮਲਕੀਅਤ ਕੋਡ: ਡਬਲ ਐਕਸਪੋਜ਼ਰ, ਡਬਲ ਆਈਪੀ ਜੋਖਮ
ਓਪਨ ਸੋਰਸ ਦੁਸ਼ਮਣ ਨਹੀਂ ਹੈ, ਪਰ OSS ਦੀ ਅਣ-ਪ੍ਰਬੰਧਿਤ ਵਰਤੋਂ ਅਣਜਾਣੇ ਵਿੱਚ ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ। ਆਧੁਨਿਕ ਵਿਕਾਸ ਵਰਕਫਲੋ ਵਿੱਚ ਓਪਨ ਅਤੇ ਮਲਕੀਅਤ ਕੋਡ ਵਿਚਕਾਰ ਸੀਮਾ ਧੁੰਦਲੀ ਹੋ ਸਕਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਅੰਦਰੂਨੀ ਟੀਮਾਂ ਸਹੀ ਅਲੱਗ-ਥਲੱਗਤਾ ਤੋਂ ਬਿਨਾਂ OSS ਨੂੰ ਲਪੇਟਦੀਆਂ, ਵਧਾਉਂਦੀਆਂ ਜਾਂ ਸੋਧਦੀਆਂ ਹਨ।
OSS ਦੀ ਦੁਰਵਰਤੋਂ IP ਐਕਸਪੋਜ਼ਰ ਵੱਲ ਕਿਵੇਂ ਲੈ ਜਾਂਦੀ ਹੈ:
- ਸਕੋਪ ਰਹਿਤ ਅੰਦਰੂਨੀ ਐਕਸਟੈਂਸ਼ਨ: ਡਿਵੈਲਪਰ OSS ਪੈਕੇਜਾਂ ਦੇ ਉੱਪਰ ਮਲਕੀਅਤ ਤਰਕ ਬਣਾਉਂਦੇ ਹਨ ਪਰ ਅੰਦਰੂਨੀ ਮੋਡੀਊਲਾਂ ਨੂੰ ਵੱਖ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਰਹਿੰਦੇ ਹਨ। ਜਦੋਂ ਇਹ ਪੈਕੇਜ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਜਾਂ ਦੁਬਾਰਾ ਵਰਤੇ ਜਾਂਦੇ ਹਨ, ਤਾਂ ਉਹਨਾਂ ਵਿੱਚ ਅੰਦਰੂਨੀ ਕਲਾਸਾਂ, ਫੰਕਸ਼ਨ, ਜਾਂ ਸੰਰਚਨਾ ਫਾਈਲਾਂ ਸ਼ਾਮਲ ਹੋ ਸਕਦੀਆਂ ਹਨ।
- ਦੁਰਘਟਨਾਤਮਕ ਨਿਰਭਰਤਾ ਲੀਕੇਜ: ਅੰਦਰੂਨੀ ਸੇਵਾਵਾਂ ਤੀਜੀ-ਧਿਰ ਦੇ ਪੈਕੇਜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰ ਸਕਦੀਆਂ ਹਨ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਸੰਵੇਦਨਸ਼ੀਲ ਮੈਟਾਡੇਟਾ (ਜਿਵੇਂ ਕਿ ਵਾਤਾਵਰਣ-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾ ਫਾਈਲਾਂ, ਐਂਡਪੁਆਇੰਟ ਮੈਪਿੰਗ, ਲੌਗਿੰਗ ਪੈਰਾਮੀਟਰ) ਹੁੰਦਾ ਹੈ, ਜੋ ਪ੍ਰਕਾਸ਼ਿਤ ਹੋਣ 'ਤੇ ਆਰਕੀਟੈਕਚਰਲ ਸੂਝ ਜਾਂ ਵਰਤੋਂ ਪੈਟਰਨਾਂ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਦੇ ਹਨ।
- ਸਰੋਤ ਉਲਝਣ: ਸਪੱਸ਼ਟ ਟਰੈਕਿੰਗ ਤੋਂ ਬਿਨਾਂ, ਡਿਵੈਲਪਰ ਅਣਜਾਣੇ ਵਿੱਚ commit ਫੋਰਕ ਜਾਂ ਅੱਪਸਟ੍ਰੀਮ ਰਿਪੋਜ਼ ਵਿੱਚ ਮਲਕੀਅਤ ਸੁਧਾਰ, IP-ਸੁਰੱਖਿਅਤ ਤਰਕ ਨੂੰ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਕੋਡਬੇਸਾਂ ਵਿੱਚ ਮਿਲਾਉਣਾ।
ਘਟਾਉਣ ਦੀਆਂ ਰਣਨੀਤੀਆਂ:
- ਸਾਫਟਵੇਅਰ ਬਿੱਲ ਆਫ਼ ਮਟੀਰੀਅਲ (SBOM): ਇੱਕ ਨੂੰ ਕਾਇਮ ਰੱਖੋ SBOM ਹਰੇਕ ਪ੍ਰੋਜੈਕਟ ਲਈ ਸਾਰੀਆਂ ਓਪਨ ਸੋਰਸ ਨਿਰਭਰਤਾਵਾਂ, ਉਹਨਾਂ ਦੇ ਮੂਲ ਸਥਾਨ, ਅਤੇ ਉਹਨਾਂ ਦੇ ਜੋਖਮ ਪ੍ਰੋਫਾਈਲ ਦੀ ਪਛਾਣ ਕਰਨਾ।
- ਅੰਦਰੂਨੀ ਬਨਾਮ ਬਾਹਰੀ ਅੰਤਰ: ਅੰਦਰੂਨੀ ਫੋਰਕਸ ਜਾਂ ਕੰਪੋਨੈਂਟਸ ਨੂੰ ਉਹਨਾਂ ਦੇ OSS ਮੂਲ ਦੇ ਵਿਰੁੱਧ ਵੱਖ ਕਰਨ ਲਈ ਸਵੈਚਾਲਿਤ ਟੂਲਸ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਕਿਸੇ ਵੀ ਮਲਕੀਅਤ ਵਾਲੇ ਜੋੜਾਂ ਨੂੰ ਫਲੈਗ ਕਰੋ ਜੋ ਨਿੱਜੀ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ।
- IP ਸੁਰੱਖਿਆ ਲਈ ਰੁੱਖ ਹਿੱਲਣਾ: ਬਾਹਰੀ ਵਰਤੋਂ ਲਈ ਕਿਸੇ ਵੀ ਹਿੱਸੇ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਜਾਂ ਪੈਕ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਗੈਰ-ਜ਼ਰੂਰੀ ਜਾਂ ਅੰਦਰੂਨੀ ਤਰਕ ਨੂੰ ਹਟਾਉਣ ਲਈ ਕਸਟਮ ਟ੍ਰੀ-ਸ਼ੇਕਿੰਗ ਤਕਨੀਕਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ।
ਸਖ਼ਤ ਸੀਮਾਵਾਂ ਸਥਾਪਤ ਕਰਕੇ ਅਤੇ ਇਹਨਾਂ ਸੁਰੱਖਿਆ ਉਪਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ, ਟੀਮਾਂ ਬੌਧਿਕ ਸੰਪਤੀ ਦੀ ਅਖੰਡਤਾ ਦੀ ਕੁਰਬਾਨੀ ਦਿੱਤੇ ਬਿਨਾਂ OSS ਨਵੀਨਤਾ ਤੋਂ ਲਾਭ ਉਠਾ ਸਕਦੀਆਂ ਹਨ।
ਅਸਫਲ ਬਚਾਅ: ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਕਿਉਂ ਹੁੰਦਾ ਰਹਿੰਦਾ ਹੈ
ਜ਼ਿਆਦਾਤਰ ਟੀਮਾਂ ਦਾ ਮੰਨਣਾ ਹੈ ਕਿ ਉਨ੍ਹਾਂ ਦਾ ਕੋਡ ਸੁਰੱਖਿਅਤ ਹੈ, ਪਰ ਗਲਤ ਸੰਰਚਨਾ ਅਤੇ ਬੁਰੀਆਂ ਆਦਤਾਂ ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਨੂੰ ਕਮਜ਼ੋਰ ਅਤੇ ਅਸੰਗਤ ਬਣਾਉਂਦੀਆਂ ਹਨ। ਬਹੁਤ ਸਾਰੀਆਂ ਲੀਕੇਜ ਘਟਨਾਵਾਂ ਸੂਝਵਾਨ ਹਮਲਿਆਂ ਦੀ ਬਜਾਏ ਸਧਾਰਨ ਨਿਗਰਾਨੀ ਤੋਂ ਆਉਂਦੀਆਂ ਹਨ।
ਆਮ ਗਲਤੀਆਂ ਜੋ IP ਐਕਸਪੋਜ਼ਰ ਵੱਲ ਲੈ ਜਾਂਦੀਆਂ ਹਨ:
- .env ਸਟੇਜਿੰਗ ਸੀਕਰੇਟਸ ਵਾਲੀਆਂ ਫਾਈਲਾਂ: ਇੱਕ ਡਿਵੈਲਪਰ ਜੋੜਦਾ ਹੈ .env.ਸਟੇਜਿੰਗ ਜਿਸ ਵਿੱਚ API ਟੋਕਨ, ਡੇਟਾਬੇਸ URL, ਅਤੇ ਤੀਜੀ-ਧਿਰ ਪ੍ਰਮਾਣ ਪੱਤਰ ਸ਼ਾਮਲ ਹਨ। ਇਹ ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ .ਗਿੱਟਾਈਨੌਰ, ਅਤੇ ਇੱਕ ਲਾਪਰਵਾਹ commit ਇਸਨੂੰ ਰਿਪੋ ਵਿੱਚ ਧੱਕਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਮਰਜ ਇਸਨੂੰ ਸਾਰੇ ਸਹਿਯੋਗੀਆਂ ਜਾਂ ਇੱਥੋਂ ਤੱਕ ਕਿ ਜਨਤਕ ਫੋਰਕਾਂ ਦੇ ਸਾਹਮਣੇ ਵੀ ਲਿਆਉਂਦਾ ਹੈ।
- ਡੌਕਰਫਾਈਲਾਂ ਵਿੱਚ ਹਾਰਡਕੋਡ ਕੀਤੇ ਰਾਜ਼: A ਡੌਕਰਫਾਈਲ ਵਰਗੀ ਇੱਕ ਲਾਈਨ ਸ਼ਾਮਲ ਹੈ ENV JWT_SECRET="supersecretkey" ਜਾਂ ਕਾਪੀ ਕਰੋ config/prod.env /app/, ਸੰਵੇਦਨਸ਼ੀਲ ਮੁੱਲਾਂ ਨੂੰ ਸਿੱਧਾ ਚਿੱਤਰ ਵਿੱਚ ਬੇਕ ਕਰਨਾ। ਇੱਕ ਵਾਰ ਜਦੋਂ ਚਿੱਤਰ ਨੂੰ ਰਜਿਸਟਰੀ ਵਿੱਚ ਧੱਕ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਜਾਂ ਸਾਂਝਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ pipeline, ਰਾਜ਼ ਏਮਬੈਡਡ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਯੋਗ ਹੈ।
- ਅਧੂਰਾ .ਗਿੱਟਾਈਨੌਰ ਨੀਤੀਆਂ: ਇੱਕ ਟੀਮ ਅੱਪਡੇਟ ਕਰਨਾ ਭੁੱਲ ਜਾਂਦੀ ਹੈ .ਗਿੱਟਾਈਨੌਰ ਬਾਹਰ ਕੱ toਣ ਲਈ .ਪੇਮ, .ਬਾਕ, ਜਾਂ ਵਾਤਾਵਰਣ-ਵਿਸ਼ੇਸ਼ ਸੰਰਚਨਾ ਫਾਈਲਾਂ। ਡਿਵੈਲਪਰ ਮੰਨਦੇ ਹਨ ਕਿ ਇਹਨਾਂ ਫਾਈਲਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ ਸਥਾਨਕ Git ਵਿਵਹਾਰ ਬਦਲਦਾ ਹੈ, ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਮਿਲਦਾ ਹੈ commitਟੇਡ.
- ਮਾੜੀ ਸੀਕਰੇਟਸ ਸਕੈਨਰ ਸੰਰਚਨਾ: ਇੱਕ ਸੀਕ੍ਰੇਟ ਸਕੈਨਰ ਤਾਇਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਪਰ ਇਸ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ .ਲਾਗ ਫਾਈਲਾਂ ਜਾਂ ਅਸਥਾਈ ਡਾਇਰੈਕਟਰੀਆਂ ਜਿੱਥੇ ਟੈਸਟ ਰਨ ਅਕਸਰ ਟੋਕਨ ਡੰਪ ਕਰਦੇ ਹਨ। ਬਿਲਡ ਆਰਟੀਫੈਕਟਸ ਨੂੰ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਵਾਲਾ ਹਮਲਾਵਰ ਇਹਨਾਂ ਫਾਈਲਾਂ ਤੋਂ ਵੈਧ ਟੋਕਨ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦਾ ਹੈ।
ਇਹ ਕੋਈ ਵੱਡੇ ਮਾਮਲੇ ਨਹੀਂ ਹਨ; ਇਹ ਰੁਟੀਨ ਨਿਗਰਾਨੀ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸਿਰਫ਼ ਟੂਲਿੰਗ ਹੀ ਨਹੀਂ ਫੜ ਸਕਦੀ ਜਦੋਂ ਤੱਕ ਕਿ ਮਜ਼ਬੂਤ ਲਾਗੂਕਰਨ ਅਤੇ ਡਿਵੈਲਪਰ ਜਾਗਰੂਕਤਾ ਨਾਲ ਜੋੜਿਆ ਨਾ ਜਾਵੇ। ਸਪੱਸ਼ਟ ਨੀਤੀਆਂ ਅਤੇ ਅਨੁਸ਼ਾਸਿਤ ਸਫਾਈ ਤੋਂ ਬਿਨਾਂ, ਸਭ ਤੋਂ ਵਧੀਆ ਸੁਰੱਖਿਆ ਸਾਧਨ ਵੀ ਸਰੋਤ 'ਤੇ IP ਲੀਕੇਜ ਨੂੰ ਨਹੀਂ ਰੋਕ ਸਕਦੇ।
ਡਿਵੈਲਪਰ ਪੱਧਰ 'ਤੇ ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਨੂੰ ਰੋਕਣਾ
ਜ਼ਿਆਦਾਤਰ ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਇੱਕ ਛੋਟੀ ਜਿਹੀ, ਟਾਲਣਯੋਗ ਮਨੁੱਖੀ ਗਲਤੀ, ਕਾਹਲੀ ਵਿੱਚ ਧੱਕੀ ਗਈ ਡੀਬੱਗ ਫਾਈਲ, ਇੱਕ ਅਸਥਾਈ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਛੱਡਿਆ ਗਿਆ ਇੱਕ ਗੁਪਤ, ਜਾਂ ਆਖਰੀ-ਮਿੰਟ ਦੇ ਸੰਰਚਨਾ ਟਵੀਕ ਦੇ ਰੂਪ ਵਿੱਚ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। commitਬਿਨਾਂ ਸਮੀਖਿਆ ਦੇ ted। ਇਹ ਗਲਤੀਆਂ ਖਤਰਨਾਕ ਨਹੀਂ ਹਨ; ਇਹ ਡਿਲੀਵਰੀ ਦਬਾਅ ਹੇਠ ਡਿਵੈਲਪਰ ਦੀ ਗਤੀ ਦਾ ਉਪ-ਉਤਪਾਦ ਹਨ।
ਇਸੇ ਲਈ ਰੈਪੋ guardrails ਅਤੇ pre-commit ਸਕੈਨਿੰਗ ਸਿਰਫ਼ ਮਦਦਗਾਰ ਹੀ ਨਹੀਂ ਹਨ, ਇਹ ਜ਼ਰੂਰੀ ਵੀ ਹਨ। ਇਹ ਸਵੈਚਾਲਿਤ, ਅਸਲ-ਸਮੇਂ ਦੀ ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ ਜਿੱਥੇ ਜੋਖਮ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ: ਡਿਵੈਲਪਰ ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ, ਕੁਝ ਵੀ ਵਰਜਨ ਕੰਟਰੋਲ ਜਾਂ CI ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ pipeline.
ਉਹ ਮਾਇਨੇ ਕਿਉਂ ਰੱਖਦੇ ਹਨ:
- ਤੁਰੰਤ ਫੀਡਬੈਕ: ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ ਦੇ ਸਥਾਨਕ ਮਸ਼ੀਨ ਤੋਂ ਬਾਹਰ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਰੰਤ ਚੇਤਾਵਨੀਆਂ ਮਿਲਦੀਆਂ ਹਨ।
- ਇਕਸਾਰ ਲਾਗੂਕਰਨ: ਨੀਤੀਆਂ ਹਰੇਕ 'ਤੇ ਇੱਕੋ ਜਿਹੇ ਨਿਯਮ ਲਾਗੂ ਕਰਦੀਆਂ ਹਨ commit ਅਤੇ ਧੱਕਾ ਕਰੋ, ਭਾਵੇਂ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਜਾਂ ਜ਼ਰੂਰੀ ਕੰਮ ਕਿਉਂ ਨਾ ਹੋਵੇ।
- ਜੋਖਮ ਰੋਕਥਾਮ: ਮੁੱਦੇ ਜਲਦੀ ਫੜੇ ਜਾਂਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਗੁਪਤ ਜਾਂ ਮਲਕੀਅਤ ਵਾਲੇ ਤਰਕ ਦੇ ਸਾਂਝੇ ਰੈਪੋ ਤੱਕ ਪਹੁੰਚਣ ਦੀ ਸੰਭਾਵਨਾ ਘੱਟ ਜਾਂਦੀ ਹੈ।
ਉਦਾਹਰਨ ਵਰਕਫਲੋ: Guardrails ਕਾਰਵਾਈ ਵਿੱਚ
- Pre-commit ਹੁੱਕ (ਸਥਾਨਕ):
- ਇੱਕ ਡਿਵੈਲਪਰ ਚੱਲਦਾ ਹੈ Git commit ਇੱਕ ਫਾਈਲ 'ਤੇ ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ AWS_SECRET_ACCESS_KEY।
- ਇੱਕ ਡਿਵੈਲਪਰ ਚੱਲਦਾ ਹੈ Git commit ਇੱਕ ਫਾਈਲ 'ਤੇ ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ AWS_SECRET_ACCESS_KEY।
ਤੋਂ ਇੱਕ ਹੁੱਕ ਗਿਟਲਿਕਸ ਡਿਫ਼ ਨੂੰ ਸਕੈਨ ਕਰਦਾ ਹੈ, ਮੁੱਖ ਪੈਟਰਨ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਅਤੇ ਬਲਾਕ ਕਰਦਾ ਹੈ commit ਇੱਕ ਸੁਨੇਹੇ ਦੇ ਨਾਲ:
🔒 ਸੰਭਾਵੀ ਗੁਪਤ ਖੋਜਿਆ ਗਿਆ: config.py ਵਿੱਚ AWS_SECRET_ACCESS_KEY
Commit ਅਧੂਰਾ ਛੱਡ ਦਿੱਤਾ ਗਿਆ। ਕਿਰਪਾ ਕਰਕੇ ਭੇਤ ਨੂੰ ਹਟਾਓ ਜਾਂ ਲੁਕਾਓ।
- ਪੁਸ਼ ਨੀਤੀ (ਰਿਮੋਟ):
- ਜੇ commit ਕਿਸੇ ਤਰ੍ਹਾਂ ਮਜਬੂਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਾਂ ਹੁੱਕ ਨੂੰ ਬਾਈਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇੱਕ Git ਸਰਵਰ-ਸਾਈਡ ਹੁੱਕ ਬਦਲਾਵਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ।
- ਇਹ ਵਰਜਿਤ ਪੈਟਰਨਾਂ ਜਾਂ ਫਾਈਲ ਕਿਸਮਾਂ ਲਈ ਸਕੈਨ ਕਰਦਾ ਹੈ (ਜਿਵੇਂ ਕਿ, .env, .pem, .bak) ਅਤੇ ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਨੀਤੀ ਉਲੰਘਣਾ ਗਲਤੀ ਦੇ ਨਾਲ ਪੁਸ਼ ਨੂੰ ਰੱਦ ਕਰਦਾ ਹੈ।
- ਜੇ commit ਕਿਸੇ ਤਰ੍ਹਾਂ ਮਜਬੂਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਾਂ ਹੁੱਕ ਨੂੰ ਬਾਈਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇੱਕ Git ਸਰਵਰ-ਸਾਈਡ ਹੁੱਕ ਬਦਲਾਵਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ।
- CI ਨੀਤੀ ਲਾਗੂਕਰਨ:
- ਇੱਕ ਅੰਤਿਮ ਚੌਕੀ ਦੇ ਤੌਰ 'ਤੇ, ਸੀ.ਆਈ. pipeline ਇੱਕ ਸੀਕ੍ਰੇਟ ਸਕੈਨਰ ਅਤੇ ਇੱਕ ਵੈਲੀਡੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਹੈ।
- ਜੇਕਰ ਕੁਝ ਵੀ ਲੀਕ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਬਿਲਡ ਜਲਦੀ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਆਰਟੀਫੈਕਟ ਤੈਨਾਤੀ ਨੂੰ ਰੋਕਿਆ ਜਾਂਦਾ ਹੈ।
- ਇੱਕ ਅੰਤਿਮ ਚੌਕੀ ਦੇ ਤੌਰ 'ਤੇ, ਸੀ.ਆਈ. pipeline ਇੱਕ ਸੀਕ੍ਰੇਟ ਸਕੈਨਰ ਅਤੇ ਇੱਕ ਵੈਲੀਡੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਹੈ।
ਇਹ ਬਹੁ-ਪੱਧਰੀ ਰੱਖਿਆ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ IP ਸੁਰੱਖਿਆ IDE ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਅਤੇ ਵਰਕਫਲੋ ਦੇ ਸਾਰੇ ਪੜਾਵਾਂ ਵਿੱਚ ਬਣੀ ਰਹਿੰਦੀ ਹੈ। ਡਿਵੈਲਪਰ ਚੌਕਸੀ 'ਤੇ ਨਿਰਭਰ ਕੀਤੇ ਬਿਨਾਂ ਲਾਗੂਕਰਨ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰਕੇ, ਟੀਮਾਂ ਵਿਕਾਸ ਨੂੰ ਹੌਲੀ ਕੀਤੇ ਬਿਨਾਂ ਦੁਰਘਟਨਾਤਮਕ ਲੀਕ ਨੂੰ ਘਟਾ ਸਕਦੀਆਂ ਹਨ।
ਕਠੋਰ CI/CD ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਲਈ
ਤੁਹਾਡਾ CI/CD pipelines ਤੁਹਾਡੀ ਸਾਫਟਵੇਅਰ ਡਿਲੀਵਰੀ ਪ੍ਰਕਿਰਿਆ ਦੀ ਰੀੜ੍ਹ ਦੀ ਹੱਡੀ ਹਨ, ਪਰ ਜੇਕਰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੁਰੱਖਿਅਤ ਨਾ ਕੀਤਾ ਜਾਵੇ ਤਾਂ ਉਹ ਸਾਈਲੈਂਟ ਲੀਕ ਵੈਕਟਰ ਵੀ ਬਣ ਸਕਦੇ ਹਨ। ਸਖ਼ਤ ਨਿਯੰਤਰਣਾਂ ਤੋਂ ਬਿਨਾਂ, ਨੇਕ ਇਰਾਦੇ ਵਾਲਾ ਆਟੋਮੇਸ਼ਨ ਵੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸੰਪਤੀਆਂ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰ ਸਕਦਾ ਹੈ।
ਆਪਣੇ Pipelines:
- ਤਿਆਰ ਕੀਤੀਆਂ ਕਲਾਕ੍ਰਿਤੀਆਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰੋ: ਬਿਲਡ ਆਉਟਪੁੱਟ (ਬਾਈਨਰੀ, ਕੰਟੇਨਰ, ਪੈਕੇਜ) ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਸਵੈਚਲਿਤ ਜਾਂਚਾਂ ਲਾਗੂ ਕਰੋ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਉਹਨਾਂ ਵਿੱਚ ਸੰਵੇਦਨਸ਼ੀਲ ਫਾਈਲਾਂ, ਡੀਬੱਗ ਜਾਣਕਾਰੀ, ਜਾਂ ਅੰਦਰੂਨੀ-ਸਿਰਫ ਤਰਕ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ। ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਅਲਾਉਲਿਸਟਾਂ ਅਤੇ ਕਸਟਮ ਪ੍ਰਮਾਣਿਕਤਾ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਲਈ ਸਕ੍ਰੱਬ ਲੌਗ: ਕੱਚੇ ਰਾਜ਼, ਟੋਕਨ, ਜਾਂ ਉਪਭੋਗਤਾ ਡੇਟਾ ਨੂੰ ਲੌਗ ਕਰਨ ਤੋਂ ਬਚੋ। ਲੌਗ ਸੈਨੀਟਾਈਜ਼ੇਸ਼ਨ ਫਿਲਟਰ ਲਾਗੂ ਕਰੋ ਜੋ ਸੰਵੇਦਨਸ਼ੀਲ ਸਤਰਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਸੰਪਾਦਿਤ ਕਰਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਧਾਰਕ, ਅਧਿਕਾਰ, JWT, ਜਾਂ ਫਾਈਲ ਪਾਥ ਮੇਲ ਖਾਂਦੇ ਹਨ .env, .ਪੇਮ, .ਕੁੰਜੀ. ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਉਤਪਾਦਨ ਕਾਰਜਾਂ ਵਿੱਚ ਡੀਬੱਗ ਲੌਗਿੰਗ ਅਯੋਗ ਹੈ।
- ਆਟੋਮੇਟ ਸੀਕਰੇਟ ਅਤੇ ਟੋਕਨ ਰੋਟੇਸ਼ਨ: ਡਿਫਾਲਟ ਤੌਰ 'ਤੇ ਭੇਦਾਂ ਨੂੰ ਥੋੜ੍ਹੇ ਸਮੇਂ ਲਈ ਸਮਝੋ। ਵਰਤੋ pipeline ਹਰੇਕ ਸਫਲ ਬਿਲਡ ਜਾਂ ਡਿਪਲਾਇਮੈਂਟ ਤੋਂ ਬਾਅਦ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ (ਜਿਵੇਂ ਕਿ API ਕੁੰਜੀਆਂ, ਐਕਸੈਸ ਟੋਕਨ, ਸੇਵਾ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ) ਨੂੰ ਘੁੰਮਾਉਣ ਲਈ। ਗੁਪਤ ਪ੍ਰਬੰਧਕਾਂ (ਜਿਵੇਂ ਕਿ ਵਾਲਟ, AWS ਸੀਕਰੇਟਸ ਮੈਨੇਜਰ) ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰੋ ਤਾਂ ਜੋ ਆਪਣੇ ਆਪ ਭੇਦ ਪ੍ਰਾਪਤ ਕਰਨ, ਇੰਜੈਕਟ ਕਰਨ ਅਤੇ ਮਿਆਦ ਪੁੱਗਣ।
- ਘੱਟੋ-ਘੱਟ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਪਹੁੰਚ ਲਾਗੂ ਕਰੋ: ਕੌਣ ਅਤੇ ਕੀ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਨੂੰ ਸੀਮਤ ਕਰੋ pipeline ਕਲਾਕ੍ਰਿਤੀਆਂ, ਪ੍ਰਮਾਣ ਪੱਤਰ, ਅਤੇ ਤੈਨਾਤੀ ਵਾਤਾਵਰਣ। ਸਖਤ ਭੂਮਿਕਾ-ਅਧਾਰਤ ਪਹੁੰਚ ਦੇ ਨਾਲ ਖੰਡ ਵਾਤਾਵਰਣ (ਸਟੇਜਿੰਗ, QA, ਉਤਪਾਦਨ) ਅਤੇ ਸਾਂਝੇ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਤੋਂ ਬਚੋ।
- ਸਥਾਈ ਸਥਿਤੀ ਸਾਂਝਾਕਰਨ ਨੂੰ ਅਯੋਗ ਕਰੋ: ਸੰਵੇਦਨਸ਼ੀਲ ਕੰਮਾਂ ਵਿਚਕਾਰ ਵਰਕਸਪੇਸਾਂ ਦੀ ਮੁੜ ਵਰਤੋਂ ਜਾਂ ਕੈਸ਼ ਸਾਂਝੇ ਕਰਨ ਤੋਂ ਬਚੋ। ਹਰੇਕ ਦੇ ਅੰਤ ਵਿੱਚ ਅਸਥਾਈ ਫਾਈਲਾਂ, ਲੌਗ ਅਤੇ ਵਿਚਕਾਰਲੇ ਆਰਟੀਫੈਕਟ ਸਾਫ਼ ਕਰੋ। pipeline ਪੜਾਅ
- CI ਵਿਵਹਾਰ ਵਿੱਚ ਵਿਗਾੜਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰੋ: ਵਿੱਚ ਅਣਕਿਆਸੇ ਬਦਲਾਵਾਂ ਲਈ ਚੇਤਾਵਨੀ ਸੈੱਟਅੱਪ ਕਰੋ pipeline ਸੰਰਚਨਾ, ਅਨੁਮਤੀਆਂ, ਜਾਂ ਬਿਲਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਪੈਟਰਨ।
ਜੇਕਰ ਸਰੋਤ ਕੋਡ ਜਾਂ ਭੇਦ ਲੀਕ ਹੋ ਜਾਂਦੇ ਹਨ CI/CD ਪੱਧਰ 'ਤੇ, ਐਕਸਪੋਜਰ ਪਹਿਲਾਂ ਹੀ ਵਿਆਪਕ ਹੈ। ਆਪਣੇ ਵਿੱਚ ਕਿਰਿਆਸ਼ੀਲ, ਪੱਧਰੀ ਬਚਾਅ ਅਪਣਾ ਕੇ pipelines, ਤੁਸੀਂ ਨਾ ਸਿਰਫ਼ ਲੀਕੇਜ ਦੇ ਜੋਖਮ ਨੂੰ ਘਟਾਉਂਦੇ ਹੋ, ਸਗੋਂ ਤੁਸੀਂ ਆਪਣੇ ਸਰੀਰ ਦੇ ਤਾਣੇ-ਬਾਣੇ ਵਿੱਚ ਲਚਕੀਲਾਪਣ ਪੈਦਾ ਕਰਦੇ ਹੋ DevSecOps ਅਭਿਆਸ.
ਜ਼ਾਇਗੇਨੀ ਦਾ ਤਰੀਕਾ: ਰੀਅਲ-ਟਾਈਮ ਸੋਰਸ ਕੋਡ ਲੀਕੇਜ ਰੋਕਥਾਮ
ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਨੂੰ ਰੋਕਣ ਦੀ ਕੁੰਜੀ ਇਹ ਹੈ ਕਿ ਗਲਤੀਆਂ ਨੂੰ ਡਿਵੈਲਪਰ ਦੇ ਹੱਥੋਂ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਫੜ ਲਿਆ ਜਾਵੇ, ਬਿਨਾਂ ਵਰਕਫਲੋ ਨੂੰ ਹੌਲੀ ਕੀਤੇ। ਇਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਜ਼ਾਇਗੇਨੀ ਇੱਕ ਸਹਿਜ, ਅਸਲ-ਸਮੇਂ ਦੇ ਸੁਰੱਖਿਆ ਜਾਲ ਦੇ ਰੂਪ ਵਿੱਚ ਫਿੱਟ ਬੈਠਦਾ ਹੈ।
ਜ਼ਾਇਗੇਨੀ ਕੀ ਕਰਦਾ ਹੈ:
- ਸੰਵੇਦਨਸ਼ੀਲ ਫਾਈਲਾਂ ਨੂੰ ਆਟੋਮੈਟਿਕ ਬਲਾਕ ਕਰਨਾ: ਜ਼ਾਇਜੇਨੀ ਰੋਕਦਾ ਹੈ commits ਜਾਂ ਪੁਸ਼ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਉੱਚ-ਜੋਖਮ ਵਾਲੀਆਂ ਫਾਈਲ ਕਿਸਮਾਂ ਸ਼ਾਮਲ ਹੁੰਦੀਆਂ ਹਨ ਜਿਵੇਂ ਕਿ .env, .ਪੇਮ, .ਬਕ, .p12, ਜਾਂ ਅੰਦਰੂਨੀ ਸਕੀਮਾ ਫਾਈਲਾਂ। ਇਹ ਜਾਂਚਾਂ ਸਰੋਤ 'ਤੇ ਲਾਗੂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਸਿੱਧੇ ਡਿਵੈਲਪਰ ਵਰਕਫਲੋ ਵਿੱਚ।
- ਪ੍ਰਸੰਗਿਕ ਚੇਤਾਵਨੀਆਂ: ਜਦੋਂ ਕੋਈ ਨਿਯਮ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ Xygeni ਮੈਟਾਡੇਟਾ ਨਾਲ ਭਰਪੂਰ ਅਲਰਟ ਤਿਆਰ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ:
- ਡਿਵੈਲਪਰ ਜੋ commitਟੇਡ
- ਸ਼ਾਮਲ ਸਹੀ ਫਾਈਲ ਅਤੇ ਲਾਈਨ
- ਸੰਬੰਧਿਤ commit ਹੈਸ਼
- ਟਾਈਮਸਟੈਂਪ ਅਤੇ ਟਰਿੱਗਰਿੰਗ ਨੀਤੀ
- ਡਿਵੈਲਪਰ ਜੋ commitਟੇਡ
- ਇਹਨਾਂ ਅਲਰਟਾਂ ਨੂੰ ਸਲੈਕ, ਈਮੇਲ, ਜਾਂ pipeline ਲੌਗ, ਟੀਮਾਂ ਨੂੰ ਪ੍ਰਵਾਹ ਵਿੱਚ ਵਿਘਨ ਪਾਏ ਬਿਨਾਂ ਦਿੱਖ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
- ਵਿਵਹਾਰਕ ਆਡਿਟਿੰਗ: ਸਾਰੀਆਂ ਬਲੌਕ ਕੀਤੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਅਤੇ ਨਿਯਮਾਂ ਦੀ ਉਲੰਘਣਾਵਾਂ ਨੂੰ ਲੌਗ ਅਤੇ ਟਰੈਕ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਆਡਿਟ ਟ੍ਰੇਲ ਆਵਰਤੀ ਪੈਟਰਨਾਂ ਦੀ ਪਛਾਣ ਕਰਨ, ਟੀਮਾਂ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣ ਅਤੇ ਨੀਤੀਆਂ ਨੂੰ ਸੁਧਾਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਸਮੇਂ ਦੇ ਨਾਲ, ਟੀਮਾਂ ਇਸ ਗੱਲ ਦੀ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰਦੀਆਂ ਹਨ ਕਿ ਕਿਹੜੇ ਖੇਤਰਾਂ ਵਿੱਚ ਸਭ ਤੋਂ ਵੱਧ ਲੀਕੇਜ ਦਾ ਜੋਖਮ ਹੈ।
ਸਹਾਇਤਾ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਰੁਕਾਵਟ ਨਹੀਂ:
ਸਖ਼ਤ ਗੇਟਕੀਪਰਾਂ ਦੇ ਉਲਟ, Xygeni ਡਿਵੈਲਪਰਾਂ ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ, ਉਹਨਾਂ ਦੇ ਵਿਰੁੱਧ ਨਹੀਂ। ਇਸਦੇ ਹਲਕੇ ਏਜੰਟ ਅਤੇ Git ਏਕੀਕਰਣ ਪਿਛੋਕੜ ਵਿੱਚ ਚੁੱਪਚਾਪ ਕੰਮ ਕਰਦੇ ਹਨ, ਦਸਤੀ ਸਮੀਖਿਆਵਾਂ ਨੂੰ ਮਜਬੂਰ ਕੀਤੇ ਜਾਂ ਦੇਰੀ ਕੀਤੇ ਬਿਨਾਂ ਨੀਤੀਆਂ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹਨ। commits. ਡਿਵੈਲਪਰ ਕੰਟਰੋਲ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦੇ ਹਨ। ਜਦੋਂ ਕੋਈ ਉਲੰਘਣਾ ਦਾ ਪਤਾ ਲੱਗਦਾ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਜਲਦੀ ਅਤੇ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੂਚਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਕੋਡ ਦੇ ਵਾਤਾਵਰਣ ਨੂੰ ਛੱਡਣ ਤੋਂ ਪਹਿਲਾਂ ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਕਾਫ਼ੀ ਵੇਰਵੇ ਦੇ ਨਾਲ।
ਇੱਕ ਅਦਿੱਖ ਪਰ ਭਰੋਸੇਮੰਦ ਰੱਖਿਆ ਪਰਤ ਵਜੋਂ ਕੰਮ ਕਰਕੇ, Xygeni ਵਿਕਾਸ ਦੀ ਗਤੀ ਨੂੰ ਬਣਾਈ ਰੱਖਦੇ ਹੋਏ ਸੁਰੱਖਿਅਤ ਕੋਡਿੰਗ ਆਦਤਾਂ ਨੂੰ ਮਜ਼ਬੂਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਹ IP ਸੁਰੱਖਿਆ ਨੂੰ ਇੱਕ ਨਿਰੰਤਰ, ਡਿਵੈਲਪਰ-ਅਨੁਕੂਲ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਬਦਲਦਾ ਹੈ ਜੋ ਆਧੁਨਿਕ ਟੀਮਾਂ ਨਾਲ ਸਕੇਲ ਕਰਦੀ ਹੈ।
ਕਾਰਜ ਯੋਜਨਾ: DevOps ਵਿੱਚ ਆਪਣੀ IP ਸੁਰੱਖਿਆ ਨੂੰ ਮਜ਼ਬੂਤ ਬਣਾਓ
ਸਰੋਤ ਕੋਡ ਲੀਕੇਜ ਨੂੰ ਰੋਕਣ ਲਈ, ਹਰ ਪੜਾਅ 'ਤੇ ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ:
- ਹਰ ਇੱਕ ਤੋਂ ਪਹਿਲਾਂ ਸਥਾਨਕ ਸਕੈਨ ਚਲਾਓ commit.
- ਹਾਰਡਕੋਡ ਕੀਤੇ ਰਾਜ਼ਾਂ ਤੋਂ ਬਚੋ, ਵਾਲਟ ਦੀ ਵਰਤੋਂ ਕਰੋ।
- ਵਰਤੋਂ ਤੋਂ ਪਹਿਲਾਂ OSS ਪੈਕੇਜਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ।
DevOps ਚੈੱਕਲਿਸਟ:
- ਸੁਰੱਖਿਅਤ pipeline ਸੰਰਚਨਾਵਾਂ।
- ਬਿਲਡ ਆਉਟਪੁੱਟ ਐਕਸਪੋਜ਼ਰ ਨੂੰ ਸੀਮਤ ਕਰੋ।
- ਗੁਪਤ ਰੋਟੇਸ਼ਨ ਅਤੇ ਆਰਟੀਫੈਕਟ ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰੋ।
ਇੱਕ DevSecOps ਸੱਭਿਆਚਾਰ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰੋ ਜਿੱਥੇ ਕੋਡ ਦੀ ਸੁਰੱਖਿਆ ਟੀਮ ਦੀ ਪਛਾਣ ਦਾ ਹਿੱਸਾ ਹੋਵੇ।
ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਇੱਕ DevOps ਸਮੱਸਿਆ ਹੈ
ਬੌਧਿਕ ਸੰਪਤੀ ਲੀਕੇਜ ਕੋਈ ਸਿਧਾਂਤਕ ਜੋਖਮ ਨਹੀਂ ਹੈ। ਇਹ ਇੱਕ ਕਾਰਜਸ਼ੀਲ, ਸਾਖ ਸੰਬੰਧੀ ਅਤੇ ਵਿੱਤੀ ਖ਼ਤਰਾ ਹੈ ਜੋ ਰੋਜ਼ਾਨਾ ਵਿਕਾਸ ਕਾਰਜ ਪ੍ਰਵਾਹ ਵਿੱਚ ਜੜ੍ਹਾਂ ਰੱਖਦਾ ਹੈ। ਸੋਰਸ ਕੋਡ ਦੀ ਹਰ ਲਾਈਨ ਨੂੰ ਕਾਰੋਬਾਰ-ਨਾਜ਼ੁਕ ਮੰਨ ਕੇ ਸ਼ੁਰੂਆਤ ਕਰੋ। ਬੌਧਿਕ ਸੰਪਤੀ ਸੁਰੱਖਿਆ ਨੂੰ ਇੱਕ ਨਿਰੰਤਰ ਪ੍ਰਕਿਰਿਆ ਬਣਾਓ, ਡਿਵੈਲਪਰ IDE ਤੋਂ ਲੈ ਕੇ pipeline ਆਉਟਪੁੱਟ. ਅਤੇ ਯਾਦ ਰੱਖੋ: ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਦਾ ਸਭ ਤੋਂ ਵਧੀਆ ਸਮਾਂ ਕੱਲ੍ਹ ਸੀ। ਦੂਜਾ ਸਭ ਤੋਂ ਵਧੀਆ ਸਮਾਂ ਹੁਣ ਹੈ।






