Bloqueando la ola reciente de spam

Hemos sido golpeados por una ola masiva de spam durante días. Otros como https://ask.learncbse.in/ se han rendido por el momento, al parecer :thinking:

Estoy buscando aquí solo una variante:

El contenido cambia a menudo, las direcciones de correo electrónico y las IP también, por lo que bloquear reduce la cantidad, pero aún no hemos encontrado una solución real. Por razones de privacidad, no queremos enviar todo a Akisment.

Si bloqueáramos

AS55836: Reliance Jio Infocomm Limited
AS9498: Bharti Airtel Ltd.
AS45609: Bharti Airtel Ltd.
AS24560: Bharti Airtel Ltd.

estaríamos bien, pero esto podría ser una parte buena (o pequeña) de la población india.

4 Me gusta

¿Has intentado añadir ciertas palabras en Admin -\u003e Personalizar -\u003e Palabras vigiladas -\u003e Requerir aprobación?

De tu captura de pantalla, intentaría añadir estas palabras:

  • efectivo
  • crédito
  • dinero
  • préstamo
  • sin cargo
  • atención al cliente
  • número de atención
  • 0779*
  • línea de ayuda
  • :point_left:

Puede ser un poco inconveniente para los usuarios, pero hago que Discourse envíe un webhook a una función de Firebase cloud (gratuita) que notifica a mi teléfono en una sala de chat de Slack, por lo que a menudo puedo aprobar publicaciones en moderación en 60 segundos desde mi teléfono, si estoy despierto.

3 Me gusta

Gracias por la pista, pero por favor revisa https://ask.learncbse.in/ (no es mi instancia, pero las publicaciones son más o menos las mismas contra las que estoy luchando) y desplázate por los últimos días, están usando una tonelada de combinaciones y variaciones de cada palabra clave. Estoy en el proceso de crear un montón de expresiones regulares para cada palabra clave porque están agregando en todas partes un “.”, una “,”, un “|”, reemplazando un “0” por una “O”, una “e” por un “3”, agregando en medio de la palabra un (hasta ahora) carácter aleatorio, etc., etc. … es realmente difícil luchar contra este tipo de spam.

O si no quieres hacer clic en un enlace aleatorio, aquí tienes una captura de pantalla de las últimas horas, pero estas son solo las últimas horas, varían mucho con el tiempo:

1 me gusta

Solo para comprobar, ¿utilizas la configuración de administrador min first post typing time? Me parece bastante útil para detectar muchos de los nuestros.

5 Me gusta

Sí, gracias por la pista, está configurado, pero quiero decir que no es tan difícil para el bot esperar unos minutos :slight_smile:

1 me gusta

Este spam parece ser de un tipo diferente a las respuestas/contenido basados en IA en los que se centra el otro tema, así que lo he separado. :+1:

Tenemos una nueva herramienta basada en IA para la detección de spam que ha demostrado ser bastante eficaz:

6 Me gusta

Gracias por el consejo, pero configurar un LLM solo para luchar contra otro LLM de spam para nuestro discurso es demasiado caro para nuestro caso de uso.

Como spammer, puedes aumentar fácilmente el costo para la organización simplemente creando más usuarios/publicaciones, por lo que dependiendo de lo que quieras archivar, ¡esto también podría ser una motivación para crear aún más publicaciones! :slight_smile:

1 me gusta

Hola,

¿Has probado a usar Akismet? Parece que su solución te funcionaría.

(gratis para uso personal, no para uso comercial; no sé cómo te clasificarías)

2 Me gusta

¿Quizás exigir que la primera publicación de cada usuario sea aprobada ayudaría un poco aquí? De esa manera, al menos nunca llegarían al foro públicamente, y mientras no tengas muchos usuarios reales registrándose diariamente, creo que ayudaría al menos un poco.

5 Me gusta

Gracias por todos los consejos.

Lo pensamos, pero tenemos un producto de privacidad y seguridad que significa que necesitamos proteger a nuestros usuarios tanto como sea posible. El contenido es público, seguro, pero no la dirección IP/Agente/Referente/Correo electrónico si entendí correctamente Discourse Akismet, se transmite a Akismet (seguro que también leería la política de privacidad, pero la descripción general ya es suficiente información para la decisión).

