ਲੁਕਾਉਣਾ ਸੁਰੱਖਿਅਤ ਕਰਨ ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ

ਇੱਕ ਗੈਰ-ਇੰਜੀਨੀਅਰ ਕਾਰਜਕਾਰੀ (executive) ਨੇ ਹਾਲ ਹੀ ਵਿੱਚ ਦੋ ਦਿਨਾਂ ਵਿੱਚ ਇੱਕ B2B SaaS ਬਣਾਇਆ। ਉਨ੍ਹਾਂ ਨੇ ਸਭ ਕੁਝ ਲਿਖਣ ਲਈ AI ਦੀ ਵਰਤੋਂ ਕੀਤੀ। ਉਤਪਾਦ ਕੰਮ ਕਰਦਾ ਹੈ। ਗਾਹਕ ਇਸਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਫੀਚਰ ਤੇਜ਼ੀ ਨਾਲ ਲਾਂਚ ਹੁੰਦੇ ਹਨ।

ਫਿਰ ਮੈਨੂੰ ਇਨਫਰਾਸਟ੍ਰਕਚਰ (infrastructure) ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਮਿਲੀ। ਮੇਰਾ ਕੰਮ ਉਸ ਕੋਡ ਵਿੱਚ ਜੋਖਮਾਂ ਨੂੰ ਲੱਭਣਾ ਹੈ ਜੋ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰੋਡਕਸ਼ਨ (production) ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ।

ਮੈਨੂੰ ਇੱਕ ਵੱਡੀ ਸੁਰੱਖਿਆ ਕਮੀ (security flaw) ਮਿਲੀ। API key ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਸੋਰਸ ਕੋਡ (source code) ਵਿੱਚ ਹਾਰਡਕੋਡ ਕੀਤੀ ਗਈ ਸੀ।

ਮੈਂ ਕਾਰਜਕਾਰੀ ਨੂੰ ਦੱਸਿਆ ਕਿ ਇਹ ਖ਼ਤਰਨਾਕ ਸੀ। ਉਨ੍ਹਾਂ ਨੇ ਇਸਨੂੰ ਤੁਰੰਤ ਠੀਕ ਕਰ ਦਿੱਤਾ।

ਕੀ (key) ਕੋਡ ਵਿੱਚੋਂ ਤਾਂ ਚਲੀ ਗਈ ਸੀ, ਪਰ ਹੁਣ ਇਹ ਸੈੱਟਅੱਪ ਸਟੈਪ ਵਜੋਂ README ਫਾਈਲ ਵਿੱਚ ਸੀ। ਉਹ ਗੁਪਤ ਜਾਣਕਾਰੀ (secret) ਕੋਡ ਤੋਂ ਦਸਤਾਵੇਜ਼ (documentation) ਵਿੱਚ ਚਲੀ ਗਈ ਸੀ। ਇਹ ਅਜੇ ਵੀ ਰਿਪੋਜ਼ਟਰੀ (repository) ਦੇ ਅੰਦਰ ਸੀ। ਅਸਲ ਵਿੱਚ ਹੁਣ ਇਸਨੂੰ ਲੱਭਣਾ ਹੋਰ ਵੀ ਸੌਖਾ ਸੀ।

ਮੈਂ ਦੁਬਾਰਾ ਸਮੱਸਿਆ ਸਮਝਾਈ। ਇਸ ਵਾਰ, ਉਨ੍ਹਾਂ ਨੇ ਕੀ (key) ਨੂੰ ਡਾਟਾਬੇਸ (database) ਵਿੱਚ ਭੇਜ ਦਿੱਤਾ।

ਇਹ ਤਰੱਕੀ ਵਾਂਗ ਲੱਗਿਆ। ਕੀ (key) ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਬਾਹਰ ਸੀ। ਪਰ ਜਦੋਂ ਮੈਂ ਡਾਟਾਬੇਸ ਦੀ ਜਾਂਚ ਕੀਤੀ, ਤਾਂ ਕੀ (key) ਉੱਥੇ ਪਲੇਨਟੈਕਸਟ (plaintext) ਵਿੱਚ ਸੀ। ਕੋਈ ਐਨਕ੍ਰਿਪਸ਼ਨ (encryption) ਨਹੀਂ ਸੀ। ਡਾਟਾਬੇਸ ਤੱਕ ਪਹੁੰਚ ਰੱਖਣ ਵਾਲਾ ਕੋਈ ਵੀ ਇਸਨੂੰ ਪੜ੍ਹ ਸਕਦਾ ਸੀ।

