રહસ્યો લીક કર્યા વિના AI નો ઉપયોગ કરવો

તમને એક એરર (error) આવે છે. તમે સ્ટેક ટ્રેસ (stack trace) કોપી કરો છો. તમે AI ને તેને સુધારવા માટે કહો છો. તમે ભૂલી જાઓ છો કે તે ટેક્સ્ટમાં તમારો DATABASE_URL અને પાસવર્ડ છે. AI ચાર સેકન્ડમાં જવાબ આપે છે. હવે તમારું રહસ્ય (secret) રિક્વેસ્ટ લોગ અથવા ટ્રેનિંગ સેટમાં છે. તમે તેને ડિલીટ કરી શકતા નથી.

AI માં રહસ્યો પેસ્ટ કરવા એ તેને કોઈ પબ્લિક સાઇટ પર પેસ્ટ કરવા જેવું છે. તમે તેને પાછા ખેંચી શકતા નથી.

હું કોડ શિપ કરવા માટે દરરોજ AI નો ઉપયોગ કરું છું. હું તેને ટાળતો નથી. હું તેનો ઉપયોગ 'થ્રેટ મોડલ' (threat model) સાથે કરું છું.

મોટાભાગના લોકો વિચારે છે કે પ્રોમ્પ્ટ (prompt) એ ખાનગી ચેટ છે. તે નથી. તે એક આઉટબાઉન્ડ રિક્વેસ્ટ (outbound request) છે.

  • ફ્રી ટિયર્સ (Free tiers) ઘણીવાર મોડલ્સને ટ્રેન કરવા માટે તમારા ડેટાનો ઉપયોગ કરે છે.
  • પેઇડ ટિયર્સ (Paid tiers) સામાન્ય રીતે તમારા ડેટા પર ટ્રેનિંગ ન આપવાનું વચન આપે છે.
  • પેઇડ ટિયર્સ પણ દુરુપયોગ શોધવા અને માનવીય સમીક્ષા માટે લોગ્સ સ્ટોર કરે છે.

ડેટા ત્રણ રીતે લીક થાય છે:

  • તમે જે પેસ્ટ કરો છો તે: કોડ સ્નિપેટ્સ (code snippets), કોન્ફિગ્સ (configs), અથવા ટ્રેસ (traces).
  • ટૂલ્સ આપમેળે જે જોડે છે તે: ઓપન ફાઇલ્સ, રિપો કોન્ટેક્સ્ટ (repo context), અથવા ટર્મિનલ આઉટપુટ.
  • મોડલ જે પાછું મોકલે છે તે: PR ડિસ્ક્રિપ્શન અથવા લોગમાં દેખાતા રહસ્યો.

AI પ્રોવાઈડર એક વિશ્વાસુ તૃતીય પક્ષ (third party) છે. તમે તેમની આંતરિક પાઇપલાઇન્સનું ઓડિટ કરી શકતા નથી. પ્રોમ્પ્ટ બોક્સને એક અવિશ્વાસુ નેટવર્ક કોલની જેમ ગણો.

આ વસ્તુઓ મોકલવાનું બંધ કરો:

  • લાઈવ API કી અથવા ટોકન્સ.
  • .env ફાઇલ્સની સામગ્રી.
  • પ્રાઇવેટ કી અથવા સર્ટિફિકેટ્સ.
  • વાસ્તવિક ગ્રાહકોના નામ, ઈમેલ અથવા પેમેન્ટ ડેટા.
  • પ્રોપ્રાઇટરી લોજિક (Proprietary logic) જેને તમે ઓપન-સોર્સ નહીં કરો.

તેના બદલે પ્લેસહોલ્ડર્સ (placeholders) નો ઉપયોગ કરો. [API_KEY] અથવા [DB_PASSWORD] નો ઉપયોગ કરો. AI માસ્ક સાથે પણ એટલું જ સારું કામ કરે છે.

આ ત્રણ આદતો કેળવો:

  • AI ઇગ્નોર ફાઇલ (ignore file) નો ઉપયોગ કરો. .env અને સિક્રેટ ફોલ્ડર્સને ટૂલના કોન્ટેક્સ્ટની બહાર રાખો.
  • મોકલતા પહેલા સ્કેન કરો. પેસ્ટ કરતા પહેલા તમારા ટેક્સ્ટ પર સિક્રેટ ડિટેક્ટર (secret detector) ચલાવો.
  • રહસ્યોને એન્ક્રિપ્ટેડ રાખો. જો રહસ્યો ફક્ત રનટાઇમ (runtime) પર મેમરીમાં જ હોય, તો તમે તેને પેસ્ટ કરી શકતા નથી.

તમારા વિકલ્પોનો સારાંશ:

  • ફ્રી/કન્ઝ્યુમર (Free/Consumer): પબ્લિક ડોક્યુમેન્ટ્સ અથવા કામચલાઉ સ્નિપેટ્સ માટે ઉપયોગ કરો.
  • પેઇડ પ્રો/ટીમ (Paid Pro/Team): મોટાભાગના એન્જિનિયરિંગ કામ માટે ઉપયોગ કરો. તેમાં કરારબદ્ધ સુરક્ષા (contractual protections) હોય છે.
  • લોકલ/સેલ્ફ-હોસ્ટેડ (Local/Self-hosted): નિયંત્રિત ડેટા માટે ઉપયોગ કરો જે તમારી મશીન પર જ રહેવો જોઈએ.

'નો-ટ્રેનિંગ ગેરંટી' (no-training guarantee) એ એક કરાર છે. તે ટેકનિકલ શીલ્ડ (shield) નથી. તે જોખમ ઘટાડે છે પરંતુ તેને સંપૂર્ણપણે ખતમ કરતું નથી.

AI તમારા કોડને સ્પર્શે તે પહેલાં આ પગલાં અનુસરો:

  • તમારા AI ટૂલ્સ માટે ઇગ્નોર ફાઇલ ઉમેરો.
  • તમે જે કંઈ પણ પેસ્ટ કરો છો તેનું સ્કેન કરો.
  • તમામ ક્રેડેન્શિયલ્સને પ્લેસહોલ્ડર્સ સાથે માસ્ક કરો.
  • પ્રોપ્રાઇટરી કામ માટે પેઇડ ટિયર્સનો ઉપયોગ કરો.
  • રહસ્યોને પ્લેનટેક્સ્ટ (plaintext) માંથી દૂર રાખવા માટે KMS નો ઉપયોગ કરો.
  • AI આઉટપુટ તમારા લોગ્સ અથવા કમિટ્સમાં પહોંચે તે પહેલાં તેની સમીક્ષા કરો.

ચાર સેકન્ડનો જવાબ હજુ પણ ઝડપી છે. બસ તે તમારી સુરક્ષાના ભોગે ન હોવો જોઈએ.

સ્ત્રોત: https://dev.to/faizahmedfarooqui/using-ai-without-leaking-your-secrets-a-threat-model-for-ai-assisted-development-2l57

વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi