AI ऐप्लिकेशन्स को सुरक्षित करनाएडवांस्डपाठ 1406 मिनट का पाठ

Vector stores और embedding लीक्स

Embeddings नंबरों की एक बेहानिकारक लिस्ट जैसी दिखती हैं। उनके साथ, और उन्हें रखने वाले vector store के साथ, उतनी ही सावधानी बरतें जितनी असली टेक्स्ट के साथ बरतते हैं।

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

60 सेकंड में

Vector stores और embedding लीक्स

Embeddings नंबरों की एक बेहानिकारक लिस्ट जैसी दिखती हैं। उनके साथ, और उन्हें रखने वाले vector store के साथ, उतनी ही सावधानी बरतें जितनी असली टेक्स्ट के साथ बरतते हैं।

1/5
आसान शब्दों में
उंगली का निशान आपका पूरा हाथ नहीं होता, लेकिन फिर भी यह आपके बारे में बहुत कुछ बता सकता है। एक embedding किसी टेक्स्ट के टुकड़े का एक तरह का फिंगरप्रिंट होती है।
एक embedding नंबरों की एक लिस्ट होती है जो किसी टेक्स्ट के टुकड़े के अर्थ को कैप्चर करती है। मिलते-जुलते अर्थ वाले टेक्स्ट को मिलते-जुलते नंबर मिलते हैं। एक vector store इन लिस्टों को सेव करता है ताकि आपका ऐप मिलता-जुलता टेक्स्ट जल्दी ढूंढ सके। OWASP इन जोखिमों को LLM08 Vector and Embedding Weaknesses के तहत रखता है।

Embeddings क्या उजागर कर सकती हैं

  • समानता (similarity) की जांच की जा सकती है। कोई भी जो सर्च चला सकता है और स्कोर्स देख सकता है, वह अंदाजे आज़मा सकता है: "क्या पुणे ऑफिस के लिए लेऑफ प्लान के करीब कोई डॉक्यूमेंट है?"
  • टेक्स्ट को कभी-कभी आंशिक रूप से रिकवर किया जा सकता है। रिसर्चर्स ने दिखाया है कि, कुछ स्थितियों में, embeddings से मूल टेक्स्ट के हिस्सों को फिर से बनाया जा सकता है। यह कितनी अच्छी तरह काम करता है यह मॉडल पर और अटैकर के पास किस चीज़ का एक्सेस है उस पर निर्भर करता है। यह एक एक्टिव रिसर्च का विषय है, इसलिए मानकर चलें कि ऐसा होना मुमकिन है।
  • कच्चा (raw) टेक्स्ट अक्सर वहीं मौजूद होता है। कई vector stores मेटाडेटा के रूप में हर वेक्टर के बगल में मूल चंक टेक्स्ट भी रखते हैं। तब स्टोर में प्लेन टेक्स्ट वैसे भी मौजूद रहता है।
यह करें
सीधा सा नियम: एक embedding उतनी ही सेंसिटिव होती है जितना वह टेक्स्ट जिससे वह बनी है। इसे उसी एक्सेस कंट्रोल, एन्क्रिप्शन, रिटेंशन और डिलीशन के नियमों से सुरक्षित रखें।

Vector stores के लिए कंट्रोल्स

जोखिमकंट्रोल
Vector डेटाबेस इंटरनेट से एक्सेस किया जा सकता हैसिर्फ प्राइवेट नेटवर्क; मजबूत ऑथेंटिकेशन; कोई डिफॉल्ट पासवर्ड नहीं; हर ऐप के लिए अलग क्रेडेंशियल्स
एक टेनेंट दूसरे के वेक्टर्स पढ़ लेता हैप्रति-टेनेंट कलेक्शन्स या नेमस्पेस, अनिवार्य फिल्टर्स, जहां संभव हो अलग कीज (keys)
यूज़र्स के सामने कच्चा (raw) सिमिलरिटी सर्च खुला होनासर्च एंडपॉइंट को सीधे एक्सपोज़ न करें; केवल जवाब लौटाएं, वेक्टर्स या स्कोर्स नहीं; रेट-लिमिट लगाएं
डेटा रेस्ट में और ट्रांजिट मेंडिस्क पर एन्क्रिप्शन और हर कनेक्शन पर TLS; कीज का सही ढंग से प्रबंधन करें
बैकअप, एक्सपोर्ट और टेस्ट कॉपियांप्रोडक्शन जितनी ही सुरक्षा; असली डेटा को लापरवाही से टेस्ट सिस्टम्स में कॉपी न करें
डिलीशन की रिक्वेस्ट्सहर डॉक्यूमेंट को उसके वेक्टर आईडी से मैप करें; वेक्टर्स, चंक टेक्स्ट, कैशे डिलीट करें; पॉलिसी के अनुसार बैकअप संभालें

