जनरेटिव डेटा इंटेलिजेंस

एआई बॉट सॉफ़्टवेयर पैकेजों को भ्रमित करते हैं और डेवलपर उन्हें डाउनलोड करते हैं

दिनांक:

में गहराई कई बड़े व्यवसायों ने स्रोत कोड प्रकाशित किया है जिसमें एक सॉफ्टवेयर पैकेज शामिल है जिसे पहले जेनरेटिव एआई द्वारा मतिभ्रम किया गया था।

Not only that but someone, having spotted this reoccurring hallucination, had turned that made-up dependency into a real one, which was subsequently downloaded and installed thousands of times by developers as a result of the AI’s bad advice, we’ve learned. If the package was laced with actual malware, rather than being a benign test, the results could have been disastrous.

लैस्सो सिक्योरिटी के सुरक्षा शोधकर्ता बार लैन्याडो के अनुसार, एआई द्वारा पैकेज को शामिल करने में मूर्ख बनाए गए व्यवसायों में से एक अलीबाबा है, जिसमें लेखन के समय अभी भी एक शामिल है pip आदेश पायथन पैकेज डाउनलोड करने के लिए huggingface-cli अपने में ग्राफ़अनुवादक स्थापाना निर्देश।

वहाँ एक वैध है आलिंगनचेहरा-सीएलआई, का उपयोग करके स्थापित किया गया pip install -U "huggingface_hub[cli]".

लेकिन huggingface-cli पायथन पैकेज इंडेक्स (पीईपीआई) के माध्यम से वितरित और अलीबाबा के ग्राफट्रांसलेटर द्वारा आवश्यक - का उपयोग करके स्थापित किया गया pip install huggingface-cli - नकली है, एआई द्वारा कल्पना की गई है और लैन्याडो द्वारा एक प्रयोग के रूप में वास्तविक बना दिया गया है।

उसने निर्माण किया huggingface-cli दिसंबर में जेनेरिक एआई द्वारा इसे बार-बार मतिभ्रम में देखने के बाद; इस साल फरवरी तक, अलीबाबा वास्तविक हगिंग फेस सीएलआई टूल के बजाय ग्राफट्रांसलेटर के रीडमी निर्देशों में इसका जिक्र कर रहा था।

अध्ययन

लैन्याडो ने यह पता लगाने के लिए ऐसा किया कि क्या इस प्रकार के मतिभ्रम वाले सॉफ़्टवेयर पैकेज - जेनेरिक एआई मॉडल द्वारा आविष्कार किए गए पैकेज नाम, संभवतः परियोजना विकास के दौरान - समय के साथ बने रहते हैं और यह परीक्षण करने के लिए कि क्या आविष्कृत पैकेज नामों को सह-चुना जा सकता है और वास्तविक लिखकर दुर्भावनापूर्ण कोड वितरित करने के लिए उपयोग किया जा सकता है पैकेज जो एआई द्वारा देखे गए कोड के नामों का उपयोग करते हैं।

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

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

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

खतरनाक धारणाएँ

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

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

That’s what Lanyado set out to test. Armed with thousands of “how to” questions, he queried four AI models (GPT-3.5-Turbo, GPT-4, Gemini Pro aka Bard, and Coral [Cohere]) regarding programming challenges in five different programming languages/runtimes (Python, Node.js, Go, .Net, and Ruby), each of which has its own packaging system.

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

लान्याडो ने शून्य-शॉट मतिभ्रम के लिए यादृच्छिक रूप से 20 प्रश्न चुने, और उन्हें प्रत्येक मॉडल के सामने 100 बार रखा। उनका लक्ष्य यह आकलन करना था कि मतिभ्रम पैकेज का नाम कितनी बार एक समान रहता है। उनके परीक्षण के नतीजे बताते हैं कि कार्यात्मक आक्रमण वेक्टर बनने के लिए नाम अक्सर लगातार बने रहते हैं, हालांकि हर समय नहीं, और कुछ पैकेजिंग पारिस्थितिकी तंत्र में दूसरों की तुलना में अधिक।

लैन्याडो के अनुसार, जीपीटी-4 के साथ, 24.2 प्रतिशत प्रश्न उत्तरों में मतिभ्रम वाले पैकेज उत्पन्न हुए, जिनमें से 19.6 प्रतिशत दोहराव वाले थे। को एक टेबल उपलब्ध करायी गयी रजिस्टरनीचे, GPT-4 प्रतिक्रियाओं का अधिक विस्तृत विवरण दिखाया गया है।

  अजगर Node.js माणिक . नेट Go
