प्रौद्योगिकी

Claude Code ने पासवर्ड सादे टेक्स्ट में सहेजे, GitHub पर 1,122 फाइलें सार्वजनिक

Susan Hill
हमें Google पर जोड़ें

Anthropic का Claude Code ज़्यादातर शेल कमांड चलाने से पहले अनुमति माँगता है। उपलब्ध जवाबों में एक विकल्प है: “हाँ, और दोबारा मत पूछो।” अगर आप डेटाबेस में लॉगिन जैसे पासवर्ड वाले कमांड के लिए यह विकल्प चुनते हैं, तो Claude Code पूरा कमांड—पासवर्ड समेत—आपके प्रोजेक्ट की एक सादे टेक्स्ट वाली सेटिंग फ़ाइल में लिख सकता है। सुरक्षा शोधकर्ताओं को अब GitHub की सार्वजनिक कोड रिपॉज़िटरी में ऐसे हज़ारों पासवर्ड और की मिली हैं, जिन्हें कोई भी पढ़ सकता है।

अगर आप Claude Code इस्तेमाल करते हैं, तो settings.local.json नाम की फ़ाइल खोजें। यह रिपॉज़िटरी के मूल फ़ोल्डर में मौजूद छिपे हुए .claude फ़ोल्डर में रहती है। इसे रोकने का इंतज़ाम न हो, तो प्रोजेक्ट जहाँ भी जाएगा, यह फ़ाइल भी उसके साथ जाएगी। यह व्यवहार उन सभी देशों में एक जैसा है जहाँ यह टूल उपलब्ध है। अपनी आदत बदलने में एक मिनट लगता है, लेकिन लीक हुए पासवर्ड की सफ़ाई में कहीं ज़्यादा समय लग सकता है—क्योंकि फ़ाइल मिटाने से वह git के इतिहास या दूसरे लोगों के फ़ोर्क से नहीं हटती।

सॉफ़्टवेयर सुरक्षा कंपनी Apiiro ने सार्वजनिक GitHub पर 103,617 रिपॉज़िटरी में इस फ़ाइल की 104,185 प्रतियाँ खोजीं। The Hacker News की रिपोर्ट के अनुसार, यह जानकारी कंपनी के शोध में सामने आई। इनमें से क़रीब 1.1% यानी 1,122 प्रतियों में कम-से-कम एक गोपनीय जानकारी थी; कुल मिलाकर 1,379 अलग-अलग क्रेडेंशियल मिले। इनमें से एक-तिहाई से ज़्यादा सीधे किसी डेटाबेस तक पहुँच दे सकते थे, जिनमें डेटाबेस के 379 पासवर्ड शामिल हैं। इस सूची में सार्वजनिक सर्वरों के 43 SSH लॉगिन, GitHub, GitLab और npm के 42 टोकन और Amazon Web Services की 23 की भी हैं।

इन फ़ाइलों के मालिक केवल शौकिया प्रोग्रामर नहीं हैं। Apiiro ने इनका संबंध 63 संगठनों से जोड़ा, जिनमें ज़्यादातर अलग-अलग आकार की सॉफ़्टवेयर कंपनियाँ हैं। सबसे गंभीर उदाहरणों में एक डेटाबेस विक्रेता की अपनी एडमिन-स्तर की क्लाउड की और मेडिकल रिकॉर्ड डेटाबेस का मालिकाना पासवर्ड शामिल है। git इतिहास में फ़ाइल के पुराने संस्करणों में 509 रिपॉज़िटरी के 734 और गोपनीय डेटा मिले; वहीं 74 रिपॉज़िटरी के 211 फ़ोर्क में मूल रिपॉज़िटरी वाला वही डेटा मौजूद था। टीमों के जान-बूझकर कमिट किए गए साझा सेटिंग फ़ाइल और सेव किए गए एजेंट चैट लॉग जोड़ने पर यह संख्या बढ़कर 1,994 रिपॉज़िटरी में 2,539 गोपनीय जानकारियों तक पहुँच जाती है।

Claude Code फ़ाइल को वर्ज़न कंट्रोल से बाहर रखने की कोशिश ज़रूर करता है। Anthropic के सेटिंग दस्तावेज़ों के मुताबिक, टूल जब पहली बार फ़ाइल लिखता है, तो उपयोगकर्ता की ग्लोबल git excludes सूची में एक नियम जोड़ देता है, ताकि उस कंप्यूटर पर git उसे नज़रअंदाज़ करे। यह नियम प्रोजेक्ट के साथ टीम के किसी सदस्य के लैपटॉप, बिल्ड सर्वर या नई मशीन तक नहीं पहुँचता। और अगर फ़ाइल पहले ही कमिट हो चुकी हो, तो यह नियम कुछ नहीं कर सकता। शोधकर्ताओं ने जिन 1,105 रिपॉज़िटरी की पड़ताल की, उनमें से 539 में Claude को सह-लेखक बताने वाले कमिट ने फ़ाइल में बदलाव किया था—इससे संकेत मिलता है कि एजेंट अक्सर ख़ुद ही इसे कमिट कर देता है। Apiiro ने जिन 16 कोडिंग एजेंटों के दस्तावेज़ों की तुलना की, उनमें Claude Code अकेला ऐसा एजेंट था जिसके बारे में पुष्टि हुई कि वह मंज़ूर किए गए पूरे कमांड को डिफ़ॉल्ट रूप से प्रोजेक्ट की फ़ाइल में सेव करता है।

