Material Theme eliminado del Marketplace de VS Code
(web.archive.org)- Usuarios de VS Code compartieron que
equinusocio.vsc-material-themefue eliminado con el mensaje reportado como problemático, y que incluso sufrieron bloqueos al reinstalarlo o pop-ups repetidos - La pregunta en GitHub Q&A partió de cuestionar la confiabilidad de los comentarios del Marketplace, y la respuesta seleccionada llevó a un enlace de una extensión alternativa de t3dotgg
- El núcleo de la controversia es que se combinan el cambio a closed-source de la extensión, sospechas de ofuscación de código y la actitud del autor al responder reseñas, lo que debilitó la confianza
- Algunos usuarios compartieron que, con base en commits y registros de discusiones eliminados, además de un post de Reddit de hace 6 meses, ya se había debatido en el pasado si la extensión había sido comprometida
- Para eliminar los pop-ups repetidos, hubo casos en los que fue necesario borrar manualmente la carpeta de la extensión y la entrada de
extensions.jsonen.vscodeo.vscode-insiders/extensions, o incluso reinstalar VS Code
Mensaje de problema mostrado por VS Code
- Un usuario compartió que VS Code mostró el mensaje
We have uninstalled 'equinusocio.vsc-material-theme' which was reported to be problematic. - Dijo que cada vez que cerraba y volvía a abrir VS Code, parecía que la extensión se instalaba de nuevo, y que incluso después de quitarla manualmente seguía apareciendo el mismo mensaje
- Otro usuario dijo que VS Code también bloqueó la reinstalación de la extensión
- También hubo opiniones de que Settings Sync podría ser la causa, pero el usuario afectado dijo que había instalado Code recientemente y que solo tenía configuradas unas pocas extensiones, por lo que no estaba seguro
Respuesta seleccionada y extensión alternativa
- La respuesta seleccionada presenta
t3dotgg.vsc-material-theme-but-i-wont-sue-youdel Visual Studio Marketplace - La persona que hizo la pregunta agregó en el cuerpo que el enlace de esa respuesta está respaldado por el repositorio de t3dotgg
- Un usuario dejó la reacción: “Ahora sí hay un resultado real, y justo hoy era un día en el que tenía que trabajar”
Controversia sobre el código y la licencia que debilitó la confianza
- Un usuario señaló como problema el reciente cambio a closed-source y la falta de aviso previo, y dijo que ya no confía en la extensión tras ver respuestas groseras del autor en las reseñas hacia usuarios preocupados
- El mismo usuario agregó que el código ofuscado parece una salida de
obfuscator.io - Otro usuario afirmó que el autor de la extensión está amenazando a personas que usan Material Theme en sus productos, y que parece haber olvidado que originalmente tenía Apache License 2.0
- Este usuario adjuntó un enlace que parece ser un archivo de licencia anterior
- El mismo comentario afirmó que se borró el historial de commits para hacer que pareciera que siempre había tenido otra licencia
Registros eliminados y sospechas previas
- Un usuario dijo que parece que se eliminaron muchos commits y registros de discusiones del repositorio Git
- El mismo usuario compartió que encontró un post de Reddit de hace 6 meses,
has_the_material_theme_extension_been_compromised, y que ese post lleva a un enlace roto de discussion de este repositorio - Otro usuario reaccionó diciendo que era “el único tema que me gustaba en VSCode”, y otro comentó que ya hay muchos forks
Métodos intentados para eliminar los pop-ups repetidos
- Un usuario de Linux dijo que borró manualmente la carpeta de la extensión en el directorio
.vscode, pero no se solucionó, y que al reinstalar VS Code desapareció el pop-up - Un usuario de Windows compartió que eliminó la carpeta de la extensión debajo de
%USERPROFILE%/.vscode/y borró manualmente la definición de la extensión enextensions.json, con lo que desapareció el pop-up - Un usuario de Visual Code Insiders dijo que borró la carpeta
equinusocio.vsc-material-theme-34.7.9en.vscode-insiders/extensions, quitó el objeto correspondiente deextensions.jsony luego volvió a funcionar - Los comandos de ejemplo incluyen el procedimiento de encontrar la entrada
equinusocio.vsc-material-themeconcat extensions.json | jq | grep eqy borrar la carpeta de la extensión conrm -rf equinusocio.vsc-material-theme-34.7.9
1 comentarios
Opiniones de Hacker News
La publicación eliminada se puede ver aquí: https://web.archive.org/web/20250226020241/https://github.co...
Soy Isidor, del equipo de VS Code. Un miembro de la comunidad hizo un análisis de seguridad profundo de esta extensión y reportó varias señales de alerta que sugerían una intención maliciosa.
Investigadores de seguridad de Microsoft verificaron esas afirmaciones y además encontraron más código sospechoso.
Bloqueamos a este publisher en VS Marketplace, eliminamos todas esas extensiones y las quitamos de todas las instancias de VS Code donde se estuvieran ejecutando.
Para dejarlo claro: esta medida no tiene que ver con derechos de autor ni licencias, sino únicamente con posible malicia.
Pronto publicaremos un aviso con más detalles en https://github.com/microsoft/vsmarketplace/.
Como referencia, VS Marketplace sigue invirtiendo en seguridad, y pueden ver información sobre la confianza en el runtime de extensiones en https://code.visualstudio.com/docs/editor/extension-runtime-...
Al eliminarla de la forma habitual desde el panel de extensiones ocurre lo mismo.
Al final tuve que borrar manualmente la carpeta de la extensión en
%USERPROFILE%\.vscode\extensionsy también quitar la entrada de%USERPROFILE%\.vscode\extensions\extensions.json.VSCode 1.97.2, commit
e54c774e0add60467559eb0d1e229c6452cf8447También creo que el modelo de confianza de VSCode está roto de raíz. Está ejecutando código arbitrario de terceros en la máquina del cliente sin ningún tipo de sandbox.
No desplegarían este nivel de seguridad en Azure; entonces, ¿por qué en VSCode es aceptable “ejecutar código arbitrario de terceros en máquinas ajenas”?
Aprecio el trabajo del equipo de VSCode y de hecho lo uso, pero la ausencia de sandbox siempre me ha incomodado.
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Lo pregunto porque en https://open-vsx.org no están subidas las versiones posteriores a que esta extensión pasara a ser de código cerrado.
La cuenta de publisher Equinusocio, de Material Theme y Material Theme Icons, fue marcada por error y ya fue restaurada.
Actuamos rápido por seguridad, pero nos equivocamos. Estos temas activaron varios indicadores internos de detección de malware de Microsoft y, tras la investigación, llegamos a una conclusión incorrecta.
Nos tomamos muy en serio la seguridad del ecosistema de VS Code y actuamos con rapidez para proteger a los usuarios.
Entendemos la frustración y la reacción intensa del autor de las extensiones de Equinusocio, y escuchamos su voz. Es algo malo, pero a veces estas cosas pasan. Hacemos lo mejor posible, pero también somos humanos, y ahora esperamos ordenar este asunto y seguir adelante.
Aclararemos la política sobre código ofuscado y actualizaremos nuestros scanners y procedimientos de investigación para reducir la posibilidad de que algo así vuelva a ocurrir.
Estas extensiones son seguras y fueron restauradas para que la comunidad de VS Code pueda usarlas.
Material Theme: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Material Theme Icons: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Volvemos a disculparnos con el autor por haber quedado atrapado en las consecuencias de esto, y esperamos sus próximos temas y extensiones. Nos pusimos en contacto con él para discutir medidas de compensación y le agradecemos su paciencia.
Scott Hanselman y el equipo de Visual Studio Code Marketplace - @shanselman
Creé el fork más destacado de esta extensión, “Material Theme (But I Won't Sue You)”
El maintainer original se pasó completamente de la raya el año pasado. Bajó de internet el código fuente que originalmente era Apache 2 y empezó a amenazar con demandar a quienes alojaran versiones alternativas o lo incluyeran en otros IDE
Por simple precaución, tomé las siguientes medidas en mi fork. El equipo de VS Code lo está auditando ahora mismo, y les di permiso total para retirarlo de inmediato del Marketplace y forzar su desinstalación en los usuarios si encuentran siquiera una pieza de código malicioso
También audité a fondo la base de código y no encontré nada que pareciera malicioso; eliminé todo el código relacionado con el registro de cambios, analíticas, Open Collective y renderizado HTML
Lo único que me preocupaba un poco era el HTML para el changelog y el cargador de Sanity, así que los saqué por completo. En dos PR eliminé casi todas las dependencias y más de 7,000 líneas, aunque la mayoría eran de
package-lockSi alguien más quiere auditarlo, el repositorio está aquí: https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you
Lo todavía más absurdo es que alguien pueda “forzar la desinstalación” de cualquier cosa en mi máquina
Me alegra no ser usuario de VS Code. Parece que en el Marketplace y los plugins ocurre todo el típico ruido corporativo
Curiosamente, alguien en Reddit notó hace 7 meses los cambios sospechosos en esta extensión [1]. En código abierto, la ofuscación suele ser una señal de alerta extrema
Microsoft debería replantearse seriamente el modelo de seguridad de las extensiones de VS Code. Con el enfoque actual, se volvió un objetivo demasiado rentable
Aunque bloqueen a un desarrollador, vendrán 10 extensiones maliciosas nuevas detrás
[1] https://www.reddit.com/r/vscode/comments/1eq40o2/has_the_mat...
VS Code puede ser casi el mejor producto que ha sacado Microsoft, y una gran razón de eso es el Marketplace de extensiones
Si Microsoft endurece más el control del Marketplace, es muy probable que la calidad de VS Code empeore
El razonamiento es este: si la revisión del Marketplace se vuelve más estricta, sube la barrera de entrada y baja el número total de extensiones. Si hay menos extensiones, Microsoft tendrá más incentivos para meter funciones directamente en el núcleo de VS Code. Cuantas más funciones agregue Microsoft, más pesado se volverá VS Code
En última instancia, aumentar las auditorías de seguridad del Marketplace de extensiones podría llevar a un VS Code más pesado
Claro que me gustaría que el Marketplace de extensiones tuviera mejores controles de seguridad, pero no confío en que Microsoft lo haga de una manera que realmente mejore el producto para los usuarios reales
Después de leer sobre el tema, esta persona parece inestable. Literalmente parece creer que los códigos de color hexadecimales son de su propiedad
Técnicamente tampoco es muy bueno, e hizo que toda la gente competente se fuera
No uso su software, pero espero que supere pronto este episodio y aprenda que él no inventó Material
Más bien habría que considerarlo astuto y engañoso, o incluso un agente de una agencia de inteligencia
Tener ese tipo de sospechas sobre alguien que mete código malicioso en herramientas de desarrollo no es paranoia
Alguien subió una extensión alternativa, Material Theme (But I Won't Sue You)
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Cloné el repositorio https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you y lo revisé; el resumen de líneas de código es este
CSS: 2 archivos, 142 líneas, 119 líneas de código, 0 líneas de comentarios, 23 líneas en blancoTypeScript: 32 archivos, 2026 líneas, 1650 líneas de código, 243 líneas de comentarios, 133 líneas en blancoHTML: 2 archivos, 59 líneas, 49 líneas de código, 1 línea de comentario, 9 líneas en blancoTotal: 36 archivos, 2227 líneas, 1818 líneas de código, 244 líneas de comentarios, 165 líneas en blanco
De eso, 622 líneas de TypeScript son definiciones de colores hexadecimales por variante dentro de
scripts/generator/settings/specificEl resto también parece en gran parte boilerplate; por ejemplo, las 599 líneas de
scripts/generator/color-set.tsAsí que la pregunta sigue en pie: ¿qué hay que mantener exactamente para que tome más de unos minutos?
He publicado y mantenido durante años proyectos open source mucho más sustanciales, pero nunca esperé contribuciones económicas
¿Qué demonios tiene el tema Material para hacer que la gente se ponga así? Hace unos 5 años pasó algo parecido en el mundo de IntelliJ
Aunque aquello no era literalmente solo colores
¿Alguien puede señalar en el repositorio dónde estaba la parte maliciosa? No la encuentro
Encontré el código ofuscado aquí: https://web.archive.org/web/20250226020241/https://github.co...
Es realmente raro que esta persona haya aceptado contribuciones de otros y luego lo haya cambiado a código cerrado. No parece correcto, aunque no soy experto en derechos de autor
El mantenedor puede cambiar la licencia, pero eso no afecta las contribuciones anteriores. Básicamente, todo lo anterior al cambio de licencia conserva la licencia anterior
Esta es la razón por la que se puede hacer un fork de software popular aunque cambie de licencia
Para cambiar la licencia de forma retroactiva se necesita el consentimiento de los contribuidores, o un documento que otorgue ese derecho
Un acuerdo de licencia de contribuidor (CLA) puede darle al mantenedor el derecho de relicenciar a voluntad incluso lo anterior, pero no todos los CLA hacen eso
Entre los casos famosos de software que cambió de licencia están Redis y Terraform. Incluso en esos casos, el software ya distribuido sigue estando disponible bajo la licencia anterior, y esa licencia anterior permite hacer forks
Me gusta que hoy la mayoría de las herramientas ya traigan por defecto temas bastante bien hechos
Si quieres reducir este tipo de riesgos y minimizar las extensiones/add-ons que instalas, es una opción bastante realista
Por supuesto, también es bueno que el software pueda personalizarse visualmente hasta este punto y que, según el caso, pueda mejorar la usabilidad y la accesibilidad
Aun así, deberían atenderse las solicitudes de funciones relacionadas con restricción de permisos
Evidentemente no parece estar compuesto solo por simples códigos de color y definiciones
Probablemente habría que endurecer más el sistema de temas