La respuesta corta
Los spammers cambian letras por caracteres que se ven iguales: una а cirílica por una a latina, un cero por una o, o un carácter invisible en medio de una palabra. La gente lee la palabra como si nada, pero una lista de palabras ve otra distinta. La solución es normalizar el texto a letras simples antes de juzgarlo.
Datos clave
- Para una máquina, un carácter parecido es otro carácter, aunque en pantalla se dibuje igual.
- Los nombres de usuario de Telegram solo pueden contener a-z, 0-9 y guiones bajos, así que un @usuario copiado usa dígitos, guiones bajos y palabras agregadas.
- Los nombres visibles y los mensajes no tienen ese límite. Ahí es donde aparecen otros alfabetos y caracteres invisibles.
- Una lista de palabras compara caracteres exactos. Basta una letra cambiada para pasarla.
- Un bot tiene que reducir los caracteres parecidos a texto simple antes de comparar nada.
¿Qué es el spam con caracteres parecidos?
Es spam escrito para que una persona lea una palabra y un filtro lea otra. El spammer cambia algunas letras por caracteres que se dibujan igual, pero que por debajo son caracteres distintos. El nombre técnico es homoglifo.
"c0inbаse" es un ejemplo. Tiene un cero donde debería ir la o, y su segunda "a" es una letra cirílica. Tú lees la marca. Una lista de bloqueo que contiene el nombre de la marca no encuentra coincidencia.
¿Qué trucos usan los spammers?
| Truco | Ejemplo | Lo que ve una persona |
|---|---|---|
| Una letra de otro alfabeto | "аirdrop" con una а cirílica | airdrop |
| Dígitos en lugar de letras | "B1nance", "c0in" | La marca, un poco rara |
| Dos alfabetos en una palabra | "Suррort" con dos р cirílicas | Support |
| Caracteres invisibles | Un carácter de ancho cero dentro de "airdrop" | airdrop, sin nada raro a la vista |
| Espacios y puntuación | "a i r d r o p", "air.drop" | Una palabra que se lee de un vistazo |
| Alfabetos con estilo | Letras "matemáticas" en negrita o cursiva, versalitas | Una palabra con una fuente llamativa |
| Pares de letras | "rn" por "m", "vv" por "w" | La palabra correcta, en tamaños pequeños |
Los spammers los combinan. Un mismo mensaje puede llevar un dígito en el nombre de la marca, una letra cirílica en "claim" y un carácter de ancho cero en medio del texto del enlace.
¿Por qué fallan las listas de palabras?
Una lista de palabras compara los caracteres uno por uno. La "a" latina y la "а" cirílica son dos caracteres distintos, así que "airdrop" y "аirdrop" son dos palabras distintas. La lista bloquea la primera y deja pasar la segunda.
Puedes agregar la segunda forma a la lista. Entonces el spammer cambia otra letra. Una palabra de siete letras, con varios reemplazos posibles para cada letra, se puede escribir de miles de formas, y la lista siempre va un paso atrás.
Las listas más largas también suben el otro costo: tus propios miembros, eliminados por citar el spam o por escribir en su idioma.
¿Dónde aparecen los caracteres parecidos en nombres de usuario y nombres?
Esta parte se suele entender mal, así que conviene ser exactos.
- @usuarios. Los nombres de usuario de Telegram solo pueden contener a-z, 0-9 y guiones bajos. Una letra cirílica no puede aparecer en uno. Un nombre de usuario copiado usa lo que está permitido: un cero por una o, un 1 por una l, "rn" por "m", una letra repetida, un guion bajo de más o una palabra agregada como "support", "soporte" u "oficial".
- Nombres visibles. No tienen ese límite. Una copia del nombre visible de tu admin se puede hacer con letras de otro alfabeto o con caracteres invisibles, y en un chat se verá idéntica.
- Biografías y mensajes. Igual que los nombres visibles.
Por eso un impostor suele tener un nombre visible que se ve perfecto y un nombre de usuario un poco distinto. Y por eso lo que se revisa en la guía de la estafa del admin falso es el @usuario, comparado letra por letra.
Los grupos y canales copiados usan los mismos nombres de usuario casi iguales. ¿Es real este grupo de Telegram? enumera qué revisar antes de unirte a uno.
¿Cómo detecto a mano los caracteres parecidos?
- Escribe y busca. Copia el texto sospechoso en un editor de texto simple. Escribe tú la palabra real y búscala. Si la búsqueda no encuentra la palabra copiada, al menos un carácter es distinto.
- Recórrelo con la tecla de flecha. Si el cursor no se mueve al pulsar la tecla, acaba de pasar sobre un carácter invisible.
- Cambia la fuente. Los caracteres que coinciden en una fuente muchas veces difieren en otra. Una fuente monoespaciada delata la mayoría.
- Lee los nombres de usuario en voz alta, carácter por carácter. "Cero" y "guion bajo" son fáciles de decir y difíciles de pasar por alto.
- No juzgues un enlace por su texto. Revisa a dónde lleva antes de abrirlo.
Esto sirve para un mensaje. No sirve para un grupo con mucho movimiento.
¿Qué debe hacer un bot?
Primero normalizar, después juzgar. Antes de comparar un mensaje con cualquier cosa, un bot debería reducir el texto a letras simples:
- Quitar los caracteres de ancho cero y los demás caracteres invisibles.
- Convertir los caracteres parecidos de otros alfabetos, y las letras con estilo, en la letra simple que imitan.
- Leer los dígitos usados como letras como las letras que representan.
- Cerrar los juegos de espacios y puntuación.
Después juzga el resultado. Lo mismo vale para los nombres: un bot debería comparar el nombre visible de cada miembro con los nombres de tus admins después de normalizar ambos.
Normalizar tiene un riesgo. El texto que de verdad está escrito en ruso, en griego o en cualquier otro idioma tiene que seguir siendo lo que es. La señal es la mezcla dentro de una palabra, no el alfabeto.
Targa hace esto en todos los planes. Reduce a texto simple los caracteres parecidos, los trucos de ancho cero y los juegos de espaciado antes de comparar. Tu propia lista de bloqueo se aplica después de esa misma reducción. Un miembro cuyo nombre visible o foto de perfil copia a uno de tus admins queda marcado, y también se revisan los nombres de usuario con forma de "@Brand_Official_Support". Los miembros se vuelven a revisar cuando cambian su nombre, su biografía o su foto. Cada acción lleva un motivo que puedes leer con /why.
Lo que no puede hacer: seguir al impostor hasta un chat privado. Un nombre copiado se detecta mientras la cuenta está en tu grupo. Para los ajustes que cubren el resto, consulta cómo frenar a los bots de spam o lee cómo funciona Targa.
Preguntas frecuentes
¿Qué son los caracteres parecidos?
Caracteres de otro alfabeto o de otro juego de símbolos que se ven como las letras que esperas. Las cirílicas а, е, о, р y с se dibujan igual que las latinas a, e, o, p y c. Para una persona es la misma palabra. Para un filtro, no.
¿Por qué a mi filtro de palabras se le escapa spam evidente?
Porque compara caracteres, no formas. Si bloqueas la palabra airdrop y el spammer la escribe con una а cirílica, con un carácter de ancho cero o con un punto entre las letras, el filtro tiene delante una palabra que nunca vio.
¿Un nombre de usuario de Telegram puede tener letras cirílicas?
No. Los nombres de usuario de Telegram solo pueden usar a-z, 0-9 y guiones bajos. Las copias de un nombre de usuario usan lo que queda: un cero por una o, un 1 por una l, rn por m, un guion bajo de más o una palabra agregada. Los nombres visibles no tienen ese límite.
¿Cómo reviso a mano una palabra sospechosa?
Cópiala en un editor de texto simple, escribe tú la palabra real y busca la versión que escribiste. Si la búsqueda no encuentra la palabra copiada, al menos un carácter es distinto. Recorrer la palabra con la tecla de flecha también delata los caracteres invisibles.
¿Un texto con alfabetos mezclados siempre es spam?
No. Quien escribe en dos idiomas mezcla alfabetos todo el tiempo, entre palabras. La señal de alerta son dos alfabetos dentro de una misma palabra, sobre todo en el nombre de una marca, el de una moneda o la palabra soporte.
Mira lo que ve un estafador en tu grupo
La revisión gratuita lee las señales públicas de un grupo y muestra dónde está expuesto. No necesitas cuenta.