आप प्रॉम्प्ट इंजेक्शन (Prompt Injection) को रोक नहीं सकते। तो फिर आप क्या करें?
एक परफेक्ट सिस्टम मैसेज बनाने की कोशिश करना बंद करें। सुरक्षा को ठीक करने के लिए बेहतर मॉडल वर्जन का इंतज़ार करना बंद करें।
प्रॉम्प्ट इंजेक्शन होगा ही। जब दुर्भावनापूर्ण निर्देश (malicious instructions) कमांड की तरह दिखते हैं, तो कोई भी मॉडल भरोसेमंद तरीके से उन्हें मना नहीं कर पाता। यदि आप अपनी सुरक्षा को परफेक्ट मॉडल्स के आधार पर डिज़ाइन करते हैं, तो आप विफल हो जाएंगे।
अपना ध्यान बदलें। यह न पूछें कि इंजेक्शन को कैसे रोका जाए। यह पूछें कि इंजेक्शन सफल होने के बाद आपका एजेंट क्या कर सकता है।
नुकसान को सीमित करने के लिए इन नियमों का पालन करें:
- कैपेबिलिटी-स्कोपड क्रेडेंशियल्स (capability-scoped credentials) का उपयोग करें। अपने एजेंट को केवल वही अनुमतियाँ (permissions) दें जिनकी उसे वर्तमान कार्य के लिए आवश्यकता है। एडमिन की (admin key) वाले एजेंट की तुलना में केवल रीड-ओनली एक्सेस वाला एजेंट कम नुकसान पहुँचाता है।
- विनाशकारी कार्यों (destructive actions) पर रोक लगाएं। डिलीट करने, भुगतान करने या एक्सेस देने जैसे कार्यों के लिए दूसरे फैक्टर या मैन्युअल चेक की आवश्यकता रखें। मॉडल को यह तय न करने दें कि ये कार्य सुरक्षित हैं या नहीं।
- सभी बाहरी इनपुट को अविश्वसनीय (untrusted) मानें। इसमें यूजर मैसेज, वेब पेज, टूल आउटपुट और दस्तावेज़ शामिल हैं। जब डेटा कॉन्टेक्स्ट विंडो (context window) में प्रवेश करता है, तो वह अक्सर निर्देशों में बदल जाता है।
- अपने टूल आउटपुट पर नज़र रखें। कई फ्रेमवर्क टूल लॉग्स को सीधे मॉडल कॉन्टेक्स्ट में भेज देते हैं। 17,022 एजेंट स्किल्स के एक अध्ययन में पाया गया कि 73.5% मामलों में डिबग लॉग्स के माध्यम से क्रेडेंशियल्स लीक हो रहे थे। टूल आउटपुट से सीक्रेट्स (secrets) को मॉडल तक पहुँचने से पहले ही हटा दें (redact)।
- केवल गुणवत्ता ही नहीं, व्यवहार की भी निगरानी करें। एक हाईजैक किया गया एजेंट अनधिकृत कार्य करते समय भी उच्च गुणवत्ता वाला टेक्स्ट तैयार करता है। आपको सामान्य एक्शन सीक्वेंस का बेसलाइन बनाना चाहिए और विचलनों (deviations) पर अलर्ट सेट करना चाहिए।
व्यवहार संबंधी निगरानी के इन तीन स्तरों का उपयोग करें:
- स्टैटिक नियम (Static rules): स्पष्ट बदलावों को पकड़ें, जैसे कि एजेंट का अचानक ईमेल भेजना।
- सीक्वेंस पैटर्न (Sequence patterns): उन कार्यों को फ्लैग करें जो एजेंट के काम के सामान्य स्वरूप में फिट नहीं बैठते।
- स्वतंत्र समीक्षा (Independent review): प्राथमिक एजेंट का मूल्यांकन करने के लिए दूसरे मॉडल का उपयोग करें।
यदि आपका एजेंट मेमोरी का उपयोग करता है, तो उसे साफ रखें। एक अकेला इंजेक्शन एक ऐसा ज़हरीला तथ्य (poisoned fact) लिख सकता है जो हर सेशन में दोहराया जाता है। प्रति इंस्टेंस मेमोरी को स्कोप करें और ट्रैक करें कि जानकारी का हर हिस्सा कहाँ से आता है।
यदि अभी कोई एजेंट हाईजैक हो जाता है, तो क्या आप इसे अपने लॉग्स में देख पाएंगे? या आप बिना किसी जानकारी के अंधेरे में काम कर रहे हैं?
Source: https://dev.to/brennhill/you-cant-prevent-prompt-injection-so-what-do-you-actually-do-1d37
Optional learning community: https://t.me/GyaanSetuAi
