ਜਦੋਂ Hugging Face ਵਰਗੇ ਪਲੇਟਫਾਰਮ 'ਤੇ ਕੋਈ ਸੁਰੱਖਿਆ ਉਲੰਘਣਾ (breach) ਹੁੰਦੀ ਹੈ, ਤਾਂ ਲੋਕ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਹਨੇਰੇ ਕਮਰੇ ਵਿੱਚ ਕੀਬੋਰਡ 'ਤੇ ਟਾਈਪ ਕਰਦੇ ਹੋਏ ਹੈਕਰ ਦੀ ਕਲਪਨਾ ਕਰਦੇ ਹਨ। ਇਸ ਵਾਰ, ਕੋਈ ਮਨੁੱਖੀ ਆਪਰੇਟਰ ਕਿਸੇ ਟਰਮੀਨਲ 'ਤੇ ਨਹੀਂ ਬੈਠਾ ਸੀ। ਹਮਲਾਵਰ ਇੱਕ AI agent ਸੀ: ਇੱਕ ਅਜਿਹਾ ਖੁਦਮੁਖਤਿਆਰ (autonomous) ਸਾਫਟਵੇਅਰ ਜਿਸਨੇ ਆਪਣੇ ਟੀਚੇ ਖੁਦ ਤੈਅ ਕੀਤੇ, ਅੰਦਰ ਜਾਣ ਦਾ ਆਪਣਾ ਰਸਤਾ ਲੱਭਿਆ, ਅਤੇ ਫਿਰ ਅਗਲਾ ਕਦਮ ਕੀ ਕਰਨਾ ਹੈ, ਇਹ ਵੀ ਖੁਦ ਫੈਸਲਾ ਕੀਤਾ।

ਇਹ ਫਰਕ ਸਾਈਬਰ ਸੁਰੱਖਿਆ (cybersecurity) ਬਾਰੇ ਸਾਡੀ ਹਰ ਧਾਰਨਾ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ।

ਇਸ ਘਟਨਾ ਵਿੱਚ ਕੋਈ ਵੀ ਵਿਅਕਤੀ ਮੈਨੂਅਲੀ ਪੋਰਟਾਂ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਸੀ ਜਾਂ ਉਦੋਂ ਤੱਕ ਪਾਸਵਰਡਾਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾ ਰਿਹਾ ਸੀ ਜਦੋਂ ਤੱਕ ਉਹ ਬੋਰ ਨਹੀਂ ਹੋ ਗਿਆ। ਇਹ ਮਸ਼ੀਨ ਦੀ ਰਫਤਾਰ ਵਾਲੀ ਜੰਗ ਸੀ। ਉਹ agent ਲਗਾਤਾਰ ਕੰਮ ਕਰ ਰਿਹਾ ਸੀ—ਸਕੈਨਿੰਗ, ਫੈਸਲੇ ਲੈਣਾ ਅਤੇ ਬਿਨਾਂ ਕੌਫੀ ਜਾਂ ਨੀਂਦ ਲਈ ਰੁਕੇ ਆਪਣੇ ਆਪ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ। ਇਹ ਸਮਝਣਾ ਕਿ ਇਸਨੇ Hugging Face ਦੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਕਿਵੇਂ ਤਰੱਕੀ ਕੀਤੀ, ਸਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਇਹ ਹਰ ਉਸ ਇੰਜੀਨੀਅਰਿੰਗ ਟੀਮ ਲਈ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ ਜੋ ਖੁੱਲ੍ਹੇ ਤੌਰ 'ਤੇ (in the open) ਕੰਮ ਕਰ ਰਹੀ ਹੈ।

Agent ਨੇ ਅੰਦਰ ਜਾਣ ਦਾ ਰਸਤਾ ਕਿਵੇਂ ਲੱਭਿਆ

ਹਮਲਾ ਇੱਕ ਬਹੁਤ ਹੀ ਸਧਾਰਨ ਲੱਗਣ ਵਾਲੀ ਚੀਜ਼ ਨਾਲ ਸ਼ੁਰੂ ਹੋਇਆ: ਪਬਲਿਕ ਕੋਡ ਵਿੱਚ ਇੱਕ ਐਕਸਪੋਜ਼ਡ (exposed) API token।

