Construí una API de captura de pantalla y un tipo estaba minando criptomonedas con ella.

Hola amigos, solo quería compartir esta historia. Sí, podría haber estado mejor preparado para lo que sucedió, lo sé. :)

Esta mañana, cuando abrí mi bandeja de entrada, recibí alrededor de 150 correos electrónicos de alerta de la herramienta de registro que uso. Inmediatamente pensé que debí haber introducido un error desagradable en producción y comencé a investigar. Rápidamente me di cuenta de que un tipo estaba creando nuevas cuentas realmente rápido en nuestro servicio API de captura de pantalla y estaba usando rápidamente todo el crédito del plan gratuito.

Estaba haciendo capturas de pantalla de esta página https://cnhv.co/2uujp para extraer criptomonedas en las máquinas que alojan las instancias de Chrome que utilizamos para hacer capturas de pantalla.

Supuse que estaba pasando el rato en la página de inicio de ApiFlash para poder comunicarme con él a través de Crisp, la herramienta que usamos para chatear con clientes potenciales. Aquí está la conversación que tuvimos:

Yo: hola Deje de crear varias cuentas en ApiFlash, está violando los términos del servicio.
Él: ¿cómo lo sabes?
Yo: desde nuestra interfaz de administración tenemos métricas para monitorear el uso.
Él: ¿entonces rastreaste mi ip? ¡¡¡Guau!!!
Yo: tenemos la obligación legal de recopilar datos de nuestros clientes.
El: oh. lo siento. Estaba usando su servidor para minar criptomonedas
Él: lo siento, lo detendré
Yo: gracias.
Él: ¿habrá algún procedimiento legal?
Yo: Si te detienes ahora. No. Si continúas sí.
Él: pero es tu culpa. no ha implementado ningún mecanismo para evitar bots o acceso automatizado
Yo: Permitimos que los usuarios creen cuentas libremente, pero tenemos varias herramientas para prohibir a las personas. También tenemos un contratista que puede construir un caso legal si es necesario.
Él: está bien, lo entiendo. pero es su deber asegurarse de que los softwares automatizados no puedan tener cuenta en su sitio
Yo: Podríamos agregar más seguridad si sentimos la necesidad.
Él: yo también soy desarrollador web. Puedo ayudarle
Él: acabo de crear una herramienta en php para crear cuentas automáticamente en su sitio.
Yo: nos dimos cuenta.
Yo: ¿selenio?
Él: no php curl
Él: puedo ayudarte si quieres
Él: entonces, ¿no tienes idea de la seguridad del sitio o eres demasiado flojo para implementarlo?
Él: por favor implemente un captcha en su sitio. evitará todas esas herramientas automatizadas
Yo: Gracias por tu consejo.
Yo: ¿Somos el primer sitio web que estás atacando?
Él: no ..
Él: este es mi hobby
Él: por diversión y beneficio
Yo: ¿Ganas dinero decente con la colmena?
El: no. todavía no he hecho nada
Él: así que pensé en usar esos sitios para extraer algunas monedas.
Él: lo siento si tuviste alguna pérdida
Yo: Está bien, no hemos perdido nada.
Yo: Hay muchos otros sitios web de capturas de pantalla que quizás quieras probar.
El:
Él: consumirá su poder de procesamiento. tú lo sabes
Yo: Sí, está en el navegador Monero Mining.
Él: por cierto, ¿por qué quieres que pruebe otros sitios web? solo para hacerles perder algo?
Yo: No, no lo hagas. Sólo bromeaba.
El: ok.
Él: ¿puedo ser parte de tu equipo?
Yo: lo siento pero ya tenemos un desarrollador en casa.
El:
Él: de todos modos, fue un placer conocerte.
Yo: Estoy seguro de que eres un gran tipo en el fondo. Hay muchas formas mejores de ganar dinero como desarrollador. Fue un placer conocerte también. Buena suerte ! ¡Espero que tu vida sea genial!
El: gracias. adios

Creo que es una de las formas más pacíficas de mitigar un ataque, y no era tan malo después de todo.