6
$\begingroup$

Over the last two days there have been two attempts to deface https://mathoverflow.net/a/152418/2051 using the edit feature, replacing it by spam. The user names of the robots which attempted edits were acmpttsivaw@gmail.com and auslkmisfx@gmail.com (pretty clearly dedicated spam addresses). I don't know whether this is widespread problem, and of course the edits were rejected; but I can imagine this problem getting worse in the future if it isn't nipped in the bud.

Would it be possible to block spammer IP's, not to allow edits by users with both 0 reputation and non-academic free e-mail addresses to even enter the review queue, and similar?

$\endgroup$
  • $\begingroup$ Where did you get the emails? AFAIK, entering an email is not required for suggested edits. $\endgroup$ – François G. Dorais Jan 5 '14 at 3:53
  • $\begingroup$ The username is the e-mail address. $\endgroup$ – Daniel Moskovich Jan 5 '14 at 6:46
8
$\begingroup$

IP blocking is already done automatically. Make sure to reject the edit for vandalism so that the right mechanisms are triggered. If you see repeated acts of vandalism on the same post, then also flag that post for moderator attention so that a human can look at it.

$\endgroup$
  • 2
    $\begingroup$ A much newer system has been installed next to that, which kicks in way before it did (hence coming up with something better). It's still there as a backup, but the new 'spam ram' system is keeping most of this out. $\endgroup$ – Tim Post Jan 6 '14 at 15:58
8
$\begingroup$

The easiest way to completely prevent such edits on this specific post is to make it longer than 400 characters. There is an additional check for anonymous edits that rejects any edit that swaps out most of the post, but this check is disabled for very short posts as it is not reliable enough.

Rejecting the edit as vandalism will also signal the network wide spam system and lead to the user being blocked from spamming network-wide after some attempts.

$\endgroup$
7
$\begingroup$

There is a new system in place (rolled out late last year) that protects from this sort of thing. It's fed off of the community and moderators taking normal actions, and it's global to the network.

If users on Stack Overflow (as an example, all sites feed into and subscribe to it) reject edits as spam, they significantly impair the ability of the spammer to continue. The system quickly restricts their activity, then rejects all posts and edits from them until the abuse subsides for a period of time. This goes deeper than even the IP and account level, it's extremely difficult to cheat or escape.

Recently, we've been being hit with huge spam networks, and the system has been keeping 90% of it at bay. Unfortunately, the overall volume has significantly increased, which means the visible percentage (or that which must be flagged for the system to learn that it's evil) has grown in proportion. Where before you might have seen 2 or 3, you now see 10 or 13.

We've been manually augmenting the system by feeding it information directly from queries, and I've done that in this case as well. Additional features are going into the system shortly that will help clobber even these massively distributed spam attacks, so that the visible percentage doesn't bump so high when they happen. This simply entails keeping track of those innocuous posts that spammers target for whatever reason, and dealing harsh score penalties to hosts and networks that spam them even once.

In other words, we're on it, and sorry about the noise. Just a graph of what's being kept out vs what's being flagged for context (as of right now):

enter image description here

By the time you've rejected a few edits, the spammer has probably already been stopped. What remains is, edits that are still in the queue made by them. It takes about 250 flags from the entire network of 100+ sites to keep out up to 2k spam posts / edits daily (or, roughly 2 - 3 flags per community/site), which is pretty good. There's also a less than one percent error rate.

The thing to do here might be to just drop any queued suggested edits when something is blocked (or at least whatever they contributed).

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .