हमले जो एजेंट्स के बीच फैलते हैं
जब एजेंट्स आपस में बात करते हैं, तो एक अकेला ज़हरीला मैसेज पूरे सिस्टम में फैल सकता है और सिस्टम को पता भी नहीं चलता कि उस पर हमला हो रहा है।
60 सेकंड में
हमले जो एजेंट्स के बीच फैलते हैं
जब एजेंट्स आपस में बात करते हैं, तो एक अकेला ज़हरीला मैसेज पूरे सिस्टम में फैल सकता है और सिस्टम को पता भी नहीं चलता कि उस पर हमला हो रहा है।
एजेंट्स की टीमों में होने वाली ख़ास गड़बड़ियाँ
| नाम | क्या होता है | इसे पकड़ना मुश्किल क्यों है |
|---|---|---|
| इंजेक्शन रिले | एक दूषित मैसेज को भरोसेमंद मानकर अंदर आगे भेज दिया जाता है | हर हॉप सामान्य इंटरनल ट्रैफ़िक जैसा लगता है |
| पर्मिशन पूलिंग | अकेले-अकेले सुरक्षित दिखने वाले एजेंट्स मिलकर एक असुरक्षित चेन बना देते हैं | कोई भी अकेला एजेंट हद से ज़्यादा अधिकारों वाला नहीं दिखता |
| कंसेंसस थिएटर | एक क्रिटिक एजेंट मंज़ूरी दे देता है क्योंकि उसने वही ज़हरीला टेक्स्ट पढ़ा था | यह "रिव्यू" का एक ऐसा दिखावा बना देता है जिसका कोई मतलब नहीं होता |
| रनअवे लूप्स | एजेंट्स एक-दूसरे को तब तक कॉल करते रहते हैं जब तक बजट या रेट लिमिट ख़त्म न हो जाए | यह कोई गड़बड़ी नहीं, बल्कि सामान्य काम जैसा दिखता है |
| ब्लेम डिफ़्यूज़न | ग़लत काम एक लंबी और वाजिब लगने वाली चेन का सबसे आख़िरी कदम होता है | हर एक कदम अलग से रिव्यू पास कर लेता है |
डिज़ाइन के ऐसे नियम जो टिके रहें
- 1
टेंट लेबल्स डेटा के साथ चलते हैं
हर मैसेज के साथ यह जानकारी रहती है कि उसका कंटेंट असल में कहाँ से आया था। दूषित कंटेंट किसी इंसान की मंज़ूरी के बिना कभी भी कोई राइट (write) एक्शन शुरू नहीं कर सकता। - 2
सिर्फ़ स्ट्रक्चर्ड मैसेज
एजेंट्स आम बोलचाल वाले पैराग्राफ़ के बजाय टाइप्ड फ़ील्ड्स का आदान-प्रदान करते हैं। तीन नाम वाले स्ट्रिंग फ़ील्ड्स वाला JSON ऑब्जेक्ट किसी पैराग्राफ़ की तुलना में घुसपैठ के लिए बहुत छोटा दरवाज़ा होता है। - 3
इंटरनेट से जुड़ा सिर्फ़ एक एजेंट
सिर्फ़ एक कॉम्पोनेंट गैर-भरोसेमंद कंटेंट को छूता है, और उस कॉम्पोनेंट के पास पढ़ने के अलावा कोई और टूल नहीं होता। बाकी सब कुछ उसके पीछे रहता है। - 4
शक्तियों का कुल जोड़ देखें
पूरा ग्राफ़ बनाएँ और सोचें कि इसमें सबसे ज़्यादा नुकसान पहुँचाने वाला रास्ता कौन-सा है। उस रास्ते को रोकने के लिए डिज़ाइन तैयार करें। - 5
हर जगह सख्त बजट
कदम, समय, ख़र्च — प्रति-एजेंट भी और पूरे सिस्टम में भी। लूप्स का कभी-न-कभी बनना तय है; पक्का करें कि वे सस्ते पड़ें। - 6
एक ट्रेस, एक ID
हर हॉप एक ही correlation ID शेयर करता है ताकि घटना के बाद आप पूरी चेन को दोबारा जोड़कर देख सकें।
और देखें और पढ़ें
लैब
मल्टी-एजेंट ग्राफ़ में टेंट ट्रैकिंग, जिसे हॉप्स में नापा जाता है।
समस्या
from dataclasses import dataclass
@dataclass
class Message:
content: str
taint: str | None # None = trusted; else the origin
hops: int = 0
def forward(self, content):
return Message(content, self.taint, self.hops + 1)
def can_authorise(msg: Message) -> bool:
return msg.taint is None # tainted data never authorises a writeआपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1प्लानर रीडर के आउटपुट की समरी बनाता है। उस समरी में हमलावर का कोई शब्द नहीं है। क्या वह अब भी दूषित है?दिखाएं
Q2आपके सिस्टम को खरीदारी करने के लिए दूषित रिसर्च की ज़रूरत है। इसे इस तरह डिज़ाइन करें कि यह सुरक्षित रहे, या साबित करें कि ऐसा नहीं हो सकता।दिखाएं
अक्सर पूछे जाने वाले सवाल
क्या एजेंट्स को आपस में नैचुरल लैंग्वेज में बात करनी भी चाहिए?
यह आसान ज़रूर लगता है, लेकिन यह ख़तरे का दरवाज़ा बड़ा कर देता है। एजेंट्स के बीच स्ट्रक्चर्ड मैसेज काफ़ी ज़्यादा सुरक्षित होते हैं। नैचुरल लैंग्वेज को इंसानों से बातचीत तक ही सीमित रखें, जहाँ इसकी वाकई ज़रूरत है।
मैं किसी मल्टी-एजेंट सिस्टम की टेस्टिंग कैसे करूँ?
हर एंट्री पॉइंट पर इंजेक्शन करें और देखें कि वह खराबी (taint) कितनी दूर तक जाती है। आपका टेस्ट यह नहीं है कि "क्या कोई एजेंट बेवकूफ़ बना" — बल्कि यह है कि "कुछ ऐसा होने से पहले कितने हॉप लगे जिसे बदला न जा सके।" आपको इसी संख्या को कम करना है।
क्या पाँच छोटे एजेंट्स के मुकाबले एक बड़ा एजेंट ज़्यादा सुरक्षित है?
अक्सर हाँ, अगर वे छोटे एजेंट्स मिलकर ज़्यादा ताकत रखते हों। तीन टूल्स वाला एक अकेला एजेंट उन पाँच एजेंट्स से बेहतर है जिनके पास आपस में मिलकर बारह टूल्स हैं। अलग-अलग हिस्सों को नहीं, कुल जोड़ को गिनें।
अगर अलग-अलग कंपनियों के एजेंट्स आपस में बात कर रहे हों तो क्या होगा?
तब आपने भरोसे की सीमा पार कर ली है और दूसरी तरफ किसी और की सुरक्षा व्यवस्था है। आने वाले हर मैसेज को पूरी तरह से गैर-भरोसेमंद कंटेंट मानें, बिल्कुल किसी अजनबी के ईमेल की तरह — क्योंकि असल में वह वही है।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।