Human-driven copy-paste spam

Let us know if you’re still seeing this today.

Yes, still seeing it.

For a while it died down, but then we recently increased the post edit time setting from 60 minutes to 24 hours, and within the first day we saw another instance of this edit spam.

6 лайков

Мы тоже наблюдаем это на своём сайте, или, по крайней мере, его предвестника. Наши пользователи и сотрудники до сих пор довольно быстро замечают неуместный плагиат и помечают такие сообщения как подозрительные ещё до того, как спамер добавит спам-ссылки.

Можно ли автоматизировать это для первых сообщений? Было бы здорово помечать новые темы, содержащие точные копии существующих постов.

1 лайк

В данный момент нет — проверка одного сообщения на соответствие тексту буквально каждого другого сообщения, когда-либо сделанного, — это довольно затратно.

Как правило, к странным сообщениям, не имеющим логической связи, от новых пользователей следует относиться с большим скептицизмом. Это помогает мне в большинстве случаев.

1 лайк

Это хорошо работает для ответов, но менее эффективно для новых тем. Поскольку наш форум предоставляет поддержку, большинство новых пользователей задают вопросы, которые выглядят довольно похоже на уже задававшиеся ранее (иногда эти вопросы скопированы с других сайтов, например Reddit, хотя многие также взяты с нашего собственного сайта).

4 лайка

Да, их действительно очень сложно отследить. Я сам видел несколько таких на другой платформе Discourse.

Они являются точными копиями или как-то изменены?

1 лайк

В нашем случае текст почти полностью копируется. Часто форматирование теряется, но не всегда. Иногда копируется лишь часть поста. Все такие посты — новые темы. По какой-то причине заголовок иногда совпадает с оригинальным, а иногда inexplicably к оригинальному заголовку добавляется слово «name» в конце. Я согласен, что это выглядит как работа человека — кто-то вручную копирует и вставляет текст, и этот процесс с потерями. Поэтому нет, простая проверка хеша в большинстве случаев не сработает.

Мы ещё не видели, чтобы эта схема действительно была реализована, что бы она ни подразумевала. В одном случае мы пропустили пост на 14 дней, и он так и не получил продолжения. Я обнаружил его через общий IP с другим аккаунтом, который делал то же самое. У нас также настройки спам-фильтра сильно ослаблены, потому что, несмотря на эти странные посты, реального спама у нас почти не бывает. Пользователи с уровнем TL0 могут сразу публиковать внешние ссылки и изображения. Они могут редактировать посты. Так зачем же эта мизансцена? Всё это очень странно.

Редактирование: ах, эта мизансцена нужна потому, что они не только обходят автоматический спам-фильтр, но и избегают внимания (и жалоб) со стороны активного сообщества, поскольку редактирование не поднимает тему наверх, если это не самый последний пост. Таким образом, чтобы быть эффективными, они должны не только выглядеть безобидно, но и спровоцировать ответ.

2 лайка

Как и у Мэтта, у нас они в основном точные, но часто с потерей форматирования или содержат лишь часть сообщения. Мы видим такой спам в основном в новых темах, но иногда и в офф-топичных ответах в существующих темах.

4 лайка

Я не помню деталей, но, насколько я знаю, они также иногда изменяли ссылки или URL-адреса, содержащиеся в оригинальных постах. Я полагаю, это делалось для обхода новых ограничений на количество ссылок для новых участников, а также потому, что никто не хочет спамить на чужих сайтах.

(При редактировании спама позже они изменяли оригинальные ссылки ещё сильнее.)

(Редакция: Трое Мэттов!)

4 лайка

Хорошие новости! Мы добавили функцию, которая поможет решить эту проблему — у пользователей с низким уровнем доверия теперь меньше времени на редактирование постов. Это должно помочь снизить количество злоупотреблений, связанных с редактированием.

Как видите, пользователи с уровнями доверия TL0 и TL1 теперь по умолчанию ограничены одним днём на редактирование @jsha @mnordhoff и @mbauman — возможно, вам стоит ещё больше сократить это время.

12 лайков

Спасибо! Я также изменил запрос в Data Explorer, чтобы создать удобную таблицу «устаревших правок», которую администраторы могут периодически просматривать:

SELECT
    p.id AS post_id,
    p.updated_at,
    (p.updated_at - p.created_at) AS staleness,
    u.trust_level,
    (p.cooked LIKE '%href%') AS has_links
FROM posts p
    JOIN users u
        ON u.id = p.user_id
    JOIN topics t
        ON t.id = p.topic_id
WHERE p.last_editor_id = p.user_id
    AND p.self_edits > 0
    AND (p.updated_at - p.created_at) > INTERVAL '1 Day'
    AND p.deleted_at IS NULL
    AND t.deleted_at IS NULL
    AND t.archetype = 'regular'
ORDER BY p.updated_at DESC
LIMIT 500
6 лайков

Это замечательно! Большое спасибо. Мы уже увеличили «лимит времени на редактирование постов» до 1 дня (1440 минут) и пока оставим его на этом уровне. Но я только что увеличил «лимит времени на редактирование постов для tl2» до 30 дней (43200 минут), что должно сделать работу гораздо удобнее для наших активных пользователей. Искренне благодарим команду Discourse за проделанную работу и вложенные усилия.

8 лайков

Отлично! Дайте знать, как всё пойдёт. Я предлагаю, возможно, уменьшить лимит по умолчанию на редактирование даже меньше, чем 1 день, теперь, когда у TL2 и выше есть отдельная настройка.

7 лайков

Я бы предложил добавить следующую строку в предложение WHERE:

    AND p.cooked ~ 'href="http[s]?://'

Это позволит отфильтровать только сообщения, содержащие ссылки. Одним из признаков такого спама является наличие ссылок.

2 лайка

Интересно, что существует запрос в Data Explorer для поиска «устаревших правок», которые можно проверить на наличие спама. Я изучил его, но не нашёл ничего явно подозрительного здесь, на Meta. Запрос уже учитывает ссылки.

Теперь у нас есть обнаружение спам-сообщений с помощью ИИ. Настоятельно рекомендую его!

1 лайк