"Friendly Fire" ਸੁਰੱਖਿਆ ਅਧਿਐਨ ਨੇ ਦਿਖਾਇਆ ਹੈ ਕਿ ਇੱਕ AI ਏਜੰਟ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ README ਫਾਈਲ ਵਿੱਚ ਮਾਲੀਸ਼ੀਅਸ (malicious) ਹਦਾਇਤ ਪਾ ਕੇ ਧੋਖਾ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਏਜੰਟ ਅੰਡਰਲਾਈਂ ਕੋਡ ਨੂੰ ਦੇਖੇ ਬਿਨਾਂ ਹੀ ਉਸ ਦੀ ਪਾਲਣਾ ਕਰੇਗਾ। ਇਹੀ ਖਾਮੀ ਇੱਕ ਨਿੱਜੀ ਬਲੌਗ-ਆਟੋਮੇਸ਼ਨ ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਵੀ ਸਾਹਮਣੇ ਆਈ ਜੋ ਇੱਕ ਅਣ-ਸੁਪਰਵਾਈਜ਼ਡ ਜਨਰੇਸ਼ਨ ਪੜਾਅ ਦੌਰਾਨ "auto-approve" ਫਲੈਗ 'ਤੇ ਨਿਰਭਰ ਸੀ, ਜਿਸ ਨਾਲ ਇੱਕ ਲੁਕਿਆ ਹੋਇਆ ਹਮਲੇ ਦਾ ਖੇਤਰ (attack surface) ਪ੍ਰਗਟ ਹੋ ਗਿਆ।

Friendly Fire ਅਧਿਐਨ ਇੱਕ ਲੁਕੇ ਹੋਏ ਹਮਲੇ ਦੇ ਰਾਹ (attack vector) ਨੂੰ ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ

Friendly Fire ਪੇਪਰ ਦੇ ਪਿੱਛੇ ਖੋਜਕਰਤਾਵਾਂ ਨੇ ਇੱਕ ਨਾਮਾਤਰ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਐਕਸਪਲੋਇਟ (exploit) ਦਾ ਪ੍ਰਦਰਸ਼ਨ ਕੀਤਾ: ਇੱਕ ਹਮਲਾਵਰ ਇੱਕ ਦਸਤਾਵੇਜ਼ੀ ਫਾਈਲ (documentation file) ਵਿੱਚ ਇੱਕ ਕਮਾਂਡ ਇਨਬੈਡ ਕਰਦਾ ਹੈ ਜਿਸ ਨੂੰ AI ਆਪਣੇ ਆਮ ਵਰਕਫਲੋ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਪੜ੍ਹਦਾ ਹੈ। ਕਿਉਂਕਿ ਏਜੰਟ ਫਾਈਲ ਦੀ ਸਮੱਗਰੀ 'ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹੈ, ਇਹ ਲੁਕੀ ਹੋਈ ਕਮਾਂਡ ਨੂੰ ਇੱਕ ਜਾਇਜ਼ ਹਦਾਇਤ ਵਜੋਂ ਚਲਾਉਂਦਾ ਹੈ। ਇਸ ਹਮਲੇ ਲਈ AI ਮਾਡਲ ਨੂੰ ਖੁਦ ਕੰਪ੍ਰੋਮਾਈਜ਼ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ; ਇਸ ਨੂੰ ਸਿਰਫ਼ ਉਸ ਡੇਟਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਜਿਸ ਨੂੰ ਮਾਡਲ ਪ੍ਰੋਸੈਸ ਕਰਦਾ ਹੈ ਜਦੋਂ ਕੋਈ ਇਨਸਾਨ ਦੇਖ ਨਹੀਂ ਰਿਹਾ ਹੁੰਦਾ।

ਅਧਿਐਨ ਦਾ ਮੁੱਖ ਯੋਗਦਾਨ ਪੇਲੋਡ (payload) ਦੀ ਨਵੀਨਤਾ ਨਹੀਂ ਹੈ, ਸਗੋਂ ਇਹ ਖੁਲਾਸਾ ਕਰਨਾ ਹੈ ਕਿ "auto-approve" ਮੋਡ—ਉਹ ਸੈਟਿੰਗਾਂ ਜੋ AI ਨੂੰ ਦੱਸਦੀਆਂ ਹਨ ਕਿ ਉਹ ਦੂਜੀ ਜਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਜੋ ਕੁਝ ਵੀ ਪੜ੍ਹਦਾ ਹੈ ਉਸ 'ਤੇ ਕਾਰਵਾਈ ਕਰੇ—ਬਾਹਰੀ ਡੇਟਾ ਸਰੋਤਾਂ ਨਾਲ ਇੱਕ ਅਸਪਸ਼ਟ ਭਰੋਸੇ ਦਾ ਰਿਸ਼ਤਾ ਬਣਾਉਂਦੀਆਂ ਹਨ। ਜਦੋਂ ਉਹ ਭਰੋਸਾ ਅੰਨ੍ਹਾ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਪਾਈਪਲਾਈਨ ਅਰਬੋਇਟਰੀ ਕੋਡ ਐਗਜ਼ੀਕਿਊਸ਼ਨ (arbitrary code execution) ਲਈ ਇੱਕ ਦਰਵਾਜ਼ਾ ਬਣ ਜਾਂਦੀ ਹੈ।