डिलीशन और मिटाने का अधिकार (right to erasure)

प्राइवेसी कानून लोगों को उनके पर्सनल डेटा पर अधिकार देते हैं। भारत के डिजिटल पर्सनल डेटा प्रोटेक्शन एक्ट 2023 में, कई मामलों में, पर्सनल डेटा मिटाने का अधिकार शामिल है। जब आपके सोर्स सिस्टम में कोई डॉक्यूमेंट डिलीट किया जाता है, तो उसे vector store से भी हटाया जाना चाहिए। यह तभी मुमकिन है जब आपने ट्रैक किया हो कि कौन से वेक्टर्स किस डॉक्यूमेंट से आए थे।
Python: erase a document everywhere (generic)python
def erase_document(doc_id: str) -> None:
    vector_ids = index_map.pop(doc_id, [])      # doc id -> list of vector ids
    if vector_ids:
        vector_db.delete(ids=vector_ids)
    chunk_store.delete(doc_id)                  # stored chunk text
    answer_cache.invalidate(source=doc_id)      # cached answers that cited it
    audit_log.write(event="erased", doc_id=doc_id)
यह भी याद रखें कि नए embedding मॉडल पर स्विच करने का मतलब है सब कुछ दोबारा एम्बेड करना। काम पूरा होने पर पुराने वेक्टर्स को डिलीट कर दें, ताकि भूला हुआ पुराना कलेक्शन डिलीट किया गया या पुराना डेटा न रखे रहे।
"यह तो बस नंबर हैं"
  • डिफ़ॉल्ट पासवर्ड के साथ पब्लिक पोर्ट पर Vector store
  • सर्च API ब्राउज़र को स्कोर्स के साथ टॉप 50 चंक्स लौटाती है
  • सोर्स डॉक्यूमेंट से उसके वेक्टर्स का कोई लिंक नहीं
  • पुराने कलेक्शन्स "बस ऐसे ही" रखे हुए हैं
"इसे असली डेटा की तरह ट्रीट करें"
  • प्राइवेट नेटवर्क, ऑथेंटिकेशन, अलग-अलग कीज
  • सर्वर सर्च को कॉल करता है, केवल जवाब और सिटेशन्स लौटाता है
  • हर वेक्टर को डॉक्यूमेंट आईडी, टेनेंट और वर्ज़न के साथ टैग किया गया है
  • माइग्रेशन के बाद, एक तय शेड्यूल पर पुराने कलेक्शन्स डिलीट कर दिए जाते हैं
सावधान रहें
ब्राउज़र को सिमिलरिटी स्कोर्स या कई सारे कच्चे (raw) चंक्स लौटाना आपके ऐप को डेटा की टोह लेने का एक फ्री टूल बना देता है। सर्च को सर्वर पर ही रखें और यूज़र्स को सिर्फ वही दिखाएं जिसकी उन्हें ज़रूरत है।
नोट
मैनेज्ड vector डेटाबेस सर्विसेज ऑथेंटिकेशन, एन्क्रिप्शन और नेमस्पेस जैसी सुरक्षा सुविधाएं देती हैं। उन्हें चालू करना और सही ढंग से कॉन्फ़िगर करना अभी भी आपका ही काम है। हर प्रोडक्ट के डॉक्यूमेंटेशन को चेक करें।
यह आज़माएं। अपने जाने-पहचाने किसी RAG ऐप के लिए, तीन सवालों के जवाब दें: vector store से कौन कनेक्ट कर सकता है, क्या यह कच्चा टेक्स्ट स्टोर करता है, और आप इसमें से किसी एक व्यक्ति का डेटा कैसे डिलीट करेंगे?

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

लैब

एक काल्पनिक vector store सेटअप का लिखित सुरक्षा रिव्यू, सुधारों और डेटा मिटाने की योजना के साथ।

~25 min

समस्या

