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 « J'aime »

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 « J'aime »

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

4 « J'aime »

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 « J'aime »

Y a-t-il eu des progrès à ce sujet ?

Notre communauté connaît plusieurs inscriptions de comptes spam/bots par jour qui ont lu 0 message, vu 0 sujet, moins d’1 minute de temps de lecture. Il serait bon d’avoir une fonction de suppression automatique pour tous les comptes présentant certains paramètres sélectionnés.

De plus, existe-t-il une option pour un plugin Captcha ou similaire afin d’aider à filtrer les bots ?

Si ces comptes n’ont aucune activité, ils sont inoffensifs. Ils sont invisibles pour les autres utilisateurs (y compris une liste publique d’utilisateurs). Et les profils d’utilisateurs, quel que soit leur niveau de confiance, sont interdits dans robots.txt et ne sont pas visibles dans les moteurs de recherche.

De plus, les comptes inactifs sont régulièrement nettoyés, voir le paramètre Nettoyer les utilisateurs inactifs après des jours (“Nombre de jours avant qu’un utilisateur inactif (niveau de confiance 0 sans aucun message) ne soit supprimé. Pour désactiver le nettoyage, réglez sur 0.”).

Il est déclenché par le travail SideKiq CleanUpInactiveUsers.

1 « J'aime »

Cela n’interdit rien. robots.txt n’est qu’une suggestion polie qui, en même temps, indique la bonne direction.

Il est peut-être anodin, mais par le passé, des spammeurs ont utilisé ces comptes pour « vieillir » leur profil avant de l’activer, sachant que nous surveillons les nouveaux comptes. Puis, soudainement, un compte vieux de 3 mois commence à essayer de se connecter à n’importe quel spam ou tentative de phishing par DM auprès des utilisateurs.

Personnellement, j’aimerais avoir de meilleurs outils pour contrer cela avant qu’ils ne deviennent un problème, plutôt que d’attendre. Il serait également utile d’avoir des outils plus robustes pour empêcher les bots de s’inscrire en premier lieu.

Bien sûr, cela peut encore être un problème parfois. Je reçois beaucoup de spam, mais jusqu’à présent, je n’ai vu aucun compte de spam publier soudainement après une longue période.

S’ils publiaient du spam, ils seraient de toute façon rapidement signalés par d’autres utilisateurs.

Et vous pouvez toujours réduire considérablement la durée après laquelle un compte inactif est supprimé.