1 पॉइंट द्वारा GN⁺ 2025-02-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • VS Code उपयोगकर्ताओं ने साझा किया कि equinusocio.vsc-material-theme को problematic के रूप में रिपोर्ट किया गया संदेश के साथ हटा दिया गया, और दोबारा इंस्टॉल पर रोक या बार-बार पॉपअप जैसी दिक्कतें भी आईं
  • GitHub Q&A में सवाल Marketplace कमेंट्स की विश्वसनीयता से शुरू हुआ, और चुने गए जवाब ने t3dotgg के वैकल्पिक extension के लिंक की ओर इशारा किया
  • विवाद का केंद्र extension का closed-source में बदलाव, code obfuscation की आशंका, और review पर लेखक की प्रतिक्रिया का रवैया था, जिससे भरोसा कमजोर हुआ
  • कुछ उपयोगकर्ताओं ने deleted commit और discussion रिकॉर्ड तथा 6 महीने पुराने Reddit पोस्ट का हवाला देते हुए कहा कि पहले भी इसके compromised होने पर चर्चा हुई थी
  • बार-बार आने वाले पॉपअप को हटाने के लिए .vscode या .vscode-insiders/extensions में extension folder और extensions.json की entry को सीधे हटाना पड़ा, और कुछ मामलों में VS Code को दोबारा इंस्टॉल करना भी जरूरी हुआ

VS Code द्वारा दिखाया गया समस्या संदेश

  • एक उपयोगकर्ता ने बताया कि VS Code ने We have uninstalled 'equinusocio.vsc-material-theme' which was reported to be problematic. संदेश दिखाया
  • VS Code को बंद करके फिर खोलने पर ऐसा लगा जैसे extension फिर से इंस्टॉल हो रहा हो, और manual removal के बाद भी वही संदेश आता रहा
  • एक अन्य उपयोगकर्ता ने कहा कि VS Code ने extension को दोबारा इंस्टॉल करने से भी रोका
  • कुछ लोगों ने कहा कि Settings Sync इसकी वजह हो सकती है, लेकिन समस्या झेल रहे उपयोगकर्ता ने बताया कि उसने हाल में Code को नया इंस्टॉल किया था और सिर्फ न्यूनतम extensions सेट किए थे, इसलिए वह आश्वस्त नहीं था

चुना गया जवाब और वैकल्पिक extension

  • चुने गए जवाब में Visual Studio Marketplace का t3dotgg.vsc-material-theme-but-i-wont-sue-you सुझाया गया
  • सवाल पूछने वाले ने मुख्य पाठ में जोड़ा कि उस जवाब का लिंक t3dotgg के repository से समर्थित है
  • एक उपयोगकर्ता ने प्रतिक्रिया दी, “अब इसका असली असर दिख रहा है, और आज वही दिन था जब मुझे काम करना था”

भरोसे को हिलाने वाला code और license विवाद

  • एक उपयोगकर्ता ने हाल का closed-source में बदलाव और पहले से चेतावनी न देने को समस्या बताया, और कहा कि चिंतित उपयोगकर्ताओं को लेखक ने reviews में जिस तरह रूखे जवाब दिए, उसे देखकर अब वह उस पर भरोसा नहीं करता
  • उसी उपयोगकर्ता ने जोड़ा कि obfuscated code obfuscator.io के output जैसा लगता है
  • एक अन्य उपयोगकर्ता ने दावा किया कि extension का लेखक अपने product में Material Theme इस्तेमाल करने वालों को धमका रहा है, और शायद यह भूल गया है कि यह पहले Apache License 2.0 के तहत था
    • इस उपयोगकर्ता ने पुराने license file जैसा दिखने वाला लिंक जोड़ा
    • उसी कमेंट में यह भी दावा किया गया कि commit history मिटा दी गई ताकि यह लगे कि शुरुआत से ही कोई दूसरा license था

