જો તમને પૂછવામાં આવ્યું હોય કે પ્રોમ્પ્ટ ઇન્જેક્શન શું છે અને તમને ફક્ત અડધો જવાબ મળ્યો છે, તો અહીં ટૂંકું સંસ્કરણ છે: તે એક હુમલો તકનીક છે જ્યાં AI મોડેલ પ્રક્રિયા કરે છે તે ઇનપુટમાં દૂષિત અથવા ચાલાકીપૂર્ણ ટેક્સ્ટ સ્લિપ કરવામાં આવે છે, તેને તેની મૂળ સૂચનાઓને અવગણવા અને તેના બદલે હુમલાખોરના સૂચનોને અનુસરવા માટે છેતરવામાં આવે છે. તે પ્રોમ્પ્ટ ઇન્જેક્શનનો મુખ્ય અર્થ છે: તે કોડમાં બગ નથી, તે એક હુમલો છે જે પરંપરાગત એક્સપ્લોઇટ કોડને બદલે સામાન્ય ભાષાનો ઉપયોગ કરીને મોડેલની સૂચનાઓને હાઇજેક કરે છે.
પ્રોમ્પ્ટ ઇન્જેક્શનનો સાદા શબ્દોમાં અર્થ #
ઇન્જેક્શનના સંકેતનો અર્થ શબ્દ-દર-શબ્દ વિભાજીત કરવાથી તે ટકી રહેવામાં મદદ મળે છે:
- પ્રોમ્પ્ટ: સૂચનાઓ અને સંદર્ભ AI મોડેલમાં ફીડ કરવામાં આવે છે, પછી ભલે તે વપરાશકર્તા દ્વારા સીધા ટાઇપ કરવામાં આવે અથવા દસ્તાવેજ, વેબપેજ અથવા API પ્રતિભાવમાંથી આપમેળે ખેંચવામાં આવે.
- ઇન્જેક્શન: એવું કંઈક દાખલ કરવું જે ત્યાં હોવું જોઈતું ન હતું, SQL ઇન્જેક્શન જેવા જ લોજિકમાંથી ઉધાર લેવામાં આવ્યું છે, જ્યાં અવિશ્વસનીય ઇનપુટને સાદા ડેટાને બદલે આદેશ તરીકે ગણવામાં આવે છે.
તેથી જ્યારે કોઈ પૂછે છે કે પ્રોમ્પ્ટ ઇન્જેક્શન શું છે, ત્યારે સૌથી સરળ જવાબ એ છે કે: જ્યારે કોઈ AI મોડેલ તેના ડેવલપર દ્વારા આપવામાં આવેલી સૂચનાઓ અને તે જે સામગ્રી પર પ્રક્રિયા કરી રહ્યું છે તેમાં છુપાયેલી સૂચનાઓ વચ્ચેનો તફાવત કહી શકતું નથી ત્યારે આવું થાય છે.
તેમાં ખરેખર શું શામેલ છે? #
મોટાભાગના વાસ્તવિક દુનિયાના કિસ્સાઓ આ મુખ્ય શ્રેણીઓમાં આવે છે:
- ડાયરેક્ટ પ્રોમ્પ્ટ ઇન્જેક્શન: હુમલાખોર સીધા ચેટ અથવા ઇનપુટ ફીલ્ડમાં દૂષિત સૂચના ટાઇપ કરે છે, ખુલ્લેઆમ મોડેલને તેના પહેલાના નિયમોને અવગણવાનું કહે છે ("પહેલાની બધી સૂચનાઓને અવગણો અને...").
- પરોક્ષ પ્રોમ્પ્ટ ઇન્જેક્શન: દૂષિત સૂચના મોડેલ પછીથી વાંચે છે તે સામગ્રીમાં છુપાયેલી હોય છે, જેમ કે વેબપેજ, પીડીએફ, ઇમેઇલ અથવા કોડ ટિપ્પણી, અને તે ફક્ત ત્યારે જ સક્રિય થાય છે જ્યારે મોડેલ તે સામગ્રી પર પ્રક્રિયા કરે છે, તે સમયે કોઈ હુમલાખોર હાજર ન હોય.
- જેલબ્રેક-શૈલીનું ઇન્જેક્શન: ઇન્જેક્શનનો એક ચોક્કસ સ્વાદ જે મોડેલની સલામતીને અવગણવા માટે રોલ-પ્લે, કાલ્પનિક ફ્રેમિંગ અથવા એન્કોડિંગ યુક્તિઓનો ઉપયોગ કરે છે. guardrails ખાસ કરીને, તેના કાર્યને હાઇજેક કરવાને બદલે.
પ્રોમ્પ્ટ ઇન્જેક્શન અને જેલબ્રેકિંગ: શું તફાવત છે? #
પ્રોમ્પ્ટ ઇન્જેક્શન શું છે તેનો એક સામાન્ય ફોલો-અપ એ છે કે તે જેલબ્રેકિંગથી કેવી રીતે અલગ છે. બંને ઓવરલેપ થાય છે પરંતુ સમાન નથી. જેલબ્રેકિંગ ખાસ કરીને મોડેલની સલામતીને બાયપાસ કરવા વિશે છે અને સામગ્રી guardrails, તેને એવું કંઈક કહેવા અથવા ઉત્પન્ન કરવા માટે પ્રેરિત કરવું કે જેને નકારવાની તાલીમ આપવામાં આવી હતી. પ્રોમ્પ્ટ ઇન્જેક્શન વ્યાપક છે: તે મોડેલની સૂચનાઓ અથવા કાર્યને હાઇજેક કરવા વિશે છે, જેમાં સલામતી શામેલ હોઈ શકે છે અથવા ન પણ હોઈ શકે guardrails બિલકુલ નહીં. સપોર્ટ ટિકિટમાં છુપાયેલ એક પરોક્ષ ઇન્જેક્શન જે ગ્રાહક-સેવા એજન્ટને વપરાશકર્તાનો ડેટા બાહ્ય સરનામાં પર ઇમેઇલ કરવાનું કહે છે તે કંઈપણ જેલબ્રેક કરવાનો પ્રયાસ કરતું નથી; તે કાર્યને જ રીડાયરેક્ટ કરી રહ્યું છે.
જ્યાં પ્રોમ્પ્ટ ઇન્જેક્શન ખરેખર દેખાય છે #
એકવાર તમે પ્રોમ્પ્ટ ઇન્જેક્શનનો અર્થ સમજી લો, પછી વાસ્તવિક સિસ્ટમોમાં જોખમ ક્યાં રહે છે તે શોધવાનું સરળ બને છે:
MCP સર્વર્સ અને AI કોડિંગ સહાયકો - દૂષિત ટિપ્પણી, README, અથવા ટૂલ-રિઝલ્ટ પેલોડ એજન્ટ ડેવલપરના કોડબેઝ અથવા ટર્મિનલમાં શું કરે છે તે રીડાયરેક્ટ કરી શકે છે. તે જે પ્રોગ્રામિંગ ભાષાની આસપાસ બનેલ છે તેના પર આધાર રાખે છે, પરંતુ મુખ્ય વિચાર (એડિટર + બિલ્ડ ટૂલ્સ + ડીબગર, એક જગ્યાએ) એ જ રહે છે.
ચેટબોટ્સ અને સપોર્ટ એજન્ટ્સ - વપરાશકર્તા બોટને તેની સિસ્ટમ પ્રોમ્પ્ટ બતાવવા અથવા અનિચ્છનીય ક્રિયાઓ કરવા માટે ઇન્જેક્ટેડ ટેક્સ્ટ પેસ્ટ કરે છે.
રીટ્રીવલ-ઓગમેન્ટેડ જનરેશન (RAG) pipelines - જ્ઞાન આધારમાં ઝેરી દસ્તાવેજમાં સૂચનાઓ હોય છે જે પુનઃપ્રાપ્ત થવા પર સક્રિય થાય છે.
સ્વાયત્ત AI એજન્ટો - એક એજન્ટ જે વેબ બ્રાઉઝ કરે છે, ઇમેઇલ વાંચે છે અથવા ટૂલ્સ પર કૉલ કરે છે તે કોઈપણ સામગ્રીને સ્પર્શ કરે છે તેમાંથી ઇન્જેક્ટેડ સૂચનાઓ લઈ શકે છે, અને પછી વાસ્તવિક પરવાનગીઓ સાથે તેના પર કાર્ય કરી શકે છે.
"ફક્ત એક તાત્કાલિક યુક્તિ" ઉપરાંત પ્રોમ્પ્ટ ઇન્જેક્શનનો અર્થ કેમ મહત્વપૂર્ણ છે #
તેને નવીનતા તરીકે નકારી કાઢવું સરળ છે, ચેટબોટને કંઈક મૂર્ખ કહેવા માટે એક ચતુરાઈભરી રીત. પરંતુ એકવાર AI મોડેલો એવા એજન્ટોમાં જોડાઈ જાય છે જે ઇમેઇલ મોકલી શકે છે, કોડ ચલાવી શકે છે, ડેટાબેઝ ક્વેરી કરી શકે છે અથવા પેકેજો ઇન્સ્ટોલ કરી શકે છે, પ્રોમ્પ્ટ ઇન્જેક્શન ચેટ-વિન્ડો જિજ્ઞાસા બનવાનું બંધ કરે છે અને વાસ્તવિક સુરક્ષા સીમા સમસ્યા બની જાય છે: જે કોઈ મોડેલ વાંચે છે તે સામગ્રીને નિયંત્રિત કરે છે તે યોગ્ય પરિસ્થિતિઓમાં, તે મોડેલ આગળ શું કરે છે તે નિયંત્રિત કરી શકે છે. તેથી જ આ ઇન્જેક્શન હવે તેની પોતાની શ્રેણી તરીકે દેખાય છે. LLM અરજીઓ માટે OWASP ટોચના 10, અને શા માટે પ્રોમ્પ્ટ ઇન્જેક્શન શું છે તે સમજવું હવે AI-સંચાલિત સિસ્ટમો બનાવનાર અથવા સુરક્ષિત કરનાર કોઈપણ માટે મૂળભૂત જ્ઞાન માનવામાં આવે છે, ફક્ત લાલ-ટીમર્સ માટે જિજ્ઞાસાનો વિષય નથી.
જો તમે આને ખાસ કરીને AppSec અને DevSecOps ના દ્રષ્ટિકોણથી જોઈ રહ્યા છો, એટલે કે, AI એજન્ટો, MCP સર્વર્સ અને AI-જનરેટેડ કોડમાં પ્રોમ્પ્ટ ઇન્જેક્શન જોખમ કેવી રીતે દેખાય છે તેના બદલે ફક્ત શબ્દનો અર્થ શું છે, તો અમે તેને અહીં વધુ ઊંડાણપૂર્વક આવરી લીધું છે: એઆઈ સપ્લાય ચેઇન સુરક્ષા.

