- uBlock Origin Lite dejó de distribuirse en la Firefox Add-ons Store, y su creador Raymond Hill movió la extensión a autoalojamiento
- A inicios de septiembre, el equipo de revisión de Mozilla marcó todas las versiones como infractoras de la política, alegando recolección de datos de usuarios y la inclusión de “minified, concatenated or otherwise machine-generated code”
- Hill respondió que esas observaciones no tienen sentido para cualquiera con conocimientos básicos de JavaScript y calificó el proceso de revisión como “nonsensical and hostile”
- Mozilla luego reconoció el error y se disculpó en un correo incluido en un issue de GitHub, pero uBlock Origin Lite sigue sin poder encontrarse en addons.mozilla.org
- Los usuarios de Firefox deben descargar la versión más reciente desde GitHub, mientras que uBlock Origin for Firefox sigue disponible y con soporte
Fin de la distribución en la Firefox Add-ons Store
- El creador de uBlock Origin Lite, Raymond Hill, dejó de dar soporte en la Firefox Add-ons Store tras pasar varias veces por un proceso de revisión que calificó de “nonsensical and hostile” por parte del equipo de revisión
- A inicios de septiembre, Mozilla marcó todas las versiones de uBlock Origin Lite como infractoras de la política
- Los revisores consideraron que la extensión parecía recopilar datos de usuarios
- También señalaron como problema que incluyera “minified, concatenated or otherwise machine-generated code”
- Hill respondió que cualquiera que entienda lo básico de JavaScript se daría cuenta en segundos de que esas observaciones no tienen sentido
Cambio a autoalojamiento e impacto para los usuarios
- Hill retiró la extensión de la Firefox Add-ons Store y la movió a una versión autoalojada
- Los usuarios que quieran seguir usando uBlock Origin Lite en Firefox deben descargar la versión más reciente desde GitHub
- Esa versión puede actualizarse automáticamente por sí sola
- El último mensaje del issue de GitHub, ya cerrado, incluye un correo en el que Mozilla reconoce el error y se disculpa
- Aun así, uBlock Origin Lite sigue eliminada de la Mozilla Add-ons Store y ya no puede encontrarse en addons.mozilla.org
Contexto de uBlock Origin y las versiones de Manifest
- La versión existente de uBlock Origin for Firefox sigue disponible y con soporte
- La versión Lite es una extensión basada en Manifest V3, con un uso más ligero y eficiente de recursos como procesador y memoria
- Hill ya había recomendado cambiar a uBlock Origin Lite después de que Chrome comenzara a marcar a uBlock Origin como una extensión no compatible
- Mozilla no tiene planes de dejar de dar soporte a las extensiones basadas en Manifest V2 en el futuro cercano, por lo que uBlock Origin seguirá existiendo y funcionando en Firefox y en navegadores con soporte para MV2
1 comentarios
Opiniones en Hacker News
En el trabajo administro una extensión de navegador de tamaño medio y también la ofrecíamos para Firefox, pero llevamos el último año batallando para volver a entrar en la tienda de Mozilla después de una revisión manual.
Estoy en EE. UU., y parece que solo hay unas dos personas revisando, en Europa, quizá en Rumania; los tiempos de respuesta son largos, y es muy frustrante que tome dos semanas resolver errores simples, como que no vean algo que ya existe y digan “necesitan una política de privacidad”, que miren los artefactos de compilación y digan “código generado por máquina u ofuscado”, o que no sigan las instrucciones y digan “no se puede reproducir el código fuente” desde el directorio equivocado.
Exigen builds reproducibles, pero no logran instalar la versión correcta de yarn, ni seguir pasos básicos de configuración como el comando exacto de instalación escrito varias veces en negritas en el README, el procedimiento para instalar la versión de Node o los scripts de automatización.
Se vuelve aún más complicado si una empresa privada comete la “locura” de usar módulos privados de NPM. Aunque ofrezcas acceso a una cuenta preconfigurada o permisos para una cuenta de revisión, Mozilla dice que “es difícil usar cuentas externas durante la revisión”.
El solo hecho de tener que interactuar con el equipo de revisión del navegador es una gran razón por la que ya no recomiendo Firefox. En el mejor de los casos son incompetentes, y parecen estar exprimiendo al máximo los ingresos del acuerdo de búsquedas con Google, no intentando ofrecer seriamente un navegador alternativo y seguro.
Pero la extensión está estructurada para compilar un archivo wasm desde Rust, y después de varios intercambios llegamos a la conclusión de que ese wasm no necesitaba ser reproducible. Aunque es el núcleo de la extensión y contiene el 99% de la lógica.
No entiendo qué sentido tiene que el JS se reproduzca si se puede ocultar código potencialmente malicioso arbitrario dentro del wasm.
Durante un tiempo incluso consideramos seriamente incluir el wasm precompilado en el paquete de código fuente o en npm para simplificar los “builds reproducibles” del lado de AMO, pero eso lo alejaría todavía más de la forma real en que compilamos.
Incluso he oído que, en algunos casos, los revisores reutilizan máquinas virtuales o directamente no las usan.
Yo esperaba que el formulario de revisión tuviera un campo para pegar un enlace de git, y que hubiera un pipeline automatizado bien documentado que levantara una VM con memoria y disco definidos, clonara el repo y ejecutara
docker build -t ./docker/review/Dockerfile.Me sorprende que los revisores no hayan presionado fuerte dentro de la organización para obtener herramientas así, aunque sea por satisfacción laboral. Es difícil imaginar cuánto deben sufrir con dueños de apps enojados.
Al final, la empresa redujo la frecuencia de actualizaciones de la extensión para Firefox porque el uso era bajo y la revisión era demasiado dolorosa. Me dio pena, siendo el único ingeniero —quizá el único empleado— de esa empresa que usaba Firefox.
Es un trabajo que requiere cierto nivel técnico, pero al mismo tiempo es bastante tedioso, y esos trabajos más interesantes probablemente también paguen mejor.
Trabajo en Mozilla, pero estoy bastante lejos de Addons, así que no sé qué presiones tienen ahí.
Aun así, si yo estuviera a cargo, el caso actual es gorhill. Simplemente lo convertiría en revisor de complementos con permisos completos y le diría que puede revisar solo sus propias extensiones.
No hace falta validar su capacidad ni su confiabilidad. Tiene muchos más antecedentes respaldándolo que cualquier contratista o empleado.
Tampoco es un caso único. Aunque ya no dependemos tanto de voluntarios como antes, muchas contribuciones importantes siguen viniendo de voluntarios, y al menos en el equipo de SpiderMonkey no hay un muro entre contribuidores externos y contribuidores pagados.
No veo por qué no podrían convertir a gorhill en miembro formal del equipo de revisión. Viendo la situación actual, no creo que él aceptara de inmediato, pero tendría más sentido que dar una excepción especial a otra persona u organización.
Él ya contribuye mucho a las capacidades y al éxito de Firefox, así que también podrían dejarlo contribuir a la revisión, que ya existe y tiene valor. Creo que bastaría con que revise lo suyo.
Ahora tengo que averiguar a quién molestar en Slack.
Aunque sea una superestrella, otra persona debería revisar el código para evitar que se relajen las prácticas de seguridad.
Si se permite este privilegio, otros superestrellas en la frontera querrán el mismo derecho.
En la publicación científica, incluso si eres editor en jefe, tus propios artículos los revisa otra persona y el proceso de decisión ocurre en un lugar al que tú no tienes acceso. Eso es bueno para la ciencia.
Podría ser una buena idea, pero Mozilla podría recibir nuevas quejas de que no evalúa la reputación de manera consistente.
https://wiki.mozilla.org/Add-ons/Reviewers/Guide/Reviewing
En cambio hay que usar las versiones ESR/Developer/Nightly y poner
xpinstall.signatures.requireden false, lo que reduce mucho la seguridad.Me parece que volverá en menos de una semana, y es importante porque en Firefox puede ahorrar batería frente al uBlock Origin normal.
Si entendí bien la línea de tiempo, parece que gorhill reaccionó de forma exagerada. Lo veo así incluso desde una postura que suele ser duramente crítica con casi todo lo que Mozilla ha hecho en los últimos más de 5 años.
Realistamente, para Mozilla es difícil revisar manualmente, de forma segura y a tiempo, todas las revisiones de todos los complementos, así que al final habría tenido que elegir entre automatización y largas demoras. En la automatización, los falsos positivos son inevitables.
¿Cuál sería la alternativa? ¿Eliminar por completo la revisión previa al lanzamiento? Como usuario, espero que no. De hecho, ya hay confirmación de que ataques vistosos a la cadena de suministro se ejecutan en la práctica.
La política de revisión también protege al propio gorhill. Si alguien lo amenaza para que incluya spyware, la posibilidad de que lo detecten antes del lanzamiento lo vuelve un poco menos atractivo como objetivo de coacción física.
Gorhill y otros desarrolladores de extensiones principales aportan valor real a Firefox y han demostrado buen comportamiento durante años.
Eso no significa que deban poder publicar lo que quieran, pero si un revisor va a rechazar un plugin famoso, una segunda persona debería revisarlo. Este error seguramente se habría detectado.
Se siente como otro ejemplo de que “Firefox invierte poco en relaciones con desarrolladores”. Sorprende, considerando cuánto dependen de ellos.
Si uBlock Origin Lite tiene 8.4 millones de usuarios, es difícil entender que gorhill no tenga una persona dedicada en Mozilla. Si hay un problema con la extensión, deberían avisarle por teléfono.
Es muy probable que la herramienta de escaneo automático que usa Mozilla haya detectado “esto es Google Tag Manager” y haya emitido la advertencia que normalmente envía para complementos que incluyen scripts sospechosos.
Sin embargo, el correo decía claramente que “el equipo de Mozilla Add-ons lo revisó manualmente”.
O eso es mentira, o el revisor manual no entendió que la herramienta automática que ejecutó podía tener falsos positivos.
No hay problema en que una plataforma como Mozilla use detección automática de abusos, pero no deberían mentir en la comunicación. O deberían contratar a alguien que sepa lo que hace al tratar bloqueos de complementos.
Incluso si es una extensión autoalojada, al enviarla debe pasar una revisión y esperar un tiempo arbitrario; y cuando las reglas de filtrado van empaquetadas en la extensión, el tiempo importa. Dice que, al recibir la notificación de aprobación, hay que volver a descargar manualmente el archivo de la extensión, renombrarlo, subirlo a GitHub y parchear manualmente
update_urla la nueva versión.Después de enviar
2024.9.12.1004, tardó 5 días en recibir la aprobación para autoalojamiento y, al momento de escribir,2024.9.22.986todavía no había sido aprobada.No parece nada divertido para hacerlo como hobby.
https://github.com/uBlockOrigin/uBOL-home/issues/197
Él es un desarrollador individual que mantiene uBlock como hobby y ni siquiera acepta donaciones, así que no nos debe nada.
Tiene derecho a decidir si el proceso de revisión es lo bastante fluido como para dedicarle su tiempo y energía, y esta vez simplemente decidió que no lo era.
Como hizo que la extensión sea de código abierto, cualquiera puede publicar uBlock Origin Lite en su lugar.
https://github.com/uBlockOrigin/uBOL-home/issues/197
Esto no fue una revisión automática, sino una revisión manual deficiente.
El autor también explica qué implica el proceso de revisión de AMO y dice que no quiere lidiar con ese estrés. También menciona que queda una versión algo dañina del plugin.
No querer lidiar con el estrés es una reacción completamente comprensible.
Es muy molesto que, para distribuirla a usuarios comunes, haya que enviar la extensión a un guardián
Como dijo gorhill en GitHub, incluso la aprobación de la versión autoalojada tardó varios días, y eso es inaceptable
Imagínate tener que obtener la aprobación de Microsoft para distribuir software. Ni Android es tan cerrado
La imposición de firmas y la eliminación de XUL fueron de las peores cosas que hizo Mozilla. Google hace lo mismo y peor, pero eso es algo que se espera de Google, no de Mozilla
Lo sé porque mantuve VimFx durante un tiempo después de la eliminación de XUL. Seguirles el ritmo a las API internas cambiantes era difícil, pero tenían que desarrollar el producto, así que no podía culparlos
La verdadera razón por la que dejé de mantener VimFx fue la imposición de firmas. Siguieron apretando las tuercas hasta hacer que ni siquiera “mi propio código” pudiera ejecutarse con una experiencia de usuario razonable
La dirección que quería era ofrecer WebExtensions como el método recomendado, con compatibilidad y garantías de obsolescencia, no preocuparse por la compatibilidad de otras API y seguir permitiendo extensiones externas de “acceso total” que usaran API internas
Aunque en la tienda advirtieran “esta extensión usa API no compatibles, por lo que puede romperse en cualquier momento y robar toda tu información privada”, y pusieran el botón de instalación en rojo intenso, igual deberían haberlo permitido
También deberían haber seguido dando soporte a extensiones de distribución propia que usaran claves de firma y URL de actualización administradas por el desarrollador
Como estas API no tienen garantías de compatibilidad, tampoco habría requerido mucho trabajo adicional. Un poco de trabajo de UI para agregar advertencias aterradoras y mantener el código de actualización fuera de la tienda
Cada vez más plataformas van en esa dirección, y no me sorprendería que Windows también terminara así
En móvil, parece que para instalar extensiones fuera del repositorio de Mozilla se necesita una compilación Nightly, lo que sugiere que su forma de pensar se está contaminando con el resto del ecosistema móvil
Antes de tomar medidas extremas como retirar complementos de la tienda, Mozilla debería contactar primero si tiene preguntas o inquietudes durante la revisión
Si no eres una figura conocida, no tienes muchos seguidores o tu app/extensión no es muy popular, es difícil esperar que se resuelva a tiempo
El uBlock Origin completo de Gorhill quizá sea casi el único punto de venta que le queda a Firefox
Con las cantidades absurdas de dinero que la alta dirección de Mozilla se llevó recientemente, en vez de eso podrían haber formado un equipo con personal de primer nivel dedicado a todo lo que el Sr. Gorhill necesitara
Más recientemente agregaron una función de privacy preserving attribution que ningún usuario pidió
No sé por qué esta extensión existe en AMO. Según el artículo, es la “versión Lite/Manifest v3”; entonces, ¿por qué instalaría uno una versión inferior para navegadores antiguos en lugar de la versión para Firefox que bloquea bien los anuncios?
Las listas declarativas de dominios son fáciles de cachear y reducen activaciones innecesarias de extensiones. Con menos permisos, el impacto también es mucho menor si en el futuro se sube a la tienda una versión infectada con malware
El motor de reglas de uBlock es tan potente que un conjunto de reglas personalizado puede inyectar código en cualquier sitio web. Esto aplica no solo a las reglas personalizadas, sino también a las reglas integradas, cuyas cuentas o hosting podrían ser hackeados o venderse más adelante
Por supuesto, eso no significa que vaya a usar la versión Lite ni que esté de acuerdo con la decisión de Google. Mataron la API de bloqueo de anuncios sin ofrecer una API alternativa
De todos modos, el código está disponible y hay gente que sigue usando Google Chrome, así que también se puede ofrecer esta versión en Firefox
La mejor pregunta es: si Firefox rechaza lo que quiero, ¿por qué usar Firefox?
Esto se ve bastante duro. Mozilla se equivocó, se disculpó, corrigió el error y quizá incluso mejoró el procedimiento, pero aun así el autor retiró la extensión y criticó a Mozilla
En mi opinión, el autor se lo tomó demasiado personal, o quiso enviar un mensaje fuerte para que mejoraran el proceso de revisión. En el camino, la visibilidad del proyecto sí salió un poco perjudicada
https://github.com/gorhill/uBlock/issues/38#issuecomment-918...
Así que era previsible que también se hartara del proceso de revisión de Mozilla y dijera que lo dejaba
En aquel entonces le entregó el proyecto a una persona cualquiera sin escrúpulos, que de inmediato intentó monetizarlo, y a Raymond no le gustó el resultado, tuvo que criticar su propio proyecto anterior y al final casi volvió al punto de partida, solo que con mucho trabajo extra de por medio
Estos proyectos funcionan bien cuando el autor siente que está dando a la comunidad un regalo valioso, y que la comunidad lo acepta y lo agradece
Tener que enviar tu creación a un proceso de “revisión” impersonal y que te la rechacen de una forma que deja claro que nadie la miró bien no es solo desmotivador: es un insulto
Yo también me habría ido
Ni siquiera le dio al autor la garantía de que el complemento no volvería a ser eliminado sin una comunicación previa de ida y vuelta
Mozilla tiene una página de comunicados de prensa, así que pudo haber publicado con claridad qué salió mal y cómo lo cambiaría en adelante. También pudo haber reconocido que esta extensión es excelente y aportar fondos para que siguiera disponible para los usuarios
Pero en cambio hizo lo mínimo posible para salvar las apariencias después de que el revisor la arruinara a lo grande. Los fundamentos usados en la primera revisión eran claramente incorrectos, al nivel de algo que hasta un desarrollador JS junior podría saber
Incluso un revisor de IA lo habría hecho mejor. ChatGPT 4o mini determinó que este archivo no parecía código ofuscado, que no estaba en una forma comprimida con espacios, saltos de línea y comentarios eliminados, y que tenía comentarios, indentación y funciones estructuradas, por lo que no presentaba características de código ofuscado
¿No podrían ser fríos e impasibles como la gente que opera la “tienda” de Firefox?
Aunque yo crea que en su lugar habría actuado de otra forma, en algún momento ya es suficiente
Y Mozilla no se disculpó. No quiero hacer de policía de las disculpas, pero eso fue apenas una frase formal de atención al cliente que incluía la palabra “apologize”
Con eso alcanza y nadie espera más, pero también podemos reconocerlo por lo que es
Es una respuesta justificada. uBO es una extensión imprescindible, y Mozilla parece no haber pensado que, si va a insistir en un proceso espantoso de revisión de extensiones dirigido por máquinas al estilo Google, al menos debería hacer una excepción con una de las extensiones más importantes que existen
Aunque Mozilla “se haya dado cuenta de su error”, se entiende que gorhill esté completamente furioso con todo este asunto y se niegue a colaborar
Su error fue asumir que él, como muchos desarrolladores de extensiones y de código abierto, aguantaría el trabajo administrativo a cambio de poco agradecimiento y exigencias crecientes
El resultado no es nada ideal, pero lamentablemente la responsabilidad recae por completo en Mozilla
La extensión principal siempre está más actualizada en Firefox que en Chrome/Edge
Así se encargarían de los bloqueadores de anuncios. Como ya tienen un amplio control sobre Chromium, la única alternativa real que queda es Safari, mucho más difícil de atacar
Google no puede bloquear las extensiones de bloqueo de anuncios de Firefox, pero sí puede alentar a Mozilla a operar Firefox prácticamente como abandonware y dejarlo morir
Es vergonzoso que la Mozilla Foundation haya arruinado tanto su posición, y cuesta atribuir estas acciones simplemente a incompetencia
Si Firefox no lo soportara, yo estaría usando otro navegador. Si cada vez hay menos cosas que Mozilla hace bien, deberían tratar a gorhill con todos los honores
De verdad espero que Raymond Hill no tome la misma medida con uBlock Origin, es decir, la versión Manifest v2
No es muy cómodo recomendarle a otra persona instalar una extensión autoalojada
Es una lástima que Mozilla y Raymond Hill no puedan, o no quieran, resolver este problema juntos. Entiendo que una extensión así no debería haber recibido esa clase de revisión, y también entiendo que él ya no quiera preocuparse más por esto, pero me preocupa qué efecto tendrá esta situación en la estabilidad a largo plazo del proyecto uBlock Origin
Toda la situación ciertamente no se ve saludable
https://github.com/uBlockOrigin/uBOL-home/issues/197#issueco...
Es absurdo insinuar que el proyecto está en peligro porque una plataforma menor se pone terca
Ya pasó aproximadamente una semana desde que salió, pero la versión más reciente disponible en el sitio de complementos de Firefox sigue siendo la 1.59