Sobre la nueva alerta de seguridad de Magento y las malas prácticas

Alerta de seguridad de Magento

El martes a las 21:00 (UTC-3) llegaba otro aviso de seguridad de Magento (de la versión 1).

A diferencia de los anteriores, el problema no se encuentra en Magento en si, sino que se han encontrado vulnerabilidades en una serie de módulos y themes que, aparentemente, están muy extendidos.

En este punto, más allá de querer golpearse la cabeza contra la pared (ese mismo día, media hora antes del email, me tocó terminar de instalar absolutamente todos los parches para una versión 1.8.1.0 y al leer el email reconocí los módulos en cuestión porque eran los que estaban en esa tienda); lo que quizás deberíamos cuestionarnos es cómo se trabaja, habitualmente, con los módulos de terceros.

Antes de comenzar, una aclaración que no debería de hacer falta: hay módulos de terceros (desarrolladores, agencias, empresas que se dedican sólo a hacer módulos) que son excelentes, que están bien documentados, que tienen el código publicado y que ante la menor cuestión, dan soporte al instante. Además, en muchos casos podemos aprender cosas nuevas.

Lamentablemente, también tenemos anti-ejemplos para cada uno de esos casos.

En más de una oportunidad me ha pasado de tener que discutir (entendiendo discutir como la primera acepción que da la RAE) cuando al momento de plantear un requerimiento la solución mágica era:

Magento Connect

De nuevo, no estoy en contra de los módulos de terceros (más bien, todo lo contrario), pero hay muchos «peros» al momento de tomar estas decisiones.

Como regla general, deberíamos tener siempre presente que debemos tener control y conocimiento sobre cada línea de código que se agrega a nuestra tienda. No hay excusa.

Luego, si se tiene conocimiento y/o confianza en ciertos módulos o proveedores, uno decidirá descansar en ellos para sumar funcionalidad. (Que descansemos no nos quita responsabilidad)

Salir corriendo a comprar un theme o un módulo porque dado su valor me resuelve X requerimiento y con eso ahorro horas de trabajo (que puedo o no facturar) ya nos ha demostrado hasta el hartazgo que en el mediano plazo, al menos, nos va a pasar factura.

De aquí en más Magento2 ha elevado la vara de calidad e introduce el nuevo Markeplace, en donde cada módulo deberá pasar diferentes niveles de calidad y análisis; lo cual es un avance cualitativo, aunque no es la única forma de sumar módulos a la plataforma.

¿De qué sirve todo este trabajo si luego viene alguien con poquísimos escrúpulos y aplica la gran: «He visto un módulo en el Connect que te resuelve eso»?.

En este caso puntual no es sólo responsabilidad de esos módulos, sino también de todos aquellos que decidieron usarlos sin analizar el código.

Hasta que no se adopte como rutina ese tipo de controles, vamos a seguir viendo este tipo de emails más veces de las que quisiéramos y muchas más de las que el negocio tolera.