एक रिपॉज़िटरी जो खोलते ही कोड चला देती है

मैनिफ़ोल्ड सिक्योरिटी ने ऐसी कमज़ोरियों का एक वर्ग सामने रखा है जिसे वह GitSpawn कहती है: किसी रिपॉज़िटरी की अपनी कॉन्फ़िगरेशन फ़ाइल डेवलपर की मशीन पर उसी क्षण एक कमांड चला देती है जब कोई एआई कोडिंग एजेंट उस पर लगाया जाता है। कंपनी ने सात एजेंट में आठ निष्कर्ष दर्ज किए: Claude Code, OpenAI का Codex CLI, Cursor, Goose, Grok Build, Hermes Agent और Qwen Code। जब मैनिफ़ोल्ड ने 1 सितंबर को दोबारा जाँच की, तब भी चार में पैच नहीं आया था।

इसमें मॉडल की कोई भूमिका नहीं है। कमांड-लाइन एजेंट शुरू होते ही सामान्य git कमांड चलाते हैं — git status, git diff — ताकि पता चले कि वे किस ब्रांच पर हैं और क्या बदला है। git में core.fsmonitor नाम की एक परफ़ॉर्मेंस सेटिंग है जो एक सहायक प्रोग्राम बताती है, जिसे git हर बार अपना इंडेक्स ताज़ा करते समय चलाता है, और यह सेटिंग रिपॉज़िटरी की अपनी .git/config में रहती है। इसलिए जो रिपॉज़िटरी अपनी .git डायरेक्टरी समेत आती है, वह एक ऐसा निर्देश साथ लाती है जिसे एजेंट खुद चला देता है।

“कमज़ोरी मॉडल में नहीं है, और न ही किसी नई चीज़ में”, मैनिफ़ोल्ड ने लिखा। “वह नीचे की साधारण पाइपलाइन में है, उस सब-प्रोसेस में जिसे एजेंट सत्र की शुरुआत में यह जानने के लिए चलाता है कि वह कहाँ है।”

यह भरोसे के प्रॉम्प्ट से पहले चलती है

कमांड लॉग-इन उपयोगकर्ता के रूप में चलती है, उस सैंडबॉक्स के बाहर जिसे एजेंट आमतौर पर इस्तेमाल करता है, और बिना किसी अनुमति-संवाद के। मैनिफ़ोल्ड के अनुसार यह Claude Code और Hermes Agent में वर्कस्पेस पर भरोसा देने से पहले, Qwen Code में उपयोगकर्ता के प्रमाणीकरण से पहले, और Grok Build में पहली कीस्ट्रोक पर ही चल जाती है। डेवलपर जहाँ तक पहुँच सकता है — SSH कुंजियाँ, क्लाउड क्रेडेंशियल — वहाँ तक कमांड भी पहुँच जाती है।

दो मॉनिटर पर कोड खोले डेस्क पर बैठी एक डेवलपर
मैनिफ़ोल्ड का कहना है कि कोड लॉग-इन उपयोगकर्ता के रूप में, एजेंट के सैंडबॉक्स के बाहर चलता है। Rafael Minguet Delgado · pexels · Pexels License

हमले की सीमा उसकी डिलीवरी है। सामान्य git clone किसी अजनबी की कॉन्फ़िगरेशन नहीं लाता, इसलिए रिपॉज़िटरी को फ़ाइलों के रूप में .git समेत आना पड़ता है: कोई ज़िप, कोई साझा ड्राइव, कोई सिंक फ़ोल्डर, कोई यूएसबी स्टिक।

क्या ठीक हुआ और क्या नहीं

ऐंथ्रोपिक ने core.fsmonitor वाला रास्ता Claude Code 2.1.196 में ठीक किया, मैनिफ़ोल्ड की 26 जून की रिपोर्ट के तीन दिन बाद। Goose 1.44.0 में और OpenAI का Codex CLI 0.131.0 में ठीक है, इससे पहले 0.102.0 से 0.130.0 तक के संस्करण प्रभावित थे। Cursor में पैच आ चुका है। अब तक चार CVE जारी हुए हैं: Codex के लिए CVE-2026-19592, Goose के लिए CVE-2026-72718, Claude Code के एक worktree रास्ते के लिए CVE-2026-55607 और Hermes Agent के लिए CVE-2026-71963।

मैनिफ़ोल्ड के अनुसार 1 सितंबर की दोबारा जाँच में ये अब भी खुले थे: Claude Code का एक दूसरा रास्ता जिसकी उसने सूचना दी थी, Hermes Agent, Qwen Code और Grok Build। कंपनी का कहना है कि उसकी चार रिपोर्टें दूसरे शोधकर्ताओं की रिपोर्टों की नक़ल बताकर बंद कर दी गईं, और कई माध्यमों से छह बार संपर्क करने पर भी Hermes Agent की रिपोर्ट पर कोई कार्रवाई नहीं हुई।

खुले दफ़्तर में डेस्क पर काम करते प्रोग्रामर
1 सितंबर की दोबारा जाँच में आठ में से चार निष्कर्षों पर अब भी पैच नहीं आया था। cottonbro studio · pexels · Pexels License

अब क्या करें

डेवलपरों के लिए मैनिफ़ोल्ड की सलाह है कि क्लोन के बजाय फ़ाइलों के रूप में आई किसी भी डायरेक्टरी को खोलने से पहले .git/config में core.fsmonitor, core.hooksPath और फ़िल्टर सेटिंग्स देख लें, या git config --global core.fsmonitor false से यह सेटिंग पूरी तरह बंद कर दें। कंपनियों के लिए सलाह है कि पृष्ठभूमि में चलने वाले git कॉल से रिपॉज़िटरी की कॉन्फ़िगरेशन हटा दें, जैसे -c core.fsmonitor=false भेजकर।

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