Бенчмарк устойчивости детектора ИИ к атакам маскировки
Мы решили перестать гадать и начали измерять. Вокруг так много споров о том, легко ли обмануть детекторы ИИ, что нам захотелось получить сухие, проверенные цифры. Мы взяли наш собственный алгоритм и устроили ему стресс-тест, используя каталог атак RAID. Цель была проста: понять, какие трюки «хуманизаторов» реально сбивают алгоритм с толку, а какие — пустая трата времени.
Наша методика строилась на сравнении показателя полноты (recall) на «чистом» машинном тексте и на текстах, прошедших через различные виды искажений. Мы не использовали синтетические теоретические модели, а прогнали реальные сэмплы через векторы атак: добавление пробелов, случайную капитализацию, ошибки, синонимы и полное перефразирование. Результаты оказались для нас довольно показательными.
Что мы тестировали и как
За базу мы взяли показатель полноты на нетронутом машинном тексте. Это наша отправная точка — то, как алгоритм работает в идеальных условиях, когда пользователь не пытается скрыть происхождение контента. Затем мы начали применять атаки по одной и смотреть, как проседает точность.
Нас интересовали не абстрактные метрики, а конкретный убыток в эффективности. Если полнота падает, значит, детектор начинает пропускать фейки, считая их человеческими. Ниже приведена таблица с ключевыми результатами, которые мы получили в ходе этого эксперимента. Цифры не округлены, чтобы показать реальную картину.
| Тип атаки | Изменение полноты (Recall) | Комментарий |
|---|---|---|
| Чистый текст (Baseline) | ~40% | Базовая линия без искажений |
| Вставка пробелов (Whitespace) | -5 п.п. | Детектор показал высокую устойчивость |
| Случайная Капитализация | Падение до 10% → Восстановление до 23% | Критическое падение, частично исправлено эвристикой |
| Ошибки (Misspelling) | -18 п.п. | Сложный для определения тип атак |
| Замена синонимов | -18 п.п. | Разрывает паттерны словосочетаний |
| AI-перефразирование | +5 п.п. | Усложняет текст, но добавляет машинных маркеров |
Почему пробелы и сломанный регистр не работают
Начнем с неожиданного. Вставка лишних пробелов между буквами или словами — одна из самых популярных, но бесполезных тактик. Мы увидели снижение всего на 5 процентных пунктов. Для пользователя текст выглядит ужасно, но для алгоритма это лишь шум, который легко отфильтровывается на этапе токенизации. Модель «видит» структуру despite визуального мусора.
Случайная капитализация (НАпИсАнИе тАкИм ОбрАзОм) оказалась намного опаснее, но только на первый взгляд. Изначально эта атака обрушила полноту до 10%. Детектор просто терялся из-за нарушения стандартов написания собственных имен. Мы заметили, что атака эксплуатировала пробел в нашей эвристике обработки имен собственных. Как только мы внедрили исправление, метрика отскочила до 23%. Это все еще низко, но это показывает, что такие атаки работают не потому, что они умные, а из-за конкретных багов в обработке текста, которые можно и нужно латать.
Самые опасные враги: ошибки и синонимы
Здесь кроется главная проблема. Искажение орфографии и замена слов на синонимы забрали у нас по 18 пунктов полноты. Это самые болезненные атаки из списка. Почему? Потому что они бьют по основному принципу работы большинства лингвистических моделей — по совпадению n-грамм и векторным представлениям слов.
Когда нейросеть пишет текст, она использует предсказуемые цепочки слов. Если вы меняете «быстрого» на «стремительный» или делаете опечатку, вы разрываете эти цепочки. Детектор перестает видеть знакомые паттерны машинного языка и начинает сомневаться. Именно на этом строятся работа большинства «хуманизаторов»: они меняют лексику так, чтобы сбить статистику. Это работает, и нашим цифрам это подтверждение.
Парадокс перефразирования
А вот здесь начинается самое интересное. Многие пользователи думают, что прогнать текст через ChatGPT с просьбой «перепиши это человеческим языком» — хорошая идея. Наши данные говорят об обратном. Парадоксально, но перефразирование через другой ИИ повысило обнаруживаемость на 5 пунктов.
Вместо того чтобы скрыть машинное происхождение, второй ИИ накладывает свои собственные стилистические маркеры. Вы получаете «машинный текст в квадрате». Становится только хуже. Это важный вывод для тех, кто пытается обойти системы проверки простой сменой генератора. Вы не маскируете текст, вы усиливаете его искусственность.
Мы продолжаем работать над устойчивостью нашего движка, особенно в части борьбы с синонимическими заменами. Тесты показывают, что идеальной защиты пока не существует, но понимание механики атак позволяет делать алгоритмы умнее. Если вы хотите использовать надежный инструмент проверки, мы постоянно обновляем наш движок на neuroslop.net, учитывая новые векторы угроз. Битва между детекторами и обфускаторами только набирает обороты.
Вопросы и ответы
Какая атака на детектор самая эффективная?
Согласно нашему бенчмарку, самыми сложными для детектирования оказались намеренные ошибки и замена слов на синонимы. Они снизили полноту на 18 п.п., разрывая привычные машинные цепочки.
Помогает ли случайное изменение регистра букв обойти детектор?
Временный эффект есть, но он связан с багами обработки имен собственных. После того как мы исправили эвристику, качество детекции значительно выросло, так что этот метод ненадежен.
Стоит ли переписывать текст другим ИИ для обхода?
Нет, это часто дает обратный эффект. Наши замеры показали рост полноты на 5 п.п., так как второй алгоритм добавляет дополнительные машинные маркеры в текст.
Попробуй сам: проверь любой текст на ИИ бесплатным детектором Neuroslop.