Usuário montado criando conta completa e postando link recebe várias sinalizações de spam

Registrando isso como Contribute > Bug por enquanto, mas pode ser uma Contribute > Feature.

Um usuário envia uma mensagem de grupo por e-mail e troca mensagens ao longo de um período prolongado. Dois meses após iniciar a mensagem de grupo, o usuário se registra no site e deixa de estar em modo de pré-visualização (unstaged), tornando-se um usuário TL0. Em seguida, o usuário cria um tópico que inclui um link já utilizado anteriormente na mensagem de grupo. O usuário é prontamente silenciado pelo sistema, e várias denúncias são geradas automaticamente devido ao newuser spam host threshold. Um usuário não deve ser “penalizado” pelo sistema por publicar um tópico perfeitamente normal apenas porque existia uma mensagem de grupo enquanto ele estava em modo de pré-visualização.

4 curtidas

Yes we have had this bug for a long time.

Probably we need to better consider the dates the user “joined” based on staging.

3 curtidas

We were just hit by this again, 58 PMs to the moderator group created. We’ve got to fix this…

5 curtidas

This happened again. Not a staged account this time, but a normal user getting support and including links. The spam trigger was correct this time (a new user posting links to the same domain), but we still ended up with 33 PMs in the moderator inbox. Consolodating those messages would be nice.

3 curtidas

This happened again. Staged user signed up, received only 3 flags (not as bad as in the past), but caused a bit of confusion with the user.

1 curtida

Maybe @featheredtoast can have a look; we get bitten by this regularly so the code needs to be improved.

Probably we need to better consider the dates the user “joined” based on staging.

5 curtidas

That sounds like a sane improvement; let me see what I can do here.

6 curtidas

This is now merged: previously staged users will now be considered trusted users. :pear:

https://github.com/discourse/discourse/pull/6002

7 curtidas

We’re confident this has no security holes, e.g. you can’t game the system by mailing in, then immediately sign up to gain TL1 “for free”?

The main focus here is ensuring that the spam link check is improved.

2 curtidas

I get your point, I misunderstood what we wanted to do here sorry - that’s how it is right now (consider someone as a “trusted users” if they come through staged.)

I’ll improve this now - just to confirm, all we want is the spam host check to not trigger, but all other new user checks will still be in place, correct? (the other checks being: max links, max mentions, and max attachments)

1 curtida

It might be safe “enough” if you gate it by time. What I object to is someone emailing team@discourse.org and then IMMEDIATELY signing up with that same email to gain trust level 1. That’s a straight up exploit.

OK I’ve updated this - Now, they will still be considered tl0, but will not trigger the spam if the accounts were created more than 1 week ago to catch the “long email relationship” cases. :banana:

https://github.com/discourse/discourse/commit/68e4e6a5755db4dd974eaeed73d5cfc517449b75

Do we want ‘time until discourse recognizes a mature staged user’ be an additional site setting, or is this sufficient barrier lowering?

6 curtidas

I would say one day is probably fine and safe enough; it’s pretty easy to get from TL0 to TL1 if you know what you are doing.

5 curtidas

OK, done - this should be good now :fish_cake:

https://github.com/discourse/discourse/commit/2ff226e5091f279ed2aa5b3e707a1acbd74f21fd

6 curtidas