FAQ #
આ એક એવો હુમલો છે જેમાં AI મોડેલ જે ઇનપુટ અથવા સામગ્રી પર પ્રક્રિયા કરે છે તેમાં દૂષિત સૂચનાઓ છુપાયેલી હોય છે, જેના કારણે મોડેલ તેના મૂળ સૂચનોને બદલે હુમલાખોરની સૂચનાઓનું પાલન કરે છે.
તે "પ્રોમ્પ્ટ" (એઆઈ મોડેલને આપવામાં આવતી સૂચનાઓ અને સંદર્ભ) ને "ઇન્જેક્શન" (અનધિકૃત આદેશો એવી વસ્તુમાં દાખલ કરવા જેમાં ફક્ત ડેટા હોવો જોઈએ) સાથે જોડે છે, જે SQL ઇન્જેક્શન જેવા જૂના હુમલાઓ પાછળનો મુખ્ય વિચાર છે.
ના. જેલબ્રેકિંગ ખાસ કરીને મોડેલની સલામતીને લક્ષ્ય બનાવે છે guardrails તેને અસ્વીકૃત સામગ્રી ઉત્પન્ન કરવા માટે. પ્રોમ્પ્ટ ઇન્જેક્શન વ્યાપક છે: તે મોડેલના કાર્ય અથવા સૂચનાઓને હાઇજેક કરે છે, જેનો સલામતી ફિલ્ટર્સ સાથે કોઈ લેવાદેવા નથી.
હા. આને પરોક્ષ પ્રોમ્પ્ટ ઇન્જેક્શન કહેવામાં આવે છે: દૂષિત સૂચના દસ્તાવેજ, વેબપેજ અથવા ફાઇલની અંદર રહે છે જેને મોડેલ અથવા એજન્ટ પછીથી વાંચે છે, અને સામગ્રી પર પ્રક્રિયા થાય તે ક્ષણે તે આપમેળે ટ્રિગર થાય છે.
ના. તે મોડેલ કુદરતી ભાષાનું અર્થઘટન કેવી રીતે કરે છે તેનો ઉપયોગ કરે છે, એપ્લિકેશન કોડમાં ખામીનો નહીં. આ જ કારણ છે જે પરંપરાગત સુરક્ષા સાધનો સાથે પેચ કરવાનું મુશ્કેલ બનાવે છે.