आम सुरक्षा उपाय इस डेटा का बड़ा हिस्सा पकड़ नहीं पाते। Apiiro ने हर प्रति को दो लोकप्रिय ओपन-सोर्स सीक्रेट स्कैनर—gitleaks और TruffleHog—से जाँचा। gitleaks ने 1,122 फ़ाइलों में से 564 को चिह्नित किया, TruffleHog ने 643 को, जबकि 215 फ़ाइलें दोनों की नज़र से बच निकलीं। ज़्यादातर छूटे हुए पासवर्ड PGPASSWORD=, sshpass -p या mysql -p के बाद लिखे गए थे। पहले से तय की-फ़ॉर्मैट खोजने वाले टूल को ये आम शब्दों जैसे दिखाई देते हैं।

इन निष्कर्षों के साथ कुछ सावधानियाँ भी जुड़ी हैं। Apiiro AI-सहायता से सॉफ़्टवेयर बनाने के लिए सुरक्षा टूल बेचती है, इसलिए यह शोध उसके उत्पादों के प्रचार का काम भी करता है। कंपनी ने यह जाँच नहीं की कि मिले क्रेडेंशियल अब भी काम करते हैं या नहीं, हालाँकि जिस एक कंपनी को उसने सूचना दी, उसने पुष्टि की कि उसकी की तब भी सक्रिय थी। किसी वैल्यू को गोपनीय जानकारी तब गिना गया जब वह किसी ज्ञात की-फ़ॉर्मैट से मेल खाती थी, या किसी सार्वजनिक सर्वर पते के पास मौजूद थी और AI समीक्षक ने भी उसे गोपनीय माना था। इसलिए ग़लती से किसी चीज़ को गोपनीय मान लेने की गुंजाइश बनी रहती है। Apiiro यह भी कहती है कि सह-लेखक वाले आँकड़े से यह साबित नहीं होता कि उजागर हुए हर क्रेडेंशियल को Claude ने ही जोड़ा था। और GitHub तो केवल दिखाई देने वाला हिस्सा है: यह फ़ाइल प्रोजेक्ट फ़ोल्डर में सादा JSON होती है, इसलिए npm पैकेज, Docker इमेज, zip आर्काइव या सिंक किए गए फ़ोल्डर के साथ भी आगे जा सकती है।

शोधकर्ताओं की पहली सलाह है: सबसे पहले पासवर्ड, टोकन और की बदलें—फ़ाइल में अब तक जो भी रहा हो, सब कुछ। सफ़ाई शुरू करने से पहले ऐसा इसलिए करें, क्योंकि जो गोपनीय जानकारी एक बार सार्वजनिक हो चुकी हो, उसे उजागर मानना चाहिए, चाहे आप इतिहास को दोबारा लिखें या नहीं। इसके बाद git rm –cached से फ़ाइल की ट्रैकिंग रोकें, उसे रिपॉज़िटरी की अपनी .gitignore फ़ाइल में जोड़ें और Claude Code के भीतर /permissions खोलकर गोपनीय जानकारी वाला कोई भी सेव किया हुआ नियम मिटा दें। क्रेडेंशियल को सीधे लिखने के बजाय एनवायरनमेंट वेरिएबल के ज़रिए इस्तेमाल करने पर सेव किए गए नियम में पासवर्ड की जगह $DB_URL जैसा नाम दर्ज होगा। वहीं, किसी एक कमांड के बजाय पैटर्न को मंज़ूरी देने से फ़ाइल में कमांड के अक्षरशः तर्क दर्ज ही नहीं होंगे।

उपयोगकर्ताओं ने पहले भी इस समस्या की ओर ध्यान दिलाया था। 11 अगस्त, 2025 को दर्ज एक बग रिपोर्ट में कहा गया था कि API की और टोकन वाले मंज़ूरशुदा कमांड settings.local.json में शब्दशः सेव हो रहे थे। 60 दिनों तक कोई गतिविधि न होने के बाद 3 जनवरी को एक स्वचालित बॉट ने रिपोर्ट को “फ़िलहाल योजना में नहीं” कहकर बंद कर दिया। Apiiro ने अपने निष्कर्ष 6 नवंबर को प्रकाशित किए और कहा कि उसकी ओर से बताए गए इससे जुड़े चारों रिपोर्ट उसी बॉट ने बंद किए थे। सबसे हाल की रिपोर्ट भी 6 नवंबर को बंद हुई और Anthropic की ओर से कोई जवाब नहीं आया। 2 नवंबर तक, Apiiro को मिली हर उजागर फ़ाइल अपनी रिपॉज़िटरी की मुख्य ब्रांच में मौजूद थी; आधे मामलों में वह कम-से-कम 217 दिनों से वहाँ थी।

न The Hacker News और न ही Apiiro ने Anthropic की ओर से किसी जवाब की सूचना दी है, और दस्तावेज़ों में दर्ज व्यवहार अब भी वही है: अगली बार किसी पासवर्ड वाले कमांड पर “दोबारा मत पूछो” चुनने पर वह पासवर्ड भी सेव हो जाएगा।

टैग: , , , , ,

हमें Google पर जोड़ें

चर्चा

0 टिप्पणियाँ हैं।