Some new spam bots appeared, which are intelligent enough to optimise for Discourse’s built-in spam filters. They first make a comment without any links, and later on they’ll edit and add the link. Discourse doesn’t catch them this way. For example the following revision:
I’ve experienced this too, the most insidious are burying links in punctuation with their edits. Instead of generating clicks from the victim site they seem mostly concerned with creating inlinks and are oblivious to the nofollow being applied to said links.
The other more worrying trend is wiki edits, unlike posts and post edits these don’t appear in the user activity, I can only tell that it has happened because they’ve received a wiki editor badge, without ever posting a wiki post.
Is this spam bot TL1 or TL0?
I don’t see a link in that post. I just see text. Can you show raw?
I deleted the user, and I don’t remember the TL.
The links were like the following:
<a href="https://shareit.onl/">shareit</a> <a href="https://mxplayer.pro/">MX player</a>
or
<a href="https://messenger.red/">https://messenger.red/</a> <a href="https://kodi.software/download/">https://kodi.software/download/</a>
or
<a href="https://viamichelin.onl/">viamichelin</a> <a href="https://putlocker.ooo/">putlocker</a>
(The end of three different posts from the same user)
TL is critical for diagnosis here, cause you can just disallow edits to TL0 which is fine, if the spam bot is smart enough to get to TL1 … well we have a diff problem.
It was able to comment 3 posts + add 6 links without triggering the spam system, I think it must have been TL1, but I might check it in a backup.
Honestly, these bots are really smart. They post a “thanks for your post” reply first. There is absolutely nothing suspicious about it, even their email address is similar to their user name. Only googling the email gives results on spam list, nothing else really.
They wait for you to approve the post. Only then they later activate their spam posting bits.
These are not bots, they are humans. There has been a vast increase in human spammers in the last 8 years.
That’s been my impression too. It’s borne out in a variant of the technique described in the OP that we’ve seen. In this case the spammer “replies” to a comment and uses the Discourse quote feature to copy some of the other person’s text into their message. Then they insert their link into the copied block, thus making it look like the other user did it. Not sure if this is supposed to spoof the system into thinking the link is from someone of a higher T level or what. Kinda stupid, really, but definitely seems like something that had to be done manually, not by a bot. In particular, they don’t just drop the URL into the quoted text either; they highlight some text and use the link tool, adding a further layer of disguise. We’ve seen a few of these over the last couple of months.
Я только что заметил, что спамеры публикуют сообщения, выглядящие легитимно, а через несколько недель возвращаются и вставляют ссылки на такие вещи, как [бесплатный Netflix] и [технологические новости].
Есть ли способ предотвратить вставку ссылок во всех правках пользователей с уровнем ниже TL3? Даже блокировка вставки URL-адресов в правках для всех, кто ниже TL4, подошла бы.
Или кто-то нашёл другой способ это остановить?
Возможно ли настроить так, чтобы все правки от неадминистраторов/немодераторов поднимали пост в списке? Думаю, было бы полезно видеть каждую правку. Человеческие спамеры становятся всё более изощрёнными.
Редактирование: Я смотрю на пост одного спамера, и он выглядит абсолютно легитимно и по теме. Нет никаких признаков того, что это спам, кроме вставленных ссылок.
Первый шаг — ужесточить допустимый интервал редактирования в настройке «Лимит времени редактирования поста», изменив значение по умолчанию на что-то вроде одного дня. Если вашим пользователям не нужно регулярно редактировать сообщения, опубликованные несколько недель назад, вы можете закрыть эту возможность в настройках вашего сайта примерно за 15 секунд.
Я меняю настройку сегодня вечером, но надеюсь, что есть другой способ, так как это, вероятно, разозлит некоторых пользователей. Люди склонны быть более осторожными в свободном высказывании, если знают, что не могут вернуться и отредактировать сообщения позже. (Я реже пишу на форумах, где редактирование заблокировано, и в целом чувствую себя менее комфортно.)
В идеале мне нравятся неограниченные окна редактирования, и каждое изменение обновляет тему.
Это сложно, потому что пост #12 может быть отредактирован в теме из 40 сообщений. Если мы будем поднимать тему при каждом таком редактировании, это будет крайне удивительно: вам придется прокручивать каждый пост.
Я думаю, что одним из альтернативных решений здесь могут стать инструменты модерации, которые перечисляют все правки, сделанные сверх определенного порога. Но это создаст значительные дополнительные накладные расходы.
Другой альтернативой может быть предоставление пользователям уровня TL2 и выше более длительных сроков для редактирования.
Почему? Возвращение «через недели» для редактирования чего-либо крайне нетипично. Если вы хотите показать, что что-то особенно редактируемо, можно сделать это в стиле вики. Есть приятный компромисс — «несколько дней», который вы можете сначала протестировать.
На самом деле я сейчас немного уменьшу значение по умолчанию для этой настройки: с 60 дней до 30, так как сценарий возврата для редактирования через столь долгое время становится всё более абсурдным для меня.
Это может быть полезно.
На данный момент я изменил уровни доверия, необходимые для добавления ссылок и редактирования постов, и сделал достижение TL1 немного сложнее.
Последний спам-пост, который я видел, был не от обычного очевидного спамера — это был человек, полностью влившийся в сообщество, задавший продуманный вопрос как обычный пользователь.
Я попробую найти старый спам, выполнив запрос ко всем правкам, сделанным пользователями TL0.
Если один пост будет помечен как непрочитанный, не появится ли просто синяя точка рядом с ним и автоматическая прокрутка к нему при посещении темы пользователем?
Иногда людям кажется, что они сказали что-то, чего не хотели бы говорить, и они хотят это удалить. Мы живём в мире, где всё, что когда-либо говорил человек, может преследовать его всю жизнь и приводить к проблемам. Люди не остаются прежними на протяжении всей жизни, и они могут не хотеть, чтобы их прошлое «я» (или просто момент гнева) оставалось в сети вечно. Я склонен говорить менее свободно онлайн в местах, где редактирование ограничено.
Я только что вспомнил, что существует вебхук для постов, который срабатывает «при новом ответе, редактировании, удалении или восстановлении». Я ещё не проверял, но если удастся извлечь действие («edited») из заголовка, то я смогу написать скрипт для отправки таких событий во внешнюю панель управления для ручной проверки. Это решило бы проблему на моём сайте.
Если прошло более 30 дней (или 1 дня, в зависимости от ваших настроек), они могут пометить это сообщение на удаление.
Если вы ещё не следите за этой темой, возможно, вам будет полезна связанная тема: Human-driven copy-paste spam.
Этот вид спама работает только потому, что он невидим для модераторов и активного сообщества. Это единственная причина его появления. Возможно, все правки могли бы поднимать тему в списке последних активностей — если тема уже была прочитана, то это была бы прямая ссылка на отредактированный пост. Это полностью решило бы обе проблемы (спам и бесполезный первоначальный контент копипаста) одним махом.
Ещё проще (хотя и не столь эффективно): я знаю, что мои коллеги-модераторы и я с удовольствием следили бы за специальным видом, который просто отображал бы отредактированные посты, отсортированные по времени правки (и, возможно, с дополнительной фильтрацией по уровню доверия).
Я думаю, ты прав, @sam. Нам нужно два параметра сайта: один для уровней доверия TL0 и TL1, а другой — для более высоких уровней. Можешь заняться этим на следующей неделе? Должно быть несложно.
Рекомендую следующие настройки окна редактирования:
- TL0 и TL1 — 1 день
- все остальные (TL2 и выше) — 30 дней (текущее значение по умолчанию)
