Lo hicimos
A un negocio le avisaron que su página estaba infectada. Su técnico la revisó, no encontró nada y concluyó que era una falsa alarma. Los dos tenían razón en lo que veían. El problema es que ninguno de los dos era el público al que el código estaba esperando.
Lo que veían
Desde las computadoras del negocio el sitio abría normal, rápido y sin avisos. Ni una ventana emergente, ni una redirección, ni un mensaje del navegador. Un cliente decía que a veces se le abría algo raro, pero como no pasaba siempre, sonaba a exageración.
Lo que ya habían intentado
Lo habían pasado por dos escáneres en línea y lo habían revisado desde la terminal, comparando la respuesta del sitio con distintos navegadores declarados. Los tres métodos dijeron lo mismo: limpio. Y era verdad — para lo que esos métodos saben ver.
Por qué la revisión no encontró nada
Las herramientas de línea de comandos descargan el código de una página, pero no ejecutan la parte interactiva. Y el código dañino de hoy ya no viene escrito a la vista: se construye solo, en el navegador de quien visita, y antes de hacer nada pregunta quién está del otro lado.
En este caso preguntaba tres cosas: si era una computadora de escritorio, si era Windows, y si ya se le había mostrado antes. Si algo no cuadraba, se quedaba quieto. El negocio trabajaba en Mac. Nunca se iba a disparar frente a ellos. Y esa tercera condición —callarse después de unas cuantas veces por persona— es justo la que hacía que el cliente que lo reportó pareciera exagerado.
Dónde estaba en realidad
La señal estaba a la vista en el código fuente, pero no era una etiqueta sospechosa: era una lista de direcciones de internet ajenas. Un sitio sano llama a su propio dominio, a un par de servicios conocidos y al proveedor de su plantilla. Nada más. Cualquier dominio que nadie del negocio reconozca merece que se abra el archivo y se lea qué hace ahí.
El que estaba de más aparecía una sola vez en toda la página. Esa unicidad es la pista, no el ruido: lo que se repite cien veces suele ser la plantilla; lo que aparece una vez y no se explica es lo que hay que leer.
La regla que quedó
Que se vea limpio desde tu computadora no significa que esté limpio.
Una revisión descarta que el servidor mande algo distinto a los buscadores, que es el truco viejo. No descarta que el código decida en la máquina del visitante si se activa. Para eso hay que mirarlo desde el público al que está esperando.
Cómo revisar el tuyo sin ser técnico
Tres preguntas que puedes hacerle a quien te lleva el sitio, y que separan una revisión de verdad de una que sólo tranquiliza:
- ¿Lo revisaron desde Windows, además de desde su computadora? Buena parte del código de este tipo sólo se activa ahí, porque es donde está el negocio para quien lo pone.
- ¿Compararon lo que devuelve el sitio a un visitante normal contra lo que le devuelve a Google? Si los dos no reciben prácticamente lo mismo, hay algo que está escondiendo.
- ¿Revisaron la lista de dominios externos que llama la página? Es el control que más rápido encuentra lo que no debería estar, y no requiere herramientas de pago.
Y si alguien te reporta algo que tú no puedes reproducir, no lo descartes por eso. En este caso el único que lo estaba viendo era el único que tenía razón.