നിങ്ങളുടെ AI ഏജന്റിന്റെ സുരക്ഷ അതിന്റെ ടൂളുകളെ ആശ്രയിച്ചിരിക്കുന്നു
നിങ്ങളുടെ AI ഏജന്റിനെ സുരക്ഷിതമാക്കാൻ നിങ്ങൾ ഒരുപാട് സമയം ചെലവഴിക്കുന്നുണ്ടാകാം. നിങ്ങൾ പെർമിഷനുകൾ പരിമിതപ്പെടുത്തുന്നു (scope permissions). കോഡുകൾ സാൻഡ്ബോക്സ് (sandbox) ചെയ്യുന്നു. ഔട്ട്പുട്ടുകൾ നിരീക്ഷിക്കുന്നു.
എന്നാൽ ഏജന്റ് ഒരു തേർഡ് പാർട്ടി ടൂൾ ലോഡ് ചെയ്യുമ്പോൾ, പെട്ടെന്ന് നിങ്ങളുടെ സുരക്ഷാ പ്രവർത്തനങ്ങൾ പരാജയപ്പെടുന്നു.
ഏജന്റ് വിളിക്കുന്ന (calls) മറ്റ് ഏജന്റുകളുടെയും ടൂളുകളുടെയും സുരക്ഷയ്ക്ക് അനുസൃതമായി മാത്രമേ നിങ്ങളുടെ ഏജന്റിനും സുരക്ഷാറഭ്യകത ഉണ്ടാവുകയുള്ളൂ. ഇത് മറ്റെല്ലാ ഏജന്റുകളുമായും ഒരു രജിസ്ട്രി, ഐഡന്റിറ്റി പ്ലെയിൻ (identity plane), ഗേറ്റ്വേ എന്നിവ പങ്കിടുന്നു. ഒരു ടൂളിലുണ്ടാകുന്ന ചെറിയൊരു പരാജയം പോലും നിങ്ങളുടെ മുഴുവൻ സിസ്റ്റത്തിലും പടരാം.
മിക്ക ടീമുകളും ഏജന്റിനെ സുരക്ഷിതമാക്കുന്നുണ്ടെങ്കിലും അതിന്റെ ഇക്കോസിസ്റ്റം (ecosystem) മറന്നുപോകുന്നു. നിങ്ങളുടെ ഇൻഫ്രാസ്ട്രക്ചർ സംരക്ഷിക്കാൻ ഈ ആറ് തന്ത്രങ്ങൾ ഉപയോഗിക്കുക:
ഡിജിറ്റൽ ഫിംഗർപ്രിന്റുകൾ ഉപയോഗിക്കുക. ഒരു ടൂൾ തിങ്കളാഴ്ച സുരക്ഷിതമായി തോന്നിയേക്കാം, എന്നാൽ വ്യാഴാഴ്ച അത് വിനാശകാരിയായി മാറാം. വേർഷനുകൾ പിൻ (pin) ചെയ്യുക, ടൂൾ വിവരണത്തിന്റെയും (description) സ്കീമയുടെയും (schema) ഹാഷ് ഉപയോഗിക്കുക. ഓരോ തവണ ടൂൾ ലോഡ് ചെയ്യുമ്പോഴും ഈ ഫിംഗർപ്രിന്റ് വീണ്ടും പരിശോധിക്കുക. ഫിംഗർപ്രിന്റിൽ മാറ്റം വന്നാൽ ടൂൾ പ്രവർത്തിപ്പിക്കുന്നത് നിർത്തുക.
ടൂൾ പോയിസണിംഗ് (tool poisoning) തടയുക. ഒരു ടൂളിന്റെ വിവരണം മോഡലിന് നൽകുന്ന നിർദ്ദേശങ്ങൾക്കുള്ള ഒരു ചാനലാണ്. വിനാശകാരികളായ ടൂളുകൾ പ്രോംപ്റ്റ് ഇൻജക്ഷനുകൾ (prompt injections) പ്രേരിപ്പിക്കാൻ വിവരണങ്ങൾ ഉപയോഗിക്കുന്നു. ടൂൾ മെറ്റാഡാറ്റയെ (metadata) ശത്രുതാപരമായ ഇൻപുട്ട് ആയി പരിഗണിക്കുക. മറഞ്ഞിരിക്കുന്ന അക്ഷരങ്ങൾ, HTML കമന്റുകൾ, അല്ലെങ്കിൽ "ignore previous orders" പോലുള്ള നിർദ്ദേശങ്ങൾ എന്നിവയ്ക്കായി സ്കാൻ ചെയ്യുക.
പേര് മാറിപ്പോകുന്നത് തടയുക. വിശ്വസനീയമായ പേരുകൾക്ക് സമാനമായ പേരുകൾ വിനാശകാരികളായ സെർവറുകൾ ഉപയോഗിക്കാറുണ്ട്, ഉദാഹരണത്തിന് send_email എന്നതിന് പകരം send_emai1 എന്ന് ഉപയോഗിക്കാം. സമാനമായ പേരുകൾ കണ്ടെത്തി അടയാളപ്പെടുത്തുക (flag). ആശയക്കുഴപ്പം ഒഴിവാക്കാൻ ഓരോ ടൂളിനെയും അതിന്റെ വെരിഫൈ ചെയ്ത സെർവർ ഐഡന്റിറ്റി ഉപയോഗിച്ച് നെയിംസ്പേസ് (namespace) ചെയ്യുക.
ഒരു സിംഗിൾ ഗേറ്റ്വേ നിർമ്മിക്കുക. എല്ലാ ട്രാഫിക്കും ഓഡിറ്റ് ചെയ്യാൻ കഴിയുന്ന ഒരു കേന്ദ്രത്തിലൂടെ (choke point) മാത്രം കടത്തിവിടുക. ഈ ഗേറ്റ്വേ കോളർമാരെ ഓതന്റിക്കേറ്റ് ചെയ്യുകയും (authenticate), മറുപടികൾ സ്കാൻ ചെയ്യുകയും, റേറ്റ് ലിമിറ്റ് (rate-limit) ചെയ്യുകയും വേണം. ഗേറ്റ്വേ ഒരു പിശക് കണ്ടെത്തിയാൽ, ആ അഭ്യർത്ഥന നിരസിക്കണം. അത് വെറുതെ ലോഗ് ചെയ്ത് മുന്നോട്ട് പോകരുത്.
യഥാർത്ഥമായ ഒരു കിൽ സ്വിച്ച് (kill switch) നിർമ്മിക്കുക. മിക്ക കിൽ സ്വിച്ചുകളും പ്രധാന ഏജന്റിനെ മാത്രമേ നിർത്തുകയുള്ളൂ. ഇത് സബ് ഏജന്റുകളെയും (sub-agents) ടൂൾ സെഷനുകളെയും പ്രവർത്തിച്ചまま നിലനിർത്തുന്നു. ഒരു യഥാർത്ഥ സ്റ്റോപ്പ് സിഗ്നൽ എല്ലാ സബ് ഏജന്റുകളിലും എത്തുകയും എല്ലാ സെഷനുകളെയും സുരക്ഷിതമായ അവസ്ഥയിൽ എത്തിക്കുകയും വേണം.
നിങ്ങളുടെ സുരക്ഷാ സംവിധാനങ്ങൾ പരിശോധിക്കുക. നിങ്ങൾ ഒരിക്കലും പരിശോധിക്കാത്ത ഒരു കിൽ സ്വിച്ച് ഉപയോഗശൂന്യമാണ്. സ്വിച്ച് അമർത്തുമ്പോൾ സബ് ഏജന്റുകൾ ശരിക്കും നിർത്തുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ ഡ്രില്ലുകൾ (drills) നടത്തുക.
AI ടൂളുകളെ സോഫ്റ്റ്വെയർ ഡിപെൻഡൻസികൾ (software dependencies) പോലെ പരിഗണിക്കുക. അവയ്ക്ക് ഒരേ സുരക്ഷാ മാനദണ്ഡങ്ങൾ ബാധകമാക്കുക: പിൻ ചെയ്യുക, സൈൻ ചെയ്യുക, ഫിംഗർപ്രിന്റ് ചെയ്യുക, പരിശോധിക്കുക.
നിങ്ങളുടെ ഏജന്റുകൾ ഇന്ന് ലോഡ് ചെയ്യുന്ന ടൂളുകളെ നിങ്ങൾ എങ്ങനെയാണ് പരിശോധിക്കുന്നത്? നിങ്ങൾ അംഗീകരിച്ചതിന് ശേഷം ഒരു ടൂളിൽ മാറ്റം വന്നാൽ അത് നിങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയുമോ?
Source: https://dev.to/brennhill/your-ai-agent-is-only-as-secure-as-the-tools-and-agents-it-calls-53p7
Optional learning community: https://t.me/GyaanSetuAi