हटाए गए रिकॉर्ड और पुराने संदेह

  • एक उपयोगकर्ता ने कहा कि Git repository से बहुत से commit और discussion रिकॉर्ड हटाए गए लगते हैं
  • उसी उपयोगकर्ता ने 6 महीने पुराने Reddit पोस्ट has_the_material_theme_extension_been_compromised को खोजा, और साझा किया कि वह पोस्ट इस repository के टूटे हुए discussion लिंक से जुड़ती है
  • एक अन्य उपयोगकर्ता ने प्रतिक्रिया दी कि यह “VSCode में उसकी पसंदीदा एकमात्र theme” थी, और किसी और ने कहा कि इसके पहले से कई forks मौजूद हैं

बार-बार आने वाले पॉपअप को हटाने के लिए आज़माए गए तरीके

  • Linux उपयोगकर्ता ने .vscode directory में extension folder को सीधे हटाया, लेकिन समस्या हल नहीं हुई; VS Code को दोबारा इंस्टॉल करने के बाद पॉपअप गायब हो गया
  • Windows उपयोगकर्ता ने %USERPROFILE%/.vscode/ के नीचे extension folder हटाया और extensions.json से उस extension की definition को manually delete करके पॉपअप हटाया
  • Visual Code Insiders उपयोगकर्ता ने बताया कि .vscode-insiders/extensions में equinusocio.vsc-material-theme-34.7.9 folder हटाने और extensions.json से संबंधित object निकालने के बाद सब फिर से काम करने लगा
  • उदाहरण commands में cat extensions.json | jq | grep eq से equinusocio.vsc-material-theme entry ढूँढना और rm -rf equinusocio.vsc-material-theme-34.7.9 से extension folder हटाने की प्रक्रिया शामिल थी

1 टिप्पणियां

 
GN⁺ 2025-02-27
Hacker News की राय
  • हटाई गई पोस्ट यहाँ देखी जा सकती है: https://web.archive.org/web/20250226020241/https://github.co...

  • मैं VS Code टीम से Isidor हूँ। समुदाय के एक सदस्य ने इस extension का गहन सुरक्षा विश्लेषण किया और दुर्भावनापूर्ण इरादे की ओर इशारा करने वाले कई red flags पाकर रिपोर्ट किया
    Microsoft के सुरक्षा शोधकर्ताओं ने उन दावों की पुष्टि की और अतिरिक्त संदिग्ध code भी पाया
    हमने इस publisher को VS Marketplace से block किया, संबंधित सभी extensions हटाए, और जिन भी VS Code instances में यह extension चल रहा था वहाँ से इसे remove किया
    साफ कर दूँ, यह कार्रवाई copyright या license से संबंधित नहीं है, केवल संभावित दुर्भावनापूर्णता के कारण है
    जल्द ही https://github.com/microsoft/vsmarketplace/ पर और विस्तृत सूचना पोस्ट करेंगे
    संदर्भ के लिए, VS Marketplace सुरक्षा में लगातार निवेश कर रहा है, और extension runtime trust के बारे में जानकारी https://code.visualstudio.com/docs/editor/extension-runtime-... पर देखी जा सकती है

    • VSCode इस extension को remove नहीं कर पा रहा है। हटाने का prompt आता है, confirm करने पर window refresh होती है लेकिन extension वैसे ही रहता है, और वही “समस्या है” वाला prompt फिर आ जाता है, जिससे अनंत loop बन जाता है
      extension panel से सामान्य तरीके से remove करने पर भी वही व्यवहार है
      आखिर में %USERPROFILE%\.vscode\extensions से extension folder सीधे delete करना पड़ा, और %USERPROFILE%\.vscode\extensions\extensions.json से भी entry हटानी पड़ी
      VSCode 1.97.2, commit e54c774e0add60467559eb0d1e229c6452cf8447
    • इस विरोधाभास को थोड़ा समझाया जाना चाहिए। अगर Marketplace की समस्याएँ बताने के लिए community पर निर्भर रहना पड़ता है, तो क्या Microsoft लोकप्रिय extensions का खुद audit करने में पर्याप्त निवेश नहीं कर रहा?
      मेरे हिसाब से VSCode का trust model भी मूल रूप से टूटा हुआ है। client machine पर किसी भी sandbox के बिना arbitrary third-party code चलाया जा रहा है
      Azure में आप इस स्तर की security deploy नहीं करेंगे, तो VSCode में “दूसरों की machine पर arbitrary third-party code चलाना” क्यों उचित है?
      VSCode टीम के काम के लिए आभारी हूँ और वास्तव में इसका उपयोग भी करता हूँ, लेकिन sandbox की अनुपस्थिति हमेशा असहज करती रही है
    • re-upload को भी track करना पड़ सकता है
      https://marketplace.visualstudio.com/items?itemName=t3dotgg....
    • Open VSX की तरफ भी इस extension को malicious के रूप में mark किया जा सकता है या नहीं, यह देखना चाहूँगा। जानना चाहता हूँ कि क्या आपको malicious code शामिल होने वाली version range पता है
      https://open-vsx.org पर इस extension के closed source में बदलने के बाद के versions मौजूद नहीं हैं, इसलिए पूछ रहा हूँ
    • false positive सच में मुश्किल होते हैं, और जब वे होते हैं तो बड़ा असर पड़ता है
      Material Theme और Material Theme Icons के publisher account Equinusocio को गलती से flag कर दिया गया था, और अब उसे restore कर दिया गया है
      सुरक्षा के लिए हमने तेजी से कदम उठाया, लेकिन गलती हुई। इन themes ने Microsoft के internal malware detection indicators में से कई को trigger किया, और जांच के नतीजे में हम गलत निष्कर्ष पर पहुँचे
      हम VS Code ecosystem की सुरक्षा को बहुत गंभीरता से लेते हैं और users की सुरक्षा के लिए तेजी से कार्रवाई की
      Equinusocio extension author की निराशा और तीखी प्रतिक्रिया को समझते हैं, और हमने उनकी बात सुनी है। यह बुरी बात है, लेकिन कभी-कभी ऐसा हो जाता है। हम अपनी पूरी कोशिश करते हैं, लेकिन हम भी इंसान हैं, और अब उम्मीद है कि इस मामले को सुलझाकर आगे बढ़ेंगे
      obfuscated code पर policy स्पष्ट करेंगे, और scanners व investigation प्रक्रियाओं को update करेंगे ताकि ऐसी घटना दोबारा होने की संभावना कम हो
      ये extensions सुरक्षित हैं और VS Code community के उपयोग के लिए restore कर दिए गए हैं
      Material Theme: https://marketplace.visualstudio.com/items?itemName=Equinuso...
      Material Theme Icons: https://marketplace.visualstudio.com/items?itemName=Equinuso...
      author को इस fallout में फँसना पड़ा, इसके लिए फिर से माफी मांगते हैं, और उनकी आगे की themes और extensions का इंतजार रहेगा। हमने उनसे संपर्क कर compensation measures पर चर्चा की और उनके धैर्य के लिए धन्यवाद दिया
      Scott Hanselman और Visual Studio Code Marketplace टीम - @shanselman
  • मैंने इस extension का सबसे प्रमुख fork, “Material Theme (But I Won't Sue You)” बनाया है
    मूल maintainer ने पिछले साल पूरी तरह हद पार कर दी थी। जो source पहले Apache 2 था, उसे offline कर दिया और alternative versions host करने वालों या इसे दूसरे IDEs में शामिल करने वालों पर मुकदमा करने की धमकी देने लगे
    अतिरिक्त सावधानी के तौर पर मैंने अपने fork में ये कदम उठाए हैं। VS Code team अभी इसका audit कर रही है, और मैंने उन्हें पूरी अनुमति दी है कि अगर malicious code का एक भी हिस्सा मिले, तो इसे तुरंत Marketplace से हटा दें और users से force-remove करवा दें
    मैंने codebase का भी गहराई से audit किया, लेकिन malicious लगने वाला कोई हिस्सा नहीं मिला, और changelog, analytics, Open Collective, HTML rendering से जुड़ा सारा code हटा दिया
    थोड़ी चिंता सिर्फ changelog के HTML और Sanity loader को लेकर थी, इसलिए उन्हें पूरी तरह निकाल दिया। दो PRs में लगभग सभी dependencies और 7,000 से ज़्यादा lines हटाईं, जिनमें से ज़्यादातर package-lock थीं
    अगर कोई और audit करना चाहता है, तो repository यहाँ है: https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you

    • यह अपने-आप में बेतुका लगता है कि एक theme analytics code और इतनी सारी dependencies तक जमा कर सकती है। theme आम तौर पर self-contained colors/styles का bundle होनी चाहिए
      और भी अजीब बात यह है कि कोई मेरी machine से कुछ भी “force-remove” कर सकता है
      अच्छा है कि मैं VS Code user नहीं हूँ। लगता है Marketplace और plugins में typical corporate noise सब चल रहा है
    • समझ नहीं आता कि repository या Marketplace page पर यह दिखाने वाला एक भी screenshot क्यों नहीं है कि यह दिखता कैसा है। क्या मैं कुछ miss कर रहा हूँ?
  • दिलचस्प बात यह है कि Reddit पर किसी ने 7 महीने पहले ही इस extension में suspicious changes नोटिस कर लिए थे [1]। open source में obfuscation आम तौर पर बहुत बड़ा red flag होता है
    Microsoft को VS Code extension security model पर गंभीरता से दोबारा सोचना चाहिए। मौजूदा तरीके में यह attack target बनने के लिए बहुत ज़्यादा lucrative हो गया है
    एक developer को block करने से 10 नए malicious extensions आ जाएँगे
    [1] https://www.reddit.com/r/vscode/comments/1eq40o2/has_the_mat...

    • आप जो चाहते हैं, उसके लिए सावधान रहना चाहिए
      VS Code शायद Microsoft की निकाली हुई लगभग सबसे अच्छी products में से एक है, और इसकी बड़ी वजह extension Marketplace है
      अगर Microsoft Marketplace पर ज़्यादा सख्ती से नियंत्रण लगाए, तो VS Code की quality खराब होने की संभावना ज़्यादा है
      तर्क यह है: Marketplace review सख्त होने पर entry barrier बढ़ेगा और कुल extensions की संख्या घटेगी। extensions घटने पर Microsoft को features सीधे VS Code core में डालने की incentive मिलेगी। Microsoft जितने ज़्यादा features जोड़ेगा, VS Code उतना ही ज़्यादा bloated होगा
      आखिरकार extension Marketplace के security audits बढ़ाने से और bloated VS Code मिल सकता है
      बेशक extension Marketplace में बेहतर security controls हों तो अच्छा होगा, लेकिन मुझे भरोसा नहीं कि Microsoft इसे ऐसे करेगा जिससे वास्तविक users के लिए product बेहतर हो
  • संबंधित चीज़ें पढ़कर लगता है कि यह व्यक्ति unstable है। सचमुच ऐसा लगता है कि वह hex color codes को अपनी property मानता है
    तकनीकी रूप से भी खास नहीं है, और उसने सारे अच्छे लोगों को दूर कर दिया
    मैं उसका software इस्तेमाल नहीं करता, लेकिन उम्मीद है कि वह इस episode से जल्दी बाहर निकले और सीखे कि Material उसने invent नहीं किया था

    • Pantone शायद इस पर कुछ कहना चाहेगा
    • किसी ने उसे lunatic कहा था, लेकिन यह security issue है। दुनिया भर के developers के IDEs में malicious code सफलतापूर्वक डालने वाले व्यक्ति को सिर्फ unstable या पागल मानकर नहीं चलना चाहिए
      बल्कि उसे चालाक और धोखेबाज़ मानना चाहिए, या यह भी कि वह किसी intelligence agency का front हो सकता है
      developer tools में malicious code डालने वाले व्यक्ति को लेकर ऐसी शंका करना paranoia नहीं है
  • किसी ने replacement extension Material Theme (But I Won't Sue You) डाल दिया है
    https://marketplace.visualstudio.com/items?itemName=t3dotgg....

    • मूल author development/maintenance costs के बारे में बहुत बोल रहा था, तो मुझे जिज्ञासा हुई कि आखिर maintain करने लायक है क्या
      मैंने https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you repository clone करके देखी, और code line count summary यह है
      CSS: 2 files, 142 lines, code 119 lines, comments 0 lines, blank lines 23 lines
      TypeScript: 32 files, 2026 lines, code 1650 lines, comments 243 lines, blank lines 133 lines
      HTML: 2 files, 59 lines, code 49 lines, comments 1 line, blank lines 9 lines
      कुल 36 files, 2227 lines, code 1818 lines, comments 244 lines, blank lines 165 lines
      इनमें से TypeScript की 622 lines scripts/generator/settings/specific के अंदर variant-wise hex color definitions हैं
      बाकी भी मोटे तौर पर boilerplate जैसा दिखता है, जैसे scripts/generator/color-set.ts की 599 lines
      इसलिए सवाल अब भी वही है। आखिर maintain करने के लिए ऐसा क्या है जिसमें कुछ मिनट से ज़्यादा लगें?
      मैंने इससे कहीं ज़्यादा substantial open source projects सालों तक release और maintain किए हैं, लेकिन कभी monetary contribution की उम्मीद नहीं की
    • replacement extension बनाने वाला शायद tech YouTuber theo है (https://m.youtube.com/@t3dotgg)
    • ओह, वह मैं हूँ। सच कहूँ तो यह हैरानी की बात नहीं कि यह आदमी थोड़ा पागल हो गया
  • Material theme में आखिर ऐसा क्या है जो लोगों को ऐसा बना देता है? करीब 5 साल पहले IntelliJ side पर भी कुछ ऐसा ही हुआ था
    फिर भी उसमें literally सिर्फ colors ही नहीं थे

    • जो भी चीज़ popular हो और जिसमें monetization potential हो, शायद उसके साथ ऐसा ही होता है
  • क्या कोई बता सकता है कि repository में malicious हिस्सा आखिर कहाँ था? मुझे नहीं मिल रहा
    obfuscated code यहाँ मिला: https://web.archive.org/web/20250226020241/https://github.co...

  • इस व्यक्ति ने दूसरों के contributions लेने के बाद इसे closed source में बदल दिया, यह सच में बहुत अजीब है। सही लगता नहीं, हालांकि मैं copyright expert नहीं हूँ

    • सामान्य तौर पर, माना जाता है कि contributions आमतौर पर मौजूदा license के तहत दिए जाते हैं
      maintainer license बदल सकता है, लेकिन उसका असर पुराने contributions पर नहीं पड़ता। मूल रूप से license बदलने से पहले की हर चीज़ पर पुराना license ही लागू रहता है
      popular software का license बदलने पर भी fork संभव होने की वजह यही है
      पीछे की तारीख़ से license बदलने के लिए contributors की सहमति चाहिए, या ऐसा कोई document होना चाहिए जो वह अधिकार देता हो
      Contributor License Agreement (CLA) maintainer को पुराने हिस्सों तक का license मनमर्जी से बदलने का अधिकार दे सकता है, लेकिन हर CLA ऐसा नहीं होता
      license बदलने वाले प्रसिद्ध software में Redis और Terraform शामिल हैं। ऐसे मामलों में भी पहले से distributed software अभी भी पुराने license के तहत इस्तेमाल किया जा सकता है, और वह पुराना license fork की अनुमति देता है
    • क्या Material शुरू से ही उसका काम था?
    • यह Red Hat या Terraform की तरह कंपनी द्वारा मुख्य रूप से maintain किए जाने वाले कई open source projects के non-commercial में बदलने जैसा है
  • अच्छा है कि आजकल ज़्यादातर tools में default तौर पर काफ़ी अच्छे से बने themes शामिल होते हैं
    अगर आप ऐसे risks कम करना चाहते हैं और install किए जाने वाले extensions/add-ons को न्यूनतम रखना चाहते हैं, तो यह काफ़ी practical option बन जाता है
    बेशक, यह भी अच्छी बात है कि software को इस हद तक theme किया जा सकता है और कुछ मामलों में usability और accessibility बेहतर हो सकती है
    लेकिन permission restriction से जुड़ी feature requests को address किया जाना चाहिए

    • यह अपने-आप में हैरान करने वाली बात है कि theme security risk बन सकती है
      साफ़ तौर पर यह सिर्फ़ simple color codes और definitions से बनी चीज़ नहीं लगती
      शायद theme system को और सख्ती से lock down करना होगा