Skip to content

Let GooeyJr detect and kick IRC spammers #46

@Cervator

Description

@Cervator

Recently we set our IRC to moderated mode due to spam on Freenode. However, this meant nobody new could send messages, although they could at least still get the intro message from GooeyJr. Only users with "voice" can talk and be heard.

We just switched it to relaxed moderated mode, which means even unvoiced users can chat, but they're essentially shadow-silenced - only channel OPs can see the text. The idea being that a new user showing up on IRC could be noticed by an OP then granted voice and enter the conversation proper.

However, this revealed another kind of spam that hadn't previously been visible to anybody: scraped messages from other channels dumped in by drive-by spambots that probably have subtly been edited to include malicious links or even plain text.

If we make GooeyJr able to listen to this (granting the bot OP which I think we'll probably need anyway) the bot can keep a list of recent joiners that have no voice and see if they immediately send oddly long (copy pasta) messages right after joining, and kick them automatically if so.

The current spam bots tend to send an initial message within a second, pausing only a few seconds between sometimes quite long seconds, so we should probably calculate a spam ratio threshold of time since joined / since last message vs length of messages and if it looks artificial: kick!

Working this item would require knowledge of Hubot and a test channel where both the author and the bot can receive OP rights for testing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good First IssueDoesn't require much work or knowledge. Good for beginnersenhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions