शृंखला, जैसा बताया गया है

Adversa AI ने 6 अक्टूबर को एक हमला प्रकाशित किया, जिसमें हमलावर के नियंत्रण वाला एक ही URL — उपयोगकर्ता के अपने अनुरोध पर खोला गया — GitHub Copilot CLI से स्थानीय फ़ाइलें पढ़वाकर उनका विषय हमलावर के सर्वर तक भिजवा देता है। Rony Utevsky के नेतृत्व वाले शोधकर्ता पूरी शृंखला को 28 सेकंड का बताते हैं, “कोई पुष्टि नहीं, और प्रतिलेख में कहीं भी गंतव्य होस्ट का नाम या यह संकेत नहीं कि फ़ाइल का विषय मशीन से बाहर गया”।

पन्ना स्वयं को एन्क्रिप्टेड सामग्री बताता है और एजेंट को डिक्रिप्शन की दो संभावित कुंजियाँ देता है। एक असली है। दूसरी एक टेम्पलेट है, जिसे एजेंट बिना पहले स्थानीय फ़ाइलें पढ़े भर ही नहीं सकता — तो डिक्रिप्शन की तैयारी में वह लक्षित फ़ाइलें डिस्क से पढ़ता है और उनका विषय कुंजी-स्ट्रिंग में बुन देता है। वही पढ़ना चोरी है, और यह किसी डिक्रिप्शन के सफल होने से पहले हो जाता है।

टेम्पलेट वाली कुंजी जान-बूझकर विफल होती है। एजेंट असली कुंजी पर लौटता है, डिक्रिप्शन चल जाता है, और डिक्रिप्ट हुआ दूसरा चरण उसे “और संदर्भ लेने” के लिए एक अगला URL खोलने को कहता है, जो बटोरा गया फ़ाइल-विषय अनुरोध के पैरामीटर के रूप में ले जाता है। एजेंट वह अनुरोध भेज देता है।

लकड़ी की मेज़ पर पीतल का ताला और चाबियाँ
शोधकर्ता कहते हैं कि वही निर्देश सादे पाठ में अस्वीकार हो जाते हैं। प्रतीकात्मक चित्र। Goszton · pexels · Pexels License

एन्क्रिप्शन ही असली बात क्यों है

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

शोधकर्ता साफ़ कहते हैं कि यही इसे चलाता है: “वही निर्देश सादे पाठ में दिए जाएँ तो प्रॉम्प्ट इंजेक्शन के रूप में पकड़े जाकर अस्वीकार हो जाते हैं।”

कौन-सा मॉडल मिलेगा, यह सिक्का उछालने जैसा है

हमला सार्वभौमिक नहीं है। Adversa कहती है कि इसके लिए दो चीज़ें चाहिए: CLI का ऑटोपायलट मोड में चलना, और सत्र सँभाल रहा एक उदार मॉडल। दूसरी शर्त पर यह निष्कर्ष ख़ास तौर पर Copilot के लिए असहज है।

Microsoft के अपने mai-code-1.1-flash ने शोधकर्ताओं की 50% कोशिशों में पूरी शृंखला चलाई। उसी उत्पाद में दिए गए दो GPT-5.6 मॉडलों ने वही पेलोड लगातार अस्वीकार किया। जिस सशुल्क खाते पर परीक्षण हुआ, उसमें कमज़ोर मॉडल डिफ़ॉल्ट नहीं था और उसे हाथ से चुनना पड़ता था — लेकिन स्वचालित रूटिंग वाले खाते पर राउटर ने कुछ सत्रों में कमज़ोर मॉडल दिया और कुछ में सुरक्षित, बिना उपयोगकर्ता के कुछ किए। रिपोर्ट कहती है, “उपयोगकर्ता न चुनता है, न देखता है कि सत्र किस मॉडल ने सँभाला।”

लैपटॉप के पोर्ट में लगा ईथरनेट केबल
बटोरा गया फ़ाइल-विषय अगले अनुरोध के पैरामीटर के रूप में बाहर गया। प्रतीकात्मक चित्र। Castorly Stock · pexels · Pexels License

GitHub ने माना और बंद कर दिया

Adversa ने 17 सितंबर को GitHub के बग बाउंटी कार्यक्रम को यह बताया। 1 अक्टूबर तक छँटाई दल ने इसे सत्यापित कर लिया था, पर इसे कमज़ोरी मानने से इनकार कर दिया, यह कहते हुए कि उपयोगकर्ता ने “स्पष्ट रूप से Copilot CLI से हमलावर-नियंत्रित सामग्री लाने को कहा और साथ ही copilot को स्वतंत्र रूप से काम करने की पूरी अनुमति दी”। GitHub ने कहा कि वह आगे इस सुविधा को सख़्त कर सकती है पर अभी घोषित करने को कुछ नहीं, और रिपोर्ट को इनाम के अयोग्य बताया।

Adversa कहती है कि वह इस जोखिम आकलन से असहमत है और शृंखला अब भी उसी तरह दोहराई जा सकती है। कंपनी ठोस पेलोड सार्वजनिक नहीं कर रही।

इसका मोल कितना है, और किसकी ओर से

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

एक ब्योरा रखने लायक़ है, चाहे उसे किसी ने भी छापा हो। Adversa की दौड़ में एजेंट के अपने समापन सारांश ने बताया कि उसने “एक अधिकृत-पाठक एंडपॉइंट की पुष्टि” की। हुआ यह नहीं था। अपने ही सत्र का एजेंट का विवरण इस बात का प्रमाण नहीं कि सत्र ने किया क्या।