Posso confirmar que a correção original funcionou perfeitamente e resolveu esse problema com contas do Gmail. Seria uma verdadeira salvação se esse modo opcional fosse restaurado.
Spammers estão constantemente aprendendo novas técnicas e ainda estão conseguindo explorar grandes players como Facebook, Instagram e Twitter. Isso torna a maioria dos outros lugares “modo fácil”. Para muitos deles, isso se tornou um trabalho de tempo integral, então essencialmente vira:
Se for explorável e (recursos necessários < dinheiro ganho), então será explorado.
Eles podem contornar praticamente qualquer medida; a única esperança é aumentar os custos de fazê-lo até o ponto em que não seja mais financeiramente vantajoso.
Ser capaz de fazer spam em massa com quase emails/contas ilimitados (antes da detecção e de um moderador/admin bloquear retroativamente seu Gmail canônico e remover manualmente suas postagens) é bastante eficiente em termos de custo. Ainda mais se não houver uma equipe de moderadores 24/7.
O custo para contornar medidas anti-spam continua diminuindo. Um exemplo são proxies 4G/5G: por algo como US$ 30–50 por mês, as pessoas podem obter acesso a IPs móveis reais praticamente ilimitados, de provedores de internet/ASNs legítimos que rotacionam automaticamente ou manualmente e são compartilhados por cidades inteiras ou estados de usuários legítimos de grandes ISPs. IPs 4G/5G são compartilhados por muitos usuários simultaneamente.
Bloquear esses ISPs/ASNs ou IPs não é adequado (não dá para simplesmente bloquear todos que usam Verizon, AT&T etc.). Eles geralmente usam o IP uma vez e descartam. Os IPs individuais bloqueados disso também bloquearão usuários legítimos que estão compartilhando aquele endereço IP aleatoriamente. O bloqueio de IPs está se tornando gradualmente uma prática obsoleta (exceto ASNs de empresas de hospedagem conhecidas). Você pode ver a ponta do iceberg nesses fóruns:
https://mpsocial.com/c/public-marketplace/61
https://www.blackhatworld.com/forums/proxies-for-sale.112/
Acredito que os spammers sejam uma mistura de bots totalmente ou parcialmente desenvolvidos manualmente e spam manual. À medida que o Discourse ganha mais participação de mercado, o que claramente está crescendo fantasticamente, ficaria surpreso se não se tornasse alvo de bots comercialmente disponíveis.
Sempre que o Xrumer começar a suportar a versão mais recente do reCAPTCHA, eu diria que a maioria dos webmasters em fóruns legados notará um grande aumento no spam devido ao custo extremamente baixo de fazer spam (não será mais necessário usar uma API de resolução de captcha, que já são muito baratas por 1k resoluções):
http://botmasterlabs.net/buy1/
As pessoas já podem criar seus próprios plugins/scripts para suportar praticamente qualquer plataforma usando o Xrumer. Mas se um dia eles passarem a suportar o Discourse nativamente:
Não posso me declarar imparcial sobre isso, já que estou diretamente na necessidade de medidas anti-spam. O post original sobre o truque do ponto do Gmail foi criado por outra pessoa em 2014 e parece que outro usuário resolveu isso exigindo aprovação nas primeiras x postagens, então talvez haja pelo menos três relatórios de usuários? ![]()
Desculpe pelo desvio, voltando ao assunto.
Quanto ao bloqueio por regex para emails, sim, você está correto. É uma solução parcial, mas não ideal pelos seguintes motivos:
Se bloquearmos todos os Gmails com 1 ponto ou mais antes do @:
- Inevitavelmente bloquearemos usuários reais e legítimos do Gmail que tenham 1 ou mais pontos em seu email, o que é muito comum.
- Os spammers ainda podem criar muitas variações com um único ponto. Por exemplo, o Gmail tem um comprimento máximo de 30 caracteres; por exemplo, 12345678901234567890123456789.0@gmail.com terá 30 combinações utilizáveis com um único ponto.
Bloquear todos os Gmails com 2 pontos ou mais antes do @:
- Menos emails legítimos do Gmail serão bloqueados, mas ainda bloqueará usuários legítimos do Gmail que tenham mais de 1 ponto em seu email.
- Os spammers podem criar muitas mais variações com um único Gmail de 30 caracteres. Acho que ~842 combinações ou algo assim.
Posso confirmar que as novas contas passaram após o bloqueio estar ativo, já que a data de criação do bloqueio é 1º de fevereiro. Eu estava observando a criação de novas contas ontem, vendo tanto casos de regras de bloqueio com correspondências recentes quanto novas inscrições usando combinações do mesmo email (apenas pontos).
Desativei as inscrições durante a noite e as reativei esta manhã. Eles criaram 104 novas contas até agora hoje com permutações desse endereço do Gmail e continuam se registrando mais. Posso confirmar que, uma vez que os pontos são removidos dos emails dessas contas, há uma correspondência exata com o registro de emails bloqueados do Screened Emails.
Tentei testar os blocos no rails c conforme descrito; é aqui que as coisas ficam um pouco estranhas.
Parece que alguns registros retornam ‘true’ conforme o previsto e outros retornam ‘false’, mesmo que o email testado seja uma correspondência exata com o email bloqueado canônico. Para os registros que retornam ‘true’, funcionou inteiramente conforme o previsto e retornou true para todas as variações que testei. Mas os emails que retornam false, todas as variações que testei também retornaram false.
Estava tentando encontrar alguma correlação. Posso confirmar que essas não estão correlacionadas (ou pelo menos não consistentemente correlacionadas):
Comprimento do email (antes do @)
Email contendo caracteres e números
Correspondências (quantidade de vezes bloqueado)
Data de correspondência
Parece haver uma correlação com a data de criação do bloqueio, sendo que registros mais antigos têm menor probabilidade de funcionar (retornam false). Registros criados há 9 dias retornaram uma mistura de true/false, e todos os registros que testei até agora que foram criados antes disso (1h–8d) estão retornando true.
Talvez possa estar relacionado a ‘max age unmatched emails’? Acredito que essa opção seja um pouco nova; eu a configurei no valor padrão de 365 dias.
