Engineering | cloud | tech | cyberculture

¿Pero esto lo has probado?

Ayer saltaba la noticia, un fallo en la web de la Sanidad de Madrid deja al descubierto los datos del rey, Pedro Sánchez o Aznar.

La Comunidad de Madrid estrenó el 1 de julio una página web para poderte descargar el certificado digital de Covid, hábil para viajar por la UE. Con solo proporcionar tu DNI se podía conseguir un JSON en claro mostrando información sensible. No es complicado conocer el DNI de la familia real española y datos sensibles como el número de teléfono han empezado a circular.

Captura de los datos en bruto que ofrecía el portal del certificado COVID de la Comunidad de Madrid, con el nombre del rey Felipe VI.
JSON que se obtenía al introducir en la URL el DNI

Por ejemplo en la comunidad donde resido, Cantabria, para obtener este certificado es necesario introducir tu DNI, fecha de nacimiento y el número de teléfono móvil con el que estás registrado en el sistema de sanidad cántabra, una vez completado te llega un SMS con un código que debes introducir y en ese momento descargas el certificado.

La explicación del equipo de desarrollo, «la incidencia ha venido ocasionada por la subida de una actualización que pasó los protocolos de pruebas y que en el proceso de puesta en marcha generó una brecha». Mi teoría es que en los entornos de desarrollo tenían quitadas las medidas de seguridad para hacer pruebas más rápidas y eso ha acabado en producción, un error imperdonable que nunca debería ocurrir.

Si este desarrollo es un desarrollo normal, para llegar a producción, este código debería haber pasado por varios filtros de pruebas y entornos, por lo que me hace cuestionarme la metodología con la que se ha afrontado este desarrollo, porque aunque haya prisa por llegar a una fecha, con mecanismos sencillos de testing y una batería de pruebas en un entorno de preproducción nunca se debería haber llegado tan lejos, ¿nadie se dio cuenta de un bug tan grave?

Estamos ante lo mismo, los tests y pruebas para el final en vez de convertirlo en el día a día como parte del desarrollo y las estimaciones (¿alguien sigue estimando una tarea sin pensar en el tiempo que le va a llevar las pruebas?), al final eres tú como desarrollador quien se juega el cuello si algo falla, así que si tu jefe de proyecto, mánager, cliente y demás perfiles por encima de ti tuercen el gesto cuando te pasas una jornada haciendo tests, debes ser inflexible con esto o puede pasar como ayer, que por una mala praxis todo el mundo conoció el teléfono móvil del rey.