कुल सवाल 21340 13065 4544 5141 3713
कम से कम एक मतिभ्रम पैकेज वाले प्रश्न 5347 (25%) 2524 (19.3%) 1072 (23.5%) 1476 (28.7%) 1093 शोषक (21.2%) 1150 (30.9%) 109 शोषक (2.9%)
शून्य शॉट में मतिभ्रम 1042 (4.8%) 200 (1.5%) 169 (3.7%) 211 (4.1%) 130 शोषक (2.5%) 225 (6%) 14 शोषक (0.3%)
दूसरे शॉट में मतिभ्रम 4532 (21%) 2390 (18.3%) 960 (21.1%) 1334 (25.9%) 1006 शोषक (19.5%) 974 (26.2%) 98 शोषक (2.6%)
शून्य शॉट में दोहराव 34.4% तक 24.8% तक 5.2% तक 14% तक -

जीपीटी-3.5 के साथ, 22.2 प्रतिशत प्रश्न उत्तरों में मतिभ्रम उत्पन्न हुआ, 13.6 प्रतिशत दोहराव के साथ। जेमिनी के लिए, 64.5 प्रश्न मनगढ़ंत नाम लेकर आए, जिनमें से लगभग 14 प्रतिशत दोहराए गए। और कोहेरे के लिए, यह 29.1 प्रतिशत मतिभ्रम, 24.2 प्रतिशत पुनरावृत्ति थी।

फिर भी, गो और .नेट में पैकेजिंग पारिस्थितिकी तंत्र ऐसे तरीकों से बनाया गया है जो हमलावरों को कुछ पथों और नामों तक पहुंच से वंचित करके शोषण की संभावना को सीमित करता है।

"गो और .नेट में हमें मतिभ्रम पैकेज प्राप्त हुए लेकिन उनमें से कई का उपयोग हमले के लिए नहीं किया जा सका (गो में संख्याएं .नेट की तुलना में बहुत अधिक महत्वपूर्ण थीं), प्रत्येक भाषा अपने स्वयं के कारण से," लैन्याडो ने समझाया रजिस्टर. “पायथन और एनपीएम में ऐसा नहीं है, क्योंकि मॉडल हमें ऐसे पैकेजों की अनुशंसा करता है जो मौजूद नहीं हैं और कुछ भी हमें इन नामों के साथ पैकेज अपलोड करने से नहीं रोकता है, इसलिए निश्चित रूप से इस तरह की भाषाओं पर इस तरह का हमला करना बहुत आसान है पायथन और Node.js।”

PoC मैलवेयर का बीजारोपण

लान्याडो ने पाइथॉन पारिस्थितिकी तंत्र में फ़ाइलों का एक हानिरहित सेट - प्रूफ-ऑफ-कॉन्सेप्ट मैलवेयर वितरित करके उस बिंदु को बनाया। चलाने के लिए ChatGPT की सलाह के आधार पर pip install huggingface-cli, उसने PyPI पर उसी नाम से एक खाली पैकेज अपलोड किया - जिसका उल्लेख ऊपर किया गया है - और नाम से एक डमी पैकेज बनाया blabladsa123 वास्तविक डाउनलोड प्रयासों से पैकेज रजिस्ट्री स्कैनिंग को अलग करने में सहायता के लिए।

उनका दावा है कि नतीजा यह है huggingface-cli इसे उपलब्ध तीन महीनों में 15,000 से अधिक प्रामाणिक डाउनलोड प्राप्त हुए हैं।

"इसके अलावा, हमने यह निर्धारित करने के लिए GitHub पर एक खोज की कि क्या इस पैकेज का उपयोग अन्य कंपनियों के रिपॉजिटरी में किया गया था," Lanyado ने कहा लेखन उसके प्रयोग के लिए.

“हमारे निष्कर्षों से पता चला कि कई बड़ी कंपनियाँ या तो अपने रिपॉजिटरी में इस पैकेज का उपयोग करती हैं या इसकी अनुशंसा करती हैं। उदाहरण के लिए, इस पैकेज को स्थापित करने के निर्देश अलीबाबा द्वारा किए गए शोध के लिए समर्पित रिपॉजिटरी के README में पाए जा सकते हैं।

अलीबाबा ने टिप्पणी के अनुरोध का जवाब नहीं दिया।

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

अब तक कम से कम, इस तकनीक का उपयोग किसी वास्तविक हमले में नहीं किया गया है जिसके बारे में लान्याडो को पता है।

“हमारे मतिभ्रम पैकेज के अलावा (हमारा पैकेज दुर्भावनापूर्ण नहीं है, यह सिर्फ एक उदाहरण है कि इस तकनीक का लाभ उठाना कितना आसान और खतरनाक हो सकता है), मुझे अभी तक दुर्भावनापूर्ण अभिनेताओं द्वारा इस हमले की तकनीक के शोषण की पहचान नहीं हुई है,” उन्होंने कहा। "यह ध्यान रखना महत्वपूर्ण है कि इस तरह के हमले की पहचान करना जटिल है, क्योंकि यह बहुत अधिक पदचिह्न नहीं छोड़ता है।" ®

स्पॉट_आईएमजी

नवीनतम खुफिया

स्पॉट_आईएमजी

हमारे साथ चैट करें

नमस्ते! मैं आपकी कैसे मदद कर सकता हूँ?