mi mod de minecraft enviaba telemetría a un webhook sin ningún límite

cybersecurity · Oct 4, 2026 · 2 min read

escribí una mod para minecraft en java. algo pequeño de calidad de vida, el tipo de proyecto que empiezas un fin de semana porque quieres un interruptor de visión nocturna algo mejor. y en algún momento decidí que sería interesante saber cuánta gente lo estaba usando de verdad.

así que añadí la telemetría. anónima, agregada, inocua. la mod publicaba un pequeño payload json en un webhook de vez en cuando.

esto es lo que no añadí:

  • un límite de peticiones en el lado que recibe
  • un interruptor de consentimiento que alguien pudiera apagar
  • autenticación de ningún tipo
  • ningún razonamiento sobre el hecho de que una url dentro de un cliente es una url que cualquiera puede leer

qué pasó de verdad

el código de la mod es público, así que el endpoint era público. en días el canal ya no recibía telemetría: recibía la misma línea miles de veces: un usuario real, luego un script, luego un script con un bucle, luego dos scripts con un bucle.

el payload no valía nada pero el volumen sí. y el modo de fallo era el vergonzoso: ya no podía distinguir a mis propios usuarios del abuso, porque había construido algo donde esas dos cosas se veían iguales desde el lado que recibía.

por qué que los datos fueran inocuos no era una defensa

esta es la parte a la que vuelvo siempre. el payload no contenía nada. a un script le da igual. la única propiedad que hacía peligroso mi endpoint era que aceptaba cualquier cosa de cualquiera, tan rápido como la red pudiera entregarla.

decir «solo es telemetría» no es un argumento de seguridad. es una descripción de lo que al atacante no le importa.

la solución

no parcheé la mod y esperé que nadie volviera a mirar. puse un filtro delante del endpoint, en el borde, en cloudflare, para que las peticiones se rechazen antes de llegar a algo mío. el borde es el único sitio que puede decir que no a tráfico que no me dejó invitar.

es una regla, y es la pieza de seguridad más pequeña y mejor que he hecho nunca.

qué me llevé

  • un endpoint es público en el momento en que lo publicas, sin importar a quién pretendías
  • los límites van en el borde, no en el cliente que los pidió
  • si no puedes distinguir a un usuario de un ataque, no tienes telemetría, tienes una manguera de incendios
  • borrar algo es un control de seguridad válido, y debería haber sido mi primera opción en lugar de la última

la mod sigue ahí. la telemetría no.