Spam account scanner script

https://github.com/TannerFilip/discourse-spam-check

I’ll start off by saying, I’m not a great programmer. This is the first “real” tool I’ve written that’s (potentially) useful to people other than me. I’d love any feedback/criticism you have.

I’ve written a Python script that scans through the list of suspect and/or silenced users and lets you delete them if necessary. I ran it over on Mozilla’s Discourse and deleted a few dozen accounts - this was only after I deleted close to a hundred by hand.

There are a few things that seem pretty hacky, especially lines 174 to 191. As I said, I’d appreciate any feedback you might have, and would be happy to answer any questions!

11 curtidas

Very cool! One thing you’ll want to do is be sure Akismet is enabled, as we recently (within the last 2-3 months) added a feature where the Akismet plugin will scan new user accounts for spammy stuff and flag them for you thanks to @Roman :clap:

Yes, completely human spam account signups – accounts that never post once, just set up an account with profile info and walk away forever – is indeed still a problem. The below is even after Akismet checking:

But bear in mind user profiles aren’t indexed at all, and new user profiles have seriously suppressed info… and our Akismet change helps tremendously.

Having a cleanup tool is still needed though!

7 curtidas

I didn’t know that! I’ll have to talk to @LeoMcA to see if we want to enable that.

4 curtidas

Suspect users are now being sent to the Review Queue, which removed the suspect users list this script was using. As they’re being pushed to manual review, is this needed now?

3 curtidas

Houve algum progresso nisso?

Nossa comunidade está experimentando vários cadastros de contas de spam/bots por dia que têm 0 posts lidos, 0 tópicos visualizados, menos de 1 minuto de tempo de leitura. Seria bom ter uma função de remoção automática para todas as contas com certos parâmetros selecionados.

Além disso, existe uma opção para um plugin de Captcha ou similar para ajudar a filtrar bots?

Se essas contas não tiverem atividade, elas são inofensivas. Elas são invisíveis para outros usuários (incluindo uma lista pública de usuários). E perfis de usuários, independentemente do nível de confiança deles, são proibidos no robots.txt e não são visíveis nos motores de busca.

Além disso, contas inativas são periodicamente limpas, veja a configuração Limpar usuários inativos após dias (“Número de dias antes que um usuário inativo (nível de confiança 0 sem posts) seja removido. Para desativar a limpeza, defina como 0.”).

Isso é acionado pelo job CleanUpInactiveUsers do SideKiq.

1 curtida

Isso não proíbe nada. robots.txt é apenas uma sugestão educada, que ao mesmo tempo aponta na direção certa.

Pode ser inofensivo, mas no passado, spammers usaram essas contas para “envelhecer” seus perfis antes de ativá-los, sabendo que estamos de olho em novas contas. Então, de repente, uma conta de 3 meses atrás começa a tentar vincular qualquer spam ou tentativas de phishing de usuários de DM.

Pessoalmente, eu gostaria de melhores ferramentas para lidar com isso antes que se tornem um problema, em vez de esperar. Também ajudaria se tivéssemos ferramentas mais fortes para impedir que bots se inscrevessem em primeiro lugar.

Claro, ainda pode ser um problema às vezes. Eu recebo muito spam, mas até agora não vi contas de spam postando repentinamente após um longo tempo.

Se eles postassem spam, seriam rapidamente sinalizados por outros usuários de qualquer maneira.

E você ainda pode reduzir drasticamente a duração após a qual uma conta inativa é excluída.