साइबर जोखिम प्रबंधन कंपनी Vulcan.io के सुरक्षा शोधकर्ताओं ने विश्वसनीय रिपॉजिटरी से दुर्भावनापूर्ण कोड फैलाने के लिए कैसे हैकर्स ChatGPT 3.5 का उपयोग कर सकते हैं, इस अवधारणा का एक प्रमाण प्रकाशित किया।
शोध में कोडिंग समाधानों के लिए चैटजीपीटी सुझावों पर भरोसा करने में निहित सुरक्षा जोखिमों की ओर ध्यान आकर्षित किया गया है।
क्रियाविधि
शोधकर्ताओं ने स्टैक ओवरफ्लो (एक कोडिंग प्रश्न और उत्तर फोरम) पर अक्सर पूछे जाने वाले कोडिंग प्रश्नों को एकत्रित किया।
उन्होंने 40 कोडिंग विषयों (जैसे पार्सिंग, गणित, स्क्रैपिंग टेक्नोलॉजी आदि) को चुना और 40 विषयों में से प्रत्येक के लिए पहले 100 प्रश्नों का उपयोग किया।
अगला चरण “कैसे करें” प्रश्नों के लिए फ़िल्टर करना था जिसमें क्वेरी में प्रोग्रामिंग पैकेज शामिल थे।
पूछे गए प्रश्न Node.js और Python के संदर्भ में थे।
वल्कन.आईओ बताते हैं:
“इन सभी प्रश्नों को प्रश्न के साथ शामिल प्रोग्रामिंग भाषा (नोड.जेएस, पायथन, गो) के साथ फ़िल्टर किया गया था। कई बार पूछे जाने वाले प्रश्नों को एकत्र करने के बाद, हमने सूची को केवल “कैसे करें” प्रश्नों तक सीमित कर दिया।
फिर, हमने चैटजीपीटी से उसके एपीआई के माध्यम से सभी प्रश्न पूछे जो हमने एकत्र किए थे।
हमने कम से कम समय में अधिक से अधिक गैर-मौजूद पैकेज अनुशंसाएं प्राप्त करने के लिए हमलावर के दृष्टिकोण को दोहराने के लिए एपीआई का उपयोग किया।
प्रत्येक प्रश्न के अलावा, और चैटजीपीटी के उत्तर का पालन करते हुए, हमने एक अनुवर्ती प्रश्न जोड़ा, जहां हमने इसे और पैकेज प्रदान करने के लिए कहा, जिसने प्रश्न का उत्तर भी दिया।
हमने सभी बातचीत को एक फ़ाइल में सहेजा और फिर उनके उत्तरों का विश्लेषण किया।”
उन्होंने अगली बार उन कोड पैकेजों की सिफारिशों को खोजने के लिए उत्तरों को स्कैन किया जो मौजूद नहीं थे।
ChatGPT कोड पैकेज के 35% तक मतिभ्रम थे
201 Node.js प्रश्नों में से ChatGPT ने 40 पैकेजों की सिफारिश की जो मौजूद नहीं थे। इसका मतलब है कि चैटजीपीटी के 20% उत्तरों में मतिभ्रम कोड पैकेज थे।
पायथन प्रश्नों के लिए, 227 प्रश्नों में से, एक तिहाई से अधिक उत्तरों में मतिभ्रम कोड पैकेज शामिल थे, 80 पैकेज मौजूद नहीं थे।
दरअसल, अप्रकाशित पैकेजों की कुल मात्रा और भी अधिक थी।
शोधकर्ताओं ने दस्तावेज किया:
“Node.js में, हमने 201 प्रश्न पूछे और देखा कि इनमें से 40 से अधिक प्रश्नों ने एक प्रतिक्रिया प्राप्त की जिसमें कम से कम एक पैकेज शामिल था जो प्रकाशित नहीं हुआ था।
कुल मिलाकर, हमें 50 से अधिक अप्रकाशित एनपीएम पैकेज प्राप्त हुए।
पायथन में हमने 227 प्रश्न पूछे और उनमें से 80 से अधिक प्रश्नों के लिए, हमें कम से कम एक अप्रकाशित पैकेज प्राप्त हुआ, जिससे कुल 100 से अधिक अप्रकाशित पाइप पैकेज मिले।
अवधारणा का सबूत (पीओसी)
अवधारणा का प्रमाण क्या है। उन्होंने गैर-मौजूद कोड पैकेजों में से एक का नाम लिया जो एनपीएम रिपॉजिटरी पर मौजूद था और उस रिपॉजिटरी में उसी नाम से एक बनाया।
उन्होंने जो फ़ाइल अपलोड की थी वह दुर्भावनापूर्ण नहीं थी, लेकिन यह संचार करने के लिए फोन किया गया था कि यह किसी के द्वारा स्थापित किया गया था।
वे लिखते हैं:
“कार्यक्रम खतरे वाले अभिनेता के सर्वर को डिवाइस होस्टनाम भेजेगा, वह पैकेज जहां से आया था और मॉड्यूल फ़ाइल वाली निर्देशिका का पूर्ण पथ …”
आगे क्या हुआ कि एक “पीड़ित” साथ आया, वही सवाल पूछा जो हमलावर ने किया था, चैटजीपीटी ने “दुर्भावनापूर्ण” कोड वाले पैकेज की सिफारिश की और इसे कैसे स्थापित किया।
और निश्चित रूप से पर्याप्त है, पैकेज स्थापित और सक्रिय है।
शोधकर्ताओं ने समझाया कि आगे क्या हुआ:
“चैटजीपीटी की सिफारिश के बाद पीड़ित दुर्भावनापूर्ण पैकेज स्थापित करता है।
हमलावर पीड़ित से हमारे प्रीइंस्टॉल कॉल के आधार पर नोड index.js को लंबे होस्टनाम के आधार पर डेटा प्राप्त करता है।
अवधारणा छवियों के प्रमाण की एक श्रृंखला पहले से न सोचा उपयोगकर्ता द्वारा स्थापना का विवरण दिखाती है।
खराब चैटजीपीटी कोडिंग समाधानों से स्वयं को कैसे सुरक्षित रखें
शोधकर्ताओं का सुझाव है कि किसी भी पैकेज को डाउनलोड और इंस्टॉल करने से पहले संकेतों की तलाश करना एक अच्छा अभ्यास है जो यह संकेत दे सकता है कि पैकेज दुर्भावनापूर्ण हो सकता है।
निर्माण तिथि, कितने डाउनलोड किए गए और सकारात्मक टिप्पणियों की कमी और पुस्तकालय से जुड़े किसी भी नोट की कमी जैसी चीजों की तलाश करें।
क्या चैटजीपीटी भरोसेमंद है?
ChatGPT को सही प्रतिक्रिया देने के लिए प्रशिक्षित नहीं किया गया था। इसे सही लगने वाली प्रतिक्रियाएँ देने के लिए प्रशिक्षित किया गया था।
यह शोध उस प्रशिक्षण के परिणामों को दर्शाता है। इसका मतलब यह है कि किसी का भी उपयोग करने से पहले यह सत्यापित करना बहुत महत्वपूर्ण है कि ChatGPT के सभी तथ्य और सिफारिशें सही हैं।
केवल यह स्वीकार न करें कि आउटपुट अच्छा है, इसे सत्यापित करें।
कोडिंग के लिए विशिष्ट, चैटजीपीटी द्वारा अनुशंसित किसी भी पैकेज को स्थापित करने से पहले अतिरिक्त सावधानी बरतना उपयोगी हो सकता है।
मूल शोध दस्तावेज पढ़ें:
क्या आप ChatGPT के पैकेज सुझावों पर भरोसा कर सकते हैं?
शटरस्टॉक/रोमन साम्बोर्स्की द्वारा प्रदर्शित छवि