Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raid protection #267

Open
ShadowJonathan opened this issue Mar 30, 2022 · 5 comments
Open

Raid protection #267

ShadowJonathan opened this issue Mar 30, 2022 · 5 comments

Comments

@ShadowJonathan
Copy link
Contributor

Is your feature request related to a problem? Please describe.

We just had a room get "invaded" by a bunch of users all at once, around 60 of them joining with no clear purpose, just all one-after-another.

Describe the solution you'd like

Be able to detect and automatically apply kick/mute on these users, or have commands to easily apply actions for users "joined in the last Y timespan".

Additional context

I remember in the early days where Discord had this, where it detected if 4 or more users joined after eachother in 15 minutes, and they had to be manually cleared by moderation.

The server this was on had infrequent joins, and was often plagued by abusive people (who'd mock people on the server), so this contingency measure was put in place to lessen the effectiveness of "dumb" raids (as opposed to "smart" raids, where people trickle in in a long timespan, though still saying nothing until they all spammed the general chat)

@Yoric
Copy link
Contributor

Yoric commented Mar 30, 2022

have commands to easily apply actions for users "joined in the last Y timespan".

We have recently landed a command !since that can be used to kick/ban users who have joined in the last Y timespan. Would that do the trick?

We should probably expand this to mute.

I remember in the early days where Discord had this, where it detected if 4 or more users joined after eachother in 15 minutes, and they had to be manually cleared by moderation.

This could be implemented as a new customizable protection, I suppose. If too many users join one after the other, mute them by default and inform the moderator, I guess?

@ShadowJonathan
Copy link
Contributor Author

If too many users join one after the other, mute them by default and inform the moderator, I guess?

Exactly, with maybe some quick buttons/actions to approve them en-masse, or some manual actions to pick out who to unmute specifically, and kick the rest.

@Yoric
Copy link
Contributor

Yoric commented Apr 6, 2022

For the time being, I'm adding support for mute and unmute to command !since in #272 . I'll try and think of a good way to implement the protection you're interested in. Or, if you wish to write it yourself, I can review!

@ShadowJonathan
Copy link
Contributor Author

Thanks, i'll add it to my todo 👍

@ShadowJonathan
Copy link
Contributor Author

ShadowJonathan commented May 2, 2022

Given the urgency of the current spam waves on matrix, i'll work on a "quicker" version of this, a protection module that will - very simply - put the room on invite-only if it detects 100 users joining within an hour.

It can be abused (by triggering it explicitly by joining with that many users), and it can have false positives (i.e. a mass join event), but it could work as a backstop while a better solution is created.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants