Все посты
3 мин чтения

Почему стоп-слова больше не работают

Латинская «а» вместо русской, пробелы между буквами, текст на картинке. Как спамеры обходят списки запрещённых слов и почему защита перестала быть списком.

Первое, что делает почти любой админ, столкнувшись со спамом, — составляет список запрещённых слов. «Крипта», «заработок», «пишите в личку». Первые пару дней это работает. Потом спам возвращается, и список начинает расти.

Причина простая: список слов проверяет буквы, а спамер давно подстраивается именно под буквы.

Как обходят список#

Буквы-двойники. Латинская «a» и русская «а» выглядят одинаково, но для компьютера это разные символы. Слово «крипта», набранное вперемешку, список не узнает, а человек прочитает без запинки.

Цифры вместо букв. «К0д», «3аработок», «п0дработка». Глаз достраивает слово мгновенно, фильтр — нет.

Разбивка. «С п а м», «с.п.а.м», «с-п-а-м». Каждая буква по отдельности невинна.

Эмодзи внутри слова. Смайлик посередине ломает совпадение, не мешая чтению.

Пересказ. Вместо «заработок» — «доход в свободное время», вместо «пишите в личку» — «подробности у меня». Смысл тот же, ни одного слова из списка.

Картинка. Текст переносится на баннер или скриншот. Список слов его не видит вообще — для него сообщение пустое.

Обратная сторона: ложные срабатывания#

У списка есть и вторая беда. Короткое слово находится внутри длинных: «бан» сидит в «банане», «банке» и «урбанизации». Чем агрессивнее список, тем чаще он наказывает людей за безобидные сообщения. В какой-то момент админ начинает его урезать — и спам снова проходит.

Получается ловушка: список либо дырявый, либо злой.

Как устроена защита вместо списка#

Выход не в том, чтобы найти идеальный список, а в том, чтобы проверять не буквы, а смысл — в несколько слоёв.

Приведение текста к одному виду. Прежде чем сравнивать, текст стоит очистить: убрать пробелы, эмодзи и знаки препинания, вернуть буквы-двойники к кириллице. Тогда «с п а м», «с.п.а.м» и «cпaм» превращаются в одно и то же слово. Фразовые правила Scarabeus делают это перед каждой проверкой.

Связи вместо одиночных слов. «Обмен» само по себе безобидно. «Обмен» рядом с «USDT» на расстоянии пары слов — уже нет. Правило из нескольких частей со связями и исключениями реже задевает живой разговор, чем любое одиночное слово. Как собрать такое — в разборе как настроить фильтр по словам.

Шаблоны для того, что не описать словами. Номер карты, адрес кошелька, пригласительная ссылка — это форма, а не слово. Для них подходят регулярные выражения: готовые примеры.

Смысл, а не буквы. Пересказ не ловится ни словами, ни шаблонами. Здесь нужно понимать, о чём сообщение, — AI-модерация узнаёт тему в любой формулировке. Она же смотрит на фотографии вместе с подписью, поэтому реклама на баннере перестаёт быть слепой зоной.

Почему слоёв несколько#

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

Список слов никуда не делся — он просто стал одним из слоёв, а не всей защитой. Порядок, в котором стоит включать остальные, — в разборе как защитить Telegram-группу от спама.

Почему обычный список стоп-слов пропускает спам?

Спамеры подменяют буквы латиницей, вставляют цифры, пробелы и эмодзи или переносят текст на картинку. Простой список сравнивает символы один в один и такие варианты не узнаёт. Фразовые правила Scarabeus перед проверкой приводят текст к одному виду, поэтому подмена букв и пробелы между ними не помогают.

Как Scarabeus справляется с буквами-двойниками и пробелами?

Перед проверкой текст приводится к одному виду: пробелы, эмодзи и знаки препинания убираются, латинские буквы внутри слов возвращаются к кириллице. После этого «с п а м» и «cпaм» совпадают с «спам».

Почему короткие стоп-слова наказывают невиновных?

Короткое слово находится внутри длинных — «бан» в «банане», «банке». Помогают более длинные фразы и связи между частями правила.

Что делать с рекламой, которую пересказывают своими словами?

Пересказ не ловится ни списками, ни шаблонами. Для этого нужна AI-модерация, которая оценивает смысл сообщения, а не отдельные слова.

Читать дальше