ਕੀ (key) ਤਿੰਨ ਵਾਰ ਬਦਲੀ:

ਸਥਾਨ ਬਦਲ ਗਿਆ ਸੀ, ਪਰ ਸੁਰੱਖਿਆ ਵਿੱਚ ਕੋਈ ਸੁਧਾਰ ਨਹੀਂ ਹੋਇਆ। ਉਹ ਗੁਪਤ ਜਾਣਕਾਰੀ ਨੂੰ ਲੁਕਾ ਰਹੇ ਸਨ, ਉਸਨੂੰ ਸੁਰੱਖਿਅਤ (conceal) ਨਹੀਂ ਕਰ ਰਹੇ ਸਨ।

ਲੁਕਾਉਣ (Hiding) ਦਾ ਮਤਲਬ ਹੈ ਕਿਸੇ ਚੀਜ਼ ਨੂੰ ਨਜ਼ਰਾਂ ਤੋਂ ਦੂਰ ਰੱਖਣਾ। ਛੁਪਾਉਣ (Concealing) ਦਾ ਮਤਲਬ ਹੈ ਇਸਨੂੰ ਹਮਲਾਵਰ ਲਈ ਬੇਕਾਰ ਬਣਾ ਦੇਣਾ।

ਸਾਫਟਵੇਅਰ ਵਿੱਚ, ਤੁਹਾਨੂੰ ਇਹ ਨਿਯਮਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ:

ਇਹ ਉਦੋਂ ਵੀ ਹੋਇਆ ਜਦੋਂ ਕਾਰਜਕਾਰੀ ਨੇ ਉਪਲਬਧ ਸਭ ਤੋਂ ਉੱਨਤ AI ਮਾਡਲਾਂ ਦੀ ਵਰਤੋਂ ਕੀਤੀ।

AI ਤੁਹਾਨੂੰ ਅਜਿਹਾ ਕੋਡ ਦੇਣ ਲਈ ਬਣਾਇਆ ਗਿਆ ਹੈ ਜੋ ਚੱਲਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇਸਨੂੰ ਕੁਝ ਹੋਰ ਨਹੀਂ ਦੱਸਦੇ, ਤਾਂ ਇਹ ਖੁਸ਼ੀ-ਖੁਸ਼ੀ ਅਜਿਹਾ ਕੋਡ ਲਿਖ ਦੇਵੇਗਾ ਜਿਸ ਵਿੱਚ ਪਲੇਨਟੈਕਸਟ ਸੀਕਰੇਟ ਹੋਵੇਗਾ। AI ਸਮਰੱਥਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਪਰ ਇਹ ਆਪਣੇ ਆਪ ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦਾ।

ਬੁੱਧੀ (Intelligence) ਉਦੋਂ ਹੀ ਸੁਰੱਖਿਆ ਬਣਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ ਕਿ ਕਿਸ ਚੀਜ਼ ਦੀ ਰੱਖਿਆ ਕਰਨੀ ਹੈ।

ਜੇਕਰ ਤੁਹਾਨੂੰ ਲੱਗਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਸਿਰਫ ਇਸ ਲਈ ਸੁਰੱਖਿਆ ਦੇ ਛੇਦ (security hole) ਨੂੰ ਠੀਕ ਕਰ ਦਿੱਤਾ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਇਸਨੂੰ ਹਿਲਾ ਦਿੱਤਾ ਹੈ, ਤਾਂ ਰੁਕ ਜਾਓ। ਆਪਣੇ ਆਪ ਨੂੰ ਪੁੱਛੋ:

ਇੱਕ ਗੁਪਤ ਜਾਣਕਾਰੀ ਸਹੀ ਜਗ੍ਹਾ 'ਤੇ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਨਾ ਕਿ ਸਿਰਫ ਇੱਕ ਅਦਿੱਖ ਜਗ੍ਹਾ 'ਤੇ।

Source: https://dev.to/jun_uen0/playing-hide-and-seek-with-an-api-key-our-cfos-claude-code-kept-hiding-job

Optional learning community: https://t.me/GyaanSetuAi