इस काल्पनिक सेटअप को पढ़ें: "हमारा HR असिस्टेंट हमारी तीन क्लाइंट कंपनियों के सभी डॉक्यूमेंट्स को एक ही कलेक्शन में स्टोर करता है। Vector डेटाबेस एक क्लाउड सर्वर पर चलता है जिसका पोर्ट इंटरनेट के लिए खुला है ताकि डेवलपर्स घर से इस तक पहुंच सकें। फ्रंट एंड सीधे सर्च एंडपॉइंट को कॉल करता है और स्कोर्स के साथ टॉप 20 चंक्स दिखाता है। चंक्स को उनके पूरे टेक्स्ट के साथ स्टोर किया जाता है। हमने पिछले महीने एक नए मॉडल के साथ सब कुछ दोबारा एम्बेड किया था; पुराना कलेक्शन अभी भी वहीं है। हम यह ट्रैक नहीं करते कि कौन से वेक्टर्स किस फ़ाइल से आए हैं।"

  1. कम से कम पांच समस्याएं बताएं।
  2. हर समस्या के लिए, एक सुधार लिखें और तय करें कि इसकी ज़िम्मेदारी किसकी होनी चाहिए।
  3. एक कर्मचारी के डॉक्यूमेंट्स को पूरी तरह से मिटाने के स्टेप्स लिखें।
  4. सुधारों को प्राथमिकता के क्रम में रखें: आप इस हफ्ते क्या करेंगे, और इस तिमाही में क्या करेंगे?

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

कठिन सवाल

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

Q1टीम कहती है: "हमने मेटाडेटा से पूरा टेक्स्ट हटा दिया है, इसलिए vector store में अब कोई पर्सनल डेटा नहीं है।" क्या यह सही है?दिखाएं

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

Q2लॉगिन के पीछे होने के बावजूद, vector सर्च एंडपॉइंट के लिए रेट लिमिटिंग क्यों उपयोगी है?दिखाएं

प्रोबिंग के लिए बहुत सारी क्वेरीज़ की ज़रूरत होती है: एक-एक करके अंदाज़ों को टेस्ट करना, या किसी डॉक्यूमेंट को फिर से तैयार करने के लिए बहुत सारे नतीजे इकट्ठा करना। लॉग-इन किया हुआ कोई इनसाइडर या कोई चोरी हुआ अकाउंट ऐसा कर सकता है। रेट लिमिट्स और असामान्य क्वेरी वॉल्यूम पर मिलने वाले अलर्ट्स प्रोबिंग को धीमा और साफ़ नज़र आने वाला बना देते हैं। वे लागत के दुरुपयोग को रोकने में भी मदद करते हैं।

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

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

क्या हम embeddings को हैश या स्क्रैम्बल करके सुरक्षित बना सकते हैं?

सीधे तरीके से नहीं। हैशिंग उस सिमिलरिटी को खत्म कर देती है जिससे सर्च काम करती है। रिसर्च के कुछ तरीके सर्च को काम का बनाए रखते हुए embeddings को सुरक्षित करने की कोशिश करते हैं, लेकिन उनके अपने समझौते (trade-offs) हैं। अधिकांश टीमों के लिए, मजबूत एक्सेस कंट्रोल और आइसोलेशन ही व्यावहारिक समाधान हैं।

क्या embedding इन्वर्जन आज एक व्यावहारिक खतरा है?

यह मॉडल, डेटा और अटैकर के एक्सेस पर निर्भर करता है। रिसर्च से पता चलता है कि यह कुछ स्थितियों में काम कर सकता है। चूंकि कई स्टोर्स वेक्टर्स के बगल में कच्चा टेक्स्ट भी रखते हैं, इसलिए इन्वर्जन के सवाल से ज्यादा व्यावहारिक महत्व एक्सेस कंट्रोल का है।

क्या हमें vector डेटाबेस को खुद होस्ट (self-host) करना चाहिए?

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

चंक्स के अंदर मौजूद पर्सनल डेटा के बारे में क्या?

सोचें कि क्या इसे इंडेक्स करने की ज़रूरत भी है या नहीं। इंडेक्स करने से पहले पर्सनल डेटा को हटाने या मास्क करने से वह कम हो जाता है जो लीक हो सकता है। कानूनी जिम्मेदारियों से जुड़े सवालों के लिए, अपनी लीगल या प्राइवेसी टीम से बात करें।

पाठ का टेस्ट

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

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