LLM Vulnerabilities 101

अधिकांश LLM सुरक्षा खामियां चतुर नहीं होती हैं। वे इस बात के दो उबाऊ तथ्यों से उत्पन्न होती हैं कि मॉडल कैसे काम करते हैं। एक बार जब आप इन्हें समझ लेते हैं, तो हमलों की डरावनी सूची स्पष्ट हो जाती है।

तथ्य 1: मॉडल आपके निर्देशों और उपयोगकर्ता के टेक्स्ट के बीच कोई अंतर नहीं देखता है। यह डेटा के एक ही प्रवाह (stream) को देखता है। यह विश्वसनीय रूप से नहीं बता सकता कि किस हिस्से पर भरोसा करना है।

तथ्य 2: टूल्स खेल बदल देते हैं। जब आप किसी मॉडल को ईमेल, सर्च या डेटाबेस तक पहुंच देते हैं, तो आप अविश्वसनीय टेक्स्ट के प्रवेश के लिए नए स्थान जोड़ देते हैं। आप एक ऐसे मॉडल को भी बदल देते हैं जो केवल बात कर सकता है, उसे कार्य करने (act) में सक्षम बना देते हैं।

मॉडल के साथ बहस जीतने की कोशिश करना बंद करें। यह बदलना शुरू करें कि मॉडल को क्या करने की अनुमति है।

प्रमुख कमजोरियां:

  • Direct Injection: उपयोगकर्ता आपके नियमों को ओवरराइड करने के लिए "ignore previous instructions" टाइप करता है। आपका सिस्टम प्रॉम्प्ट कोई सुरक्षा सीमा नहीं है।
  • Jailbreaks: ये आपके ऐप के बजाय सुरक्षा प्रशिक्षण (safety training) को लक्षित करते हैं। हमलावर फिल्टर को बायपास करने के लिए रोलप्ले या फिक्शन का उपयोग करते हैं।
  • System Prompt Leakage: हमलावर मॉडल को अपने स्वयं के निर्देश प्रिंट करने के लिए छलते हैं। प्रॉम्प्ट में कभी भी API keys या सीक्रेट्स न रखें।
  • Indirect Injection: असली खतरा। दुर्भावनापूर्ण निर्देश ईमेल, PDF या वेब पेजों में छिपे होते हैं। मॉडल उन्हें कमांड के रूप में पढ़ता है।
  • RAG Poisoning: हमलावर आपके नॉलेज बेस में गलत डेटा जोड़ देते हैं। मॉडल इस सामग्री को प्राप्त करता है और छिपे हुए कमांड का पालन करता है।
  • Multimodal Attacks: निर्देश इमेज या ऑडियो फाइलों के अंदर छिपे होते हैं। टेक्स्ट फिल्टर उन्हें नहीं देख सकते।
  • Tool Abuse: एक सफल इंजेक्शन ईमेल भेजने या कोड चलाने जैसे वास्तविक कार्यों की ओर ले जाता है। यह "confused deputy" की समस्या है।
  • The Lethal Trifecta: सबसे खतरनाक स्थिति। एक एजेंट के पास निजी डेटा तक पहुंच होती है, वह अविश्वसनीय सामग्री देखता है, और बाहरी दुनिया से बात करने का एक तरीका रखता है।
  • Memory Poisoning: हमलावर भविष्य के सत्रों में हमले शुरू करने के लिए मॉडल की लॉन्ग-टर्म मेमोरी में गलत निर्देश लिख देते हैं।
  • Multi-Agent Spread: एक एजेंट का आउटपुट दूसरे एजेंट का निर्देश होता है। एक हमला आपके पूरे सिस्टम में फैल सकता है।
  • MCP Poisoning: दुर्भावनापूर्ण टूल विवरण एक मॉडल को क्रेडेंशियल्स सौंपने के लिए छल सकते हैं।

समाधान एक बेहतर मॉडल नहीं है। यह बेहतर आर्किटेक्चर है।

  • न्यूनतम विशेषाधिकार (least privilege) का उपयोग करें।
  • महत्वपूर्ण कार्यों के लिए 'human in the loop' रखें।
  • कभी भी एक ही पथ (path) में निजी डेटा, अविश्वसनीय इनपुट और बाहर निकलने का रास्ता (exit route) एक साथ न रखें।

अपने एजेंटों को ऐसे बनाएं जैसे वे पहले से ही समझौताग्रस्त (compromised) हों। उनकी क्षमताओं को सीमित करें, न कि केवल उनकी बातों को।

स्रोत: https://dev.to/weboko/llm-vulnerabilities-101-3pcj वैकल्पिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi