- 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 उपयोगकर्ता ने
.vscodedirectory में 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.9folder हटाने औरextensions.jsonसे संबंधित object निकालने के बाद सब फिर से काम करने लगा - उदाहरण commands में
cat extensions.json | jq | grep eqसेequinusocio.vsc-material-themeentry ढूँढना औरrm -rf equinusocio.vsc-material-theme-34.7.9से extension folder हटाने की प्रक्रिया शामिल थी
1 टिप्पणियां
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-... पर देखी जा सकती है
extension panel से सामान्य तरीके से remove करने पर भी वही व्यवहार है
आखिर में
%USERPROFILE%\.vscode\extensionsसे extension folder सीधे delete करना पड़ा, और%USERPROFILE%\.vscode\extensions\extensions.jsonसे भी entry हटानी पड़ीVSCode 1.97.2, commit
e54c774e0add60467559eb0d1e229c6452cf8447मेरे हिसाब से VSCode का trust model भी मूल रूप से टूटा हुआ है। client machine पर किसी भी sandbox के बिना arbitrary third-party code चलाया जा रहा है
Azure में आप इस स्तर की security deploy नहीं करेंगे, तो VSCode में “दूसरों की machine पर arbitrary third-party code चलाना” क्यों उचित है?
VSCode टीम के काम के लिए आभारी हूँ और वास्तव में इसका उपयोग भी करता हूँ, लेकिन sandbox की अनुपस्थिति हमेशा असहज करती रही है
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
https://open-vsx.org पर इस extension के closed source में बदलने के बाद के versions मौजूद नहीं हैं, इसलिए पूछ रहा हूँ
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
और भी अजीब बात यह है कि कोई मेरी machine से कुछ भी “force-remove” कर सकता है
अच्छा है कि मैं VS Code user नहीं हूँ। लगता है Marketplace और plugins में typical corporate noise सब चल रहा है
दिलचस्प बात यह है कि 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 नहीं किया था
बल्कि उसे चालाक और धोखेबाज़ मानना चाहिए, या यह भी कि वह किसी 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....
मैंने 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 linesTypeScript: 32 files, 2026 lines, code 1650 lines, comments 243 lines, blank lines 133 linesHTML: 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 की उम्मीद नहीं की
Material theme में आखिर ऐसा क्या है जो लोगों को ऐसा बना देता है? करीब 5 साल पहले IntelliJ side पर भी कुछ ऐसा ही हुआ था
फिर भी उसमें literally सिर्फ colors ही नहीं थे
क्या कोई बता सकता है कि repository में malicious हिस्सा आखिर कहाँ था? मुझे नहीं मिल रहा
obfuscated code यहाँ मिला: https://web.archive.org/web/20250226020241/https://github.co...
इस व्यक्ति ने दूसरों के contributions लेने के बाद इसे closed source में बदल दिया, यह सच में बहुत अजीब है। सही लगता नहीं, हालांकि मैं copyright expert नहीं हूँ
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 की अनुमति देता है
अच्छा है कि आजकल ज़्यादातर tools में default तौर पर काफ़ी अच्छे से बने themes शामिल होते हैं
अगर आप ऐसे risks कम करना चाहते हैं और install किए जाने वाले extensions/add-ons को न्यूनतम रखना चाहते हैं, तो यह काफ़ी practical option बन जाता है
बेशक, यह भी अच्छी बात है कि software को इस हद तक theme किया जा सकता है और कुछ मामलों में usability और accessibility बेहतर हो सकती है
लेकिन permission restriction से जुड़ी feature requests को address किया जाना चाहिए
साफ़ तौर पर यह सिर्फ़ simple color codes और definitions से बनी चीज़ नहीं लगती
शायद theme system को और सख्ती से lock down करना होगा