El desarrollador Andros Fenollosa cuenta cómo un pequeño widget de chat en tiempo real integrado en su blog se convirtió en un blanco de ataques tras la publicación de un artículo crítico con Tailwind CSS que llegó a portada de Hacker News. El componente, que muestra los visitantes conectados y permite enviar mensajes efímeros sin registro, forma parte de Django LiveView, su framework basado en WebSockets que renderiza HTML en el servidor. Tras la viralización del texto, la caja de mensajes se llenó durante un día entero de insultos, provocaciones, amenazas de muerte, spam, intentos de suplantación de identidad y enlaces maliciosos, además de mensajes larguísimos diseñados para tapar el contenido en pantallas móviles.
Para contener la oleada, el autor aplicó tres medidas: un filtro de palabras inapropiadas basado en heurísticas, una reducción drástica del número máximo de caracteres por mensaje y, sobre todo, no reaccionar. Como los mensajes se renderizan en el servidor y el HTML se escapa antes de emitirse, los intentos de inyectar JavaScript llegaron a los demás lectores como texto inerte, sin ejecutarse.
Fenollosa extrae varias lecciones: toda entrada de usuario debe tratarse como hostil, la moderación en tiempo real plantea un problema asimétrico porque el atacante improvisa en segundos y la defensa tarda horas, y la propia efímeridad del canal —sin historial, sin perfiles, sin karma— acaba restando incentivos a los trolls. Aun así, asegura no arrepentirse: la mayoría de usuarios lo emplea para saludarse y destaca la magia de coincidir con desconocidos en una misma página.