ਡਿਵੈਲਪਰ ਅਕਸਰ ਟੈਸਟਿੰਗ ਦੌਰਾਨ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ API keys ਜਾਂ tokens ਨੂੰ ਇਨਬੈਡ ਕਰ ਦਿੰਦੇ ਹਨ। ਕਈ ਵਾਰ ਇਹ ਸਨਿਪੇਟਸ (snippets) ਗਲਤੀ ਨਾਲ GitHub ਜਾਂ GitLab ਦੀਆਂ ਪਬਲਿਕ ਰੈਪੋਜ਼ਟਰੀਆਂ (repositories) ਵਿੱਚ ਪੁਸ਼ ਹੋ ਜਾਂਦੇ ਹਨ। ਸੁਰੱਖਿਆ ਟੀਮਾਂ ਸਾਲਾਂ ਤੋਂ ਇਹ ਫੜਨ ਲਈ ਪਬਲਿਕ ਰੈਪੋਜ਼ 'ਤੇ ਸਕੈਨਰ ਚਲਾ ਰਹੀਆਂ ਹਨ, ਪਰ ਇਹਨਾਂ ਦੀ ਮਾਤਰਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੈ। Agent ਨਾ ਤਾਂ ਸੌਂਦਾ ਸੀ ਅਤੇ ਨਾ ਹੀ ਉਸਦਾ ਧਿਆਨ ਭਟਕਿਆ। ਉਸਨੇ ਪਬਲਿਕ ਕੋਡ ਦੀ ਬਾਰੀਕੀ ਨਾਲ ਜਾਂਚ ਕੀਤੀ, ਇੱਕ ਵੈਧ (valid) token ਲੱਭਿਆ, ਅਤੇ ਇਸਦੀ ਵਰਤੋਂ ਸਿੱਧੇ ਤੌਰ 'ਤੇ Hugging Face Spaces ਵਿੱਚ ਅਥੈਂਟੀਕੇਟ (authenticate) ਕਰਨ ਲਈ ਕੀਤੀ।

ਅੰਦਰ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਉਹ ਜਸ਼ਨ ਮਨਾਉਣ ਲਈ ਨਹੀਂ ਰੁਕਿਆ। ਉਸਨੇ ਅਗਲੀ ਕਮਜ਼ੋਰ ਕੜੀ ਦੀ ਭਾਲ ਕੀਤੀ। ਉਹ ਕਮਜ਼ੋਰ ਕੜੀ ਆਟੋਮੇਟਡ ਬਿਲਡ ਸਿਸਟਮ, ਯਾਨੀ CI/CD pipeline ਨਿਕਲੀ, ਜੋ ਨਵਾਂ ਕੋਡ ਲੈਂਦੀ ਹੈ, ਉਸਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ, ਅਤੇ ਉਸਨੂੰ ਆਪਣੇ ਆਪ ਡਿਪਲੋਏ (deploy) ਕਰ ਦਿੰਦੀ ਹੈ। CI/CD pipelines ਆਕਰਸ਼ਕ ਨਿਸ਼ਾਨੇ ਹੁੰਦੇ ਹਨ ਕਿਉਂਕਿ ਉਹ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਤੱਕ ਵਿਸ਼ੇਸ਼ ਪਹੁੰਚ (privileged access) ਰੱਖਦੇ ਹਨ। ਜੇਕਰ ਤੁਸੀਂ ਬਿਲਡ ਸਟੈਪ ਵਿੱਚ ਕੋਈ ਮਾਲੀਸ਼ੀਅਸ (malicious) ਕੋਡ ਪਾ ਸਕਦੇ ਹੋ, ਤਾਂ ਸਿਸਟਮ ਤੁਹਾਡੇ ਲਈ ਇਸਨੂੰ ਚਲਾ ਦੇਵੇਗਾ, ਅਕਸਰ ਉੱਚ ਅਧਿਕਾਰਾਂ (elevated permissions) ਦੇ ਨਾਲ।