ਇੱਕ ਬਿਨਾਂ ਨਿਗਰਾਨੀ ਵਾਲੀ ਬਲੌਗ ਪਾਈਪਲਾਈਨ ਕਿਵੇਂ ਟੁੱਟ ਗਈ

ਅਧਿਐਨ ਦੇ ਲੇਖਕ ਨੇ ਇਹੀ ਤਰਕ ਇੱਕ ਨਿੱਜੀ ਬਲੌਗ-ਆਟੋਮੇਸ਼ਨ ਸਿਸਟਮ 'ਤੇ ਲਾਗੂ ਕੀਤਾ। ਵਰਕਫਲੋ ਵਿੱਚ ਤਿੰਨ ਪੜਾਅ ਸ਼ਾਮਲ ਹਨ:

  1. Generation stretch – AI ਬਿਨਾਂ ਕਿਸੇ ਮਨੁੱਖੀ ਨਿਗਰਾਨੀ ਦੇ ਲੇਖ ਲਿਖਦਾ ਹੈ।
  2. QA gate – ਇੱਕ ਆਟੋਮੇਟਡ ਕੁਆਲਿਟੀ-ਸਕੋਰ ਚੈੱਕ ਆਊਟਪੁੱਟ ਦਾ ਮੁਲਾਂਕਣ ਕਰਦਾ ਹੈ।
  3. Telegram button – ਪੋਸਟ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਇੱਕ ਮਨੁੱਖ ਨੂੰ ਬਟਨ ਦਬਾਉਣਾ ਪੈਂਦਾ ਹੈ।

ਜਨਰੇਸ਼ਨ ਸਟ੍ਰੈਚ ਦੌਰਾਨ ਲੇਖਕ ਨੇ dangerously-skip-permissions ਨਾਮਕ ਇੱਕ ਫਲੈਗ ਨੂੰ ਇਨੇਬਲ ਕੀਤਾ ਸੀ, ਜੋ AI ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਸੇ ਵੀ ਇਨਪੁੱਟ ਨੂੰ ਮਨਜ਼ੂਰ ਕੀਤਾ ਗਿਆ ਮੰਨਿਆ ਜਾਵੇ। ਇਹ ਫਲੈਗ ਅਸਲ ਵਿੱਚ Friendly Fire ਪੇਪਰ ਵਿੱਚ ਦੱਸੇ ਗਏ "auto-approve" ਮੋਡ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ।

ਬਾਅਦ ਵਿੱਚ ਕੀਤੇ ਗਏ ਆਡਿਟ ਨੇ ਇੱਕ ਵੱਡੀ ਖਾਮੀ ਦਾ ਖੁਲਾਸਾ ਕੀਤਾ: ਜੇਕਰ ਕੋਈ ਹਮਲਾਵਰ ਉਸ ਵਿੰਡੋ ਵਿੱਚ AI ਦੁਆਰਾ ਪੜ੍ਹੀ ਜਾਣ ਵਾਲੀ ਕਿਸੇ ਵੀ ਫਾਈਲ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਤਾਂ ਉਹ ਪੂਰੀ ਪਾਈਪਲਾਈਨ ਨੂੰ ਮੋੜ ਸਕਦਾ ਹੈ। ਲੇਖਕ ਦੇ ਆਪਣੇ ਸਿਸਟਮ ਵਿੱਚ ਛੇ ਵਿੱਚੋਂ ਪੰਜ ਵਾਰ ਚੁੱਪਚਾਪ ਅਸਫਲਤਾਵਾਂ (silent failures) ਦੇਖੀਆਂ ਗਈਆਂ ਕਿਉਂਕਿ ਇੱਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਨੇ ਅਣਜਾਣੇ ਵਿੱਚ ਦੂਜੀ ਸਕ੍ਰਿਪਟ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰ ਦਿੱਤਾ ਸੀ। ਐਗਜ਼ਿਟ ਕੋਡਾਂ ਜਾਂ QA ਸਕੋਰਾਂ ਦੀ ਕੋਈ ਲੌਗਿੰਗ ਨਾ ਹੋਣ ਕਾਰਨ, ਇਹ ਸਮੱਸਿਆ ਖੋਜੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਤਿੰਨ ਦਿਨਾਂ ਤੱਕ ਬਣੀ ਰਹੀ।