Esa sería una idea. Con ~2 registros por día no debería ser demasiado problema, pero no es la mejor experiencia esperar una aprobación, pero si lo explicamos correctamente podría ser la mejor opción que tenemos por ahora.

1 me gusta

Sí, lamentablemente tienes razón: transmiten algunos datos adicionales a Akismet que pueden no alinearse con tu política de privacidad. En ese caso, la sugerencia de @Firepup650 es la mejor que existe.

1 me gusta

Para tu información, mi Geo Blocking plugin puede denegar el acceso a Discourse según la red AS de origen. De hecho, gran parte de este tipo de spam parece originarse en esas redes, especialmente en AS45609.

Si no quieres bloquear a la mitad de la India, podría valer la pena investigar qué tan difícil sería reutilizar parte de la funcionalidad de ese plugin para agregar reglas basadas en red o IP a la lógica de aprobación (“requerir aprobación para nuevas publicaciones de redes”).

6 Me gusta

He revisado muchas páginas en ese sitio de ejemplo y creo que podría ser posible bloquear casi todas esas con la función de palabras vigiladas, si la expresión regular de Discourse puede funcionar en rangos Unicode.

Los usuarios normales probablemente no usan cosas como estas:

  • 2 barras seguidas
  • puntuación inusual como ^ (a menos que sea un sitio de matemáticas)
  • rangos Unicode poco comunes:
    • ✓ (Símbolos misceláneos)
    • ∆ (Griego y copto)
    • ❽, ➁, ❸, 3, ❷ (Dingbats)
    • 𝘾, 𝙪, 𝙨, 𝙩 (Símbolos alfanuméricos matemáticos)

ChatGPT probablemente podría escribir una expresión regular para eso, si Discourse la soporta.

Una idea más es probar Cloudflare con la función Bot Fight Mode (gratuita) y desafiar a todos los bots.

3 Me gusta

¡Ouh, esa sería la solución perfecta, echaré un vistazo al código, gracias!

El problema aquí es que este bot de alguna manera sabe cómo funciona Discourse: En el siguiente escenario, estoy vigilando ❽ en la sección “Requerir para Aprobación”. El problema ahora es que esos bots a menudo crean primero un texto aleatorio y luego lo editan al contenido real. La edición de una publicación no se verifica contra la lista de “Requerir para Aprobación”, véase, por ejemplo:

VS

(aquí añadí el ❽ directamente durante la creación de la publicación)

lo que significa que nuestra única opción es añadirlo a la sección de bloqueo, pero bloquear demasiadas palabras y caracteres puede llevar fácilmente a problemas en los que los usuarios normales reciben un mensaje confuso al crear publicaciones válidas. Creo que aquí es donde provienen la mayoría de nuestros problemas. En mi opinión, esto es un error, y también al editar una publicación, la lista “Requerir Aprobación” debería ser verificada contra el contenido editado cuando se publica el cambio.

2 Me gusta

Supongo que las palabras vigiladas no ayudarán entonces. Todavía no he tenido un ataque de spam de eso, pero me preocupa porque los usuarios empezaron a darse cuenta.

3 Me gusta

Parece que uno de mis foros acaba de sufrir el mismo tipo de ataque de spam. No sé si usaron el truco de edición, ya que aún no tenía las palabras de spam en la lista de palabras vigiladas.

2 Me gusta

Hola a todos :waving_hand:

Tengo una prueba de concepto de esto, si quieren echarle un vistazo

1 me gusta

¡Buen trabajo @juanjosegzl, aceptaría esto como un PR con gusto! :rocket:

gracias @RGJ acabo de abrir un PR

1 me gusta

Hola @juanjosegzl,

Tu último PR rompió el plugin; ahora pide a todos que confirmen sus publicaciones a través de moderación (incluso a los propios moderadores) independientemente de su ubicación geográfica. ¿Alguna solución alternativa o fecha estimada para la corrección?