No habrá redes neuronales y fórmulas complejas debajo del gato, solo se describirán los signos por los cuales atrapé bots en mi rodilla, una comparación del resultado del filtrado para estos signos con el filtrado por un servicio anunciado y un enlace a una página con implementación js, por el cual cualquiera puede probar el filtro por su cuenta lista propia o prueba los últimos que se unieron a su comunidad.
Imagen para llamar la atención:

Antecedentes
Recientemente, necesitaba recopilar estadísticas sobre el número semanal de nuevos suscriptores en comunidades de bodas comerciales. Para esta tarea, se escribió un guión que reunió a nuevos participantes en las comunidades necesarias y produjo, a primera vista, números brillantes. Es solo que dejaron de parecer optimistas después de verificar cuentas aleatorias de la lista reunida: algunas fueron prohibidas por la red social el día de la recolección, algunas resultaron ser bots u ofertas abiertas (en el futuro llamaré a ambos bots).
Para obtener números reales, era necesario averiguar la proporción aproximada de bots en los suscriptores recopilados. Traté de limpiar la audiencia de los bots por un cazador objetivo (el primer servicio que me llamó la atención que le permite filtrar bots de forma gratuita), pero la calidad de la limpieza resultó ser regular (entre los restantes, había cuentas falsas, y muchas). Decidí no usar servicios como "pagar, y luego le mostraremos lo que podemos": el dinero es una pena y, como resultado, la misma caja negra y el resultado dudoso. Decidí estudiar las páginas de bots y escribir mi propio filtro.
A quien estamos filtrando
Para empezar, aclararé, mi objetivo era filtrar las cuentas que veía como basura en términos de invitarlas a comunidades de bodas comerciales. Esta definición incluye los dos bots que ingresan en la máquina y ofrece que alguien haga 100,500 cada uno y luego los venda como supuestamente "suscriptores en vivo". Obviamente, las ofertas con las que el estudiante se pone al día manualmente no comprarán nada de la misma manera que los bots que están atrapados con el script. Lo que pueden hacer bien es dibujar las estadísticas de los anuncios con pago por 1000 impresiones. También puede atrapar a personas bastante reales, pero ¿de qué sirven en la comunidad si no ven su publicación (y no tiene sentido mostrarles anuncios de la comunidad)?
Cómo filtrar
La idea más simple me pareció evaluar cada cuenta en una escala de 0 a 100, según la cual los bots explícitos obtuvieron 100 puntos, y las personas comunes se quedan en la región de 0 (idealmente. En la práctica, algunas personas reales pueden obtener 50 puntos). La técnica no es perfecta (como todo en el escudo contra la guerra de la espada), pero como lo ha demostrado la práctica, los creadores de bots realmente no se molestan al crear sus falsificaciones (un bot perfecto costará más que el cliente atraído por el anuncio), por lo que en este momento funciona. Para completar la escala, se seleccionaron varios signos, cada uno de los cuales puede agregar o disminuir un cierto número de puntos, y las cuentas que obtienen un cierto número de puntos (70-100 en mi caso) se consideran de baja calidad y filtradas. No escribiré cuántos puntos se asignan al encontrar un atributo en particular, puede verlos en el ejemplo que estará al final del artículo, allí se pueden cambiar, así como el umbral, cuando se excede, la cuenta se acredita a los bots. Y ahora repasemos las señales marcadas:
Cuenta prohibida
Lo primero en lo que filtro a los usuarios. No sé por qué los servicios dejan esas cuentas (y el servicio "tx" mencionado anteriormente los dejó). Una persona viva que use una red social recuperará el acceso. Es más fácil para un spammer o un controlador de bot con mil cuentas crear una nueva cuenta después de la prohibición. Y todavía es imposible torcer anuncios en usuarios en vivo prohibidos.
Enlace de página no cambiado
Vkontakte permite a los usuarios ingresar un enlace único a su página en lugar de una identificación sin nombre12345678. Este no es un signo muy significativo, ya que no todas las personas vivas lo cambian, y los contactos robados pueden tener dicho enlace, pero aún así, para los bots recientemente registrados, dicho enlace permanece sin cambios.
Sin avatar
En 2018, esto ya no es relevante para los bots. Más bien, la falta de un avatar es típica de las falsificaciones de personas completamente flojas, pero creo que esta audiencia no es de muy alta calidad. En cualquier caso, este tampoco es un signo muy significativo.
Hay enlaces a otras redes sociales.
Esta es una buena señal de una persona viva. No encontré una manera de establecer un enlace a Facebook / Instagram a través de la API. Tal vez se veía mal, o tal vez no. Pero poner un enlace para el bot es más difícil: al menos debe crear esta cuenta en la red social y vincularla a la interfaz VKontakte. Por lo tanto, la presencia de dichos enlaces en el perfil restablece algunos puntos en el contador del identificador de bot.
No estuvo en línea por más de 1-3 meses
En un siglo en que todos tienen un cliente de redes sociales instalado en su teléfono, esa baja actividad parece sospechosa. Incluso si no es un bot olvidado por el propietario, es mucho más difícil trabajar con esa persona a través de la publicidad. Cuando necesita una audiencia atractiva, que será demasiado tarde para ofrecer el servicio en un mes (ya encontrarán otro proveedor), y esta persona está desconectada y no puede comunicarse con él. Repito lo que se dijo al principio del artículo: estudié a la audiencia sobre temas de bodas, porque su contacto importante es relevante. Si decide promocionar un público de entretenimiento o una tienda basado en los pasatiempos de las personas, este síntoma puede ser menos importante para usted.
Suscrito a 500-1500 y más comunidades
Un gran y significativo signo de cuentas basura. El artículo principal de ganar en bots es unirse a varios grupos (bueno, sí, me gusta y reposts). Y es poco probable que los propietarios del botofarm puedan ocultarlo. Por la misma razón, por cierto, puede intentar filtrar a aquellos que ocultan sus grupos de miradas indiscretas (en este caso, los paranoicos también se filtrarán, pero hay algunos de ellos entre la audiencia de VKontakte). Incluso si filtra a una persona viva sobre esta base, no pasará nada malo, es poco probable que vea las noticias de su comunidad en su feed, ya que está suscrito a otros 1000.
Miembro de la Comunidad de Promoción Mutua
Tales deben dejarse solo si su público objetivo son los escolares con falta de atención, falta de intereses y mucho tiempo libre. Personalmente, considero que tal audiencia no es solo basura, sino una señal brillante de que no son reales.
Consiste en muchas comunidades sobre diferentes ciudades.
Francamente, no encontré una sola razón por la que una persona común y corriente pudiera estar interesada en seguir las noticias de la reparación de la lavadora Kazan, la publicidad exterior de Omsk, los grupos de diseño de interiores Kaluga y otras diez comunidades comerciales en diferentes ciudades al mismo tiempo. Especialmente considerando la calidad del contenido en el 95% de tales comunidades. Pero el bot, ganar para unirse a la comunidad es muy rentable.
Miembro de un grupo sin avatar
No considero que este signo sea significativo, sin embargo, durante las pruebas, surgió un artículo sobre la detección de bots sobre esta base. En general, tales comunidades pueden ser utilizadas como un campo de capacitación técnica (por los programadores para acceder a la clave de la comunidad), simplemente pueden ser muy jóvenes. Pero cuando discutieron este letrero con sus amigos, me dijeron que no se unirían a esas comunidades. En general, este signo ha seguido siendo para mí el más ambiguo, lleno de secretos y misterios (así como la existencia misma de comunidades sin avatares).
Nadie está mirando publicaciones de usuarios
Este síntoma es mucho más simple. Por lo general, si el usuario tiene un grupo de amigos, pero al mismo tiempo casi no tiene vistas en el muro, entonces sus amigos son una imitación. ¿Y por qué necesitas imitación de amigos, sin embargo, para dar realidad a una cuenta falsa?
Marcado en la foto de otros usuarios
Por el momento, los bots no tienen la costumbre de etiquetarse entre sí en la foto, pero las personas reales realmente lo notan, especialmente porque la red social ofrece hacer esto de manera muy intrusiva (tanto que me ofrece marcarme en mi propia foto de perfil). La presencia de dicha marca generalmente indica una cuenta secuestrada o un usuario en vivo.
Verificación de filtro
Para verificar la efectividad de la búsqueda de bots mediante estos parámetros, se escribió un
pequeño servicio que le permite verificar la lista de contactos descargados. Además, para que el estudio tenga un valor práctico para las personas, la capacidad de verificar su comunidad se agregó al servicio: si modera una comunidad, puede descargar automáticamente los últimos miembros y verificarlos. Esto es útil si ha contratado a una persona para anunciarse y él le da estadísticas sobre el crecimiento de suscriptores, pero al mismo tiempo no ve un aumento real en los pedidos / comentarios / me gusta.
El algoritmo utiliza el método wall.get para verificar los registros desde el muro, tiene un límite de 1000 llamadas por día, por lo que al usar este script no puede verificar más de 1000 personas. Sin embargo, esto es suficiente para evaluar la calidad de la audiencia. Además, el script le permite establecer sus propios valores de peso para cada atributo y el umbral para determinar el bot, por lo que si no está de acuerdo con que este o aquel parámetro defina los bots, puede establecerlo en 0, o viceversa, aumentar su valor.
Pruebas y comparación de resultados.
Según los resultados de la auditoría, un cazador objetivo filtró 877 bots de una audiencia de prueba de 2935 personas. El filtrado por el algoritmo descrito eliminó a 1984 personas. Si ajusta el filtro e identifica solo los bots más maliciosos (suscritos a 500-1000 comunidades, de las cuales una parte importante son comunidades de diferentes ciudades, prohibidas o formadas por grupos de promoción), el número de detectados disminuirá a 1215 personas, lo que, sin embargo, también excede el resultado El servicio anterior. Sin embargo, miré alrededor de dos docenas de páginas de usuarios a quienes el cazador objetivo consideraba usuarios normales, y mi algoritmo como bots y todos estos usuarios me parecieron dudosos, muchas páginas contenían reposts de servicios dudosos (casinos, citas de adultos, participación en competiciones, pronósticos deportivos), o bajo número de vistas de registro. También me encontré con cuentas similares a las comerciales que promovían algunos servicios, pero personalmente estoy dispuesto a descuidarlos, especialmente teniendo en cuenta que, además de las comunidades que necesito, se suscriben a docenas de otros en poco tiempo y si están interesados en el tema que necesito. Aunque un filtro más suave puede dejar tales cuentas. Y, por supuesto, entiendo que 20 páginas no son suficientes para juzgar la calidad de todas las cuentas de 1984.
En cualquier caso, obtuve resultados que me satisfacen, aunque si hubiera tiempo libre, sería posible ampliar significativamente los signos de búsqueda de bots. Pero los descritos anteriormente son suficientes (por el momento) para obtener un resultado cualitativo. Y una vez más, un
enlace a la implementación del algoritmo , para no omitir el artículo.