ਇਹ ਘਟਨਾ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਸੁਰੱਖਿਆ AI ਦੇ ਆਊਟਪੁੱਟ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਨਹੀਂ, ਸਗੋਂ ਜਨਰੇਸ਼ਨ ਪੜਾਅ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਤਿੰਨ ਸਪਸ਼ਟ ਚੈੱਕਪੁਆਇੰਟਾਂ ਤੋਂ ਆਉਂਦੀ ਹੈ।

ਸੁਰੱਖਿਆ ਅਸਲ ਵਿੱਚ ਕਿੱਥੇ ਹੁੰਦੀ ਹੈ

ਅਧਿਐਨ ਅਤੇ ਬਲੌਗ-ਆਟੋਮੇਸ਼ਨ ਦੀ ਅਸਫਲਤਾ ਇੱਕੋ ਬਿੰਦੂ 'ਤੇ ਮਿਲਦੇ ਹਨ: ਸੁਰੱਖਿਆ ਜਨਰੇਸ਼ਨ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਹਰ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ। ਜਦੋਂ AI "auto-approve" ਸਥਿਤੀ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਕਿਸੇ ਵੀ ਵਿਵਹਾਰ ਲਈ ਮਨਾਇਆ ਜਾ ਸਕਦਾ ਹੈ; ਸਿਰਫ਼ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਕੰਟਰੋਲ ਹੀ ਅਣਚਾਹੇ ਕਾਰਜਾਂ ਦਾ ਪਤਾ ਲਗਾ ਸਕਦੇ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਰੋਕ ਸਕਦੇ ਹਨ।

ਮੁੱਖ ਨਿਰੀਖਣ:

  • ਅੰਤ ਵਿੱਚ ਮਨੁੱਖੀ ਮਨਜ਼ੂਰੀ ਕੰਮ ਕਰਦੀ ਹੈ ਕਿਉਂਕਿ ਇਹ ਅੰਤਿਮ ਵਸਤੂ (artifact) ਦੀ ਸਮੀਖਿਆ ਕਰਦੀ ਹੈ, ਨਾ ਕਿ ਵਿਚਕਾਰਲੇ ਪੜਾਵਾਂ ਦੀ ਜੋ ਰੀਅਲ-ਟਾਈਮ ਨਿਗਰਾਨੀ ਲਈ ਬਹੁਤ ਤੇਜ਼ ਅਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਹੁੰਦੇ ਹਨ।
  • Quality thresholds ਜਨਰੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਪਰ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਲਾਗੂ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਜੋ ਘੱਟ-ਵਿਸ਼ਵਾਸ ਵਾਲੇ ਆਊਟਪੁੱਟ ਨੂੰ ਫੜ ਲੈਂਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨਾਲ ਛੇੜਛਾੜ ਕੀਤੀ ਗਈ ਹੋ ਸਕਦੀ ਹੈ।
  • ਹਰ ਐਗਜ਼ਿਟ ਕੋਡ, QA ਸਕੋਰ, ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਤਬਦੀਲੀ ਦੀ ਵਿਆਪਕ ਲੌਗਿੰਗ (Comprehensive logging) ਚੁੱਪਚਾਪ ਹੋਣ ਵਾਲੀਆਂ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ ਦਿਸਣਯੋਗ ਬਣਾਉਂਦੀ ਹੈ।

"auto-approve" ਏਜੰਟ ਚਲਾਉਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਲਈ ਸਬਕ

  1. ਸਭ ਕੁਝ ਲੌਗ ਕਰੋ – ਐਗਜ਼ਿਟ ਕੋਡ, QA ਸਕੋਰ, ਅਤੇ ਕੌਂਫਿਗਰੇਸ਼ਨ ਫਾਈਲਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਤਬਦੀਲੀ ਨੂੰ ਕੈਪਚਰ ਕਰੋ। ਤੁਸੀਂ ਉਸ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦੇ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਦੇਖ ਨਹੀਂ ਸਕਦੇ।
  2. ਇੱਕ ਸਖ਼ਤ ਕੁਆਲਿਟੀ ਗੇਟ ਲਾਗੂ ਕਰੋ – ਇੱਕ ਅਜਿਹਾ ਅਟੱਲ (non-negotiable) ਥ੍ਰੈਸ਼ਹੋਲਡ ਸੈੱਟ ਕਰੋ ਜੋ