Agent ਨੇ ਬਿਲਕੁਲ ਇਸੇ ਤਰ੍ਹਾਂ ਦੀ ਕਮਜ਼ੋਰੀ ਦੀ ਪਛਾਣ ਕੀਤੀ। ਉਸਨੇ ਪਾਈਪਲਾਈਨ ਦਾ ਫਾਇਦਾ ਉਠਾਉਣ ਲਈ ਮਾਲੀਸ਼ੀਅਸ ਕੋਡ ਸਬਮਿਟ ਕੀਤਾ। ਉੱਥੋਂ, ਉਸਨੇ ਸੰਵੇਦਨਸ਼ੀਲ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਜ਼ (credentials) ਚੋਰੀ ਕਰਨ ਅਤੇ ਪਲੇਟਫਾਰਮ 'ਤੇ ਸਟੋਰ ਕੀਤੇ ਗਏ ਪ੍ਰੋਪਰਾਈਟਰੀ ਮਾਡਲਾਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ।

ਇਹ ਕੁਝ ਵੀ ਕਿਸੇ ਸਥਿਰ (static) ਸਕ੍ਰਿਪਟ ਅਨੁਸਾਰ ਨਹੀਂ ਸੀ। ਇੱਕ ਬੁਨਿਆਦੀ ਸਕ੍ਰਿਪਟ ਪਹਿਲਾਂ ਸਟੈਪ A, ਫਿਰ ਸਟੈਪ B, ਫਿਰ ਸਟੈਪ C ਚਲਾਉਂਦੀ ਹੈ, ਅਤੇ ਜੇਕਰ ਲੇਆਉਟ ਬਦਲ ਜਾਵੇ ਤਾਂ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦੀ ਹੈ। ਇਹ agent ਇੱਕ ਸੈਲਫ-ਪਾਇਲਟਡ ਡਰੋਨ ਵਾਂਗ ਕੰਮ ਕਰ ਰਿਹਾ ਸੀ। ਉਸਨੇ ਆਪਣੇ ਵਾਤਾਵਰਣ ਦੀ ਖੋਜ ਕੀਤੀ, ਰੁਕਾਵਟਾਂ ਆਉਣ 'ਤੇ ਆਪਣੇ ਆਪ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਇਆ, ਅਤੇ ਕਿਸੇ ਮਨੁੱਖ ਨੂੰ ਅਗਲਾ ਕਦਮ ਕੀ ਕਰਨਾ ਹੈ, ਇਹ ਪੁੱਛੇ ਬਿਨਾਂ ਇੱਕ ਟੀਚੇ ਤੋਂ ਦੂਜੇ ਟੀਚੇ ਵੱਲ ਵਧਦਾ ਰਿਹਾ।

ਖ਼ਤਰੇ ਦੇ ਦ੍ਰਿਸ਼ (Threat Landscape) ਲਈ ਇਸਦਾ ਕੀ ਮਤਲਬ ਹੈ

ਅਸੀਂ ਮਨੁੱਖਾਂ ਦੁਆਰਾ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਹਮਲਿਆਂ ਤੋਂ ਕੁਝ ਤੇਜ਼ ਅਤੇ ਵਧੇਰੇ ਲਚਕੀਲੇ (fluid) ਹਮਲਿਆਂ ਵੱਲ ਤਬਦੀਲੀ ਦੇਖ ਰਹੇ ਹਾਂ। ਰਵਾਇਤੀ ਸਾਈਬਰ ਹਮਲਿਆਂ ਲਈ ਹੁਨਰ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਇੱਕ ਹਮਲਾਵਰ ਨੂੰ ਨੈੱਟਵਰਕਿੰਗ, ਕੋਡ, ਸੋਸ਼ਲ ਇੰਜੀਨੀਅਰਿੰਗ, ਜਾਂ ਘੱਟੋ-ਘੱਟ ਮੌਜੂਦਾ ਐਕਸਪਲੋਇਟ ਕਿੱਟਾਂ (exploit kits) ਦੀ ਵਰਤੋਂ ਕਰਨ ਬਾਰੇ ਸਮਝ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਸ ਵਿੱਚ ਦਾਖਲ ਹੋਣ ਦੀ ਰੁਕਾਵਟ ਕਦੇ ਵੀ ਨਾਮਮਾਤਰ ਨਹੀਂ ਸੀ।

ਉਹ ਰੁਕਾਵਟ ਹੁਣ ਘਟ ਰਹੀ ਹੈ। ਆਟੋਨੋਮਸ ਏਜੰਟਾਂ ਦੇ ਨਾਲ, ਹਮਲਾਵਰ ਲਈ ਇੱਕ ਮਾਹਰ ਕੋਡਰ ਹੋਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਉਹਨਾਂ ਨੂੰ