Мы на пороге смерти текстовой CAPTCHA: опенсорс-модель сделала то, чего боялись
Рекорд, от которого екнуло: нейросеть прошла капчу на топ-сайтах со 100% точностью
Думаю, многие видели заголовки про «ИИ впервые обманул капчу». Я тоже поначалу скептически хмыкнул — очередной техноблогерский хайп, подумал. Но когда копнул детали, реально екнуло.
GAN-нейросеть показала 100% точность распознавания текстовых CAPTCHA на сайтах Blizzard, Megaupload и Authorize.net. Не 99.8%, не «почти идеально» — абсолютный ноль ошибок. И ладно бы модель кормили миллионами примеров, как это делали раньше. Нет. Хватило всего 500 реальных изображений. Пятисот, Карл! Для обучения нейросети, которая ломает защиту трёх крупнейших платформ.
Для сравнения: предыдущие решения жрали датасеты по 2–3 миллиона картинок и всё равно лажали на сложных искажениях. А тут 500 штук — это кот наплакал. Разработчики использовали GAN-архитектуру: одна сеть генерирует синтетические капчи, вторая учится их распознавать. Фактически модель сама себе создавала тренировочные данные, разнообразила шрифты, шум, повороты. Поэтому реальных примеров понадобилось так мало.
Почему это звоночек, а не просто «очередной прорыв»? Потому что Blizzard, Megaupload и Authorize.net — не студенческие поделки. Это сайты с многомиллионной аудиторией и серьёзными командами безопасности. Их CAPTCHA считались эталоном сложности: перекрученные символы, слипающиеся буквы, градиентный фон, линии разреза. И GAN-модель схавала это с минимальным датасетом.
Что реально напрягает: модель выложили в опенсорс. Любой школьник с GitHub может заюзать. Да, она не работает с переменным количеством символов и не поддерживает фото-капчи — но это первая версия. Первая, мать её.
И тут мы подходим к неприятному моменту. Если нейросети хватает 500 картинок, чтобы сломать текстовую CAPTCHA, то что будет через год? Через два? Текстовые защиты мертвы, это уже медицинский факт. Но самое интересное — как этот же подход адаптируют под графические капчи. И вот там начинается то, от чего у безопасников седеют волосы.
YOLO против reCAPTCHA v2: как нейросеть прикинулась человеком и всех обманула
Пока одни исследователи долбили текстовые капчи, другие замахнулись на святое — reCAPTCHA v2. Те самые квадратики с автобусами и светофорами, которые бесят нас последние лет десять. И вот тут случилось то, от чего лично у меня слегка подгорело.
Модель YOLO (You Only Look Once) прошла reCAPTCHA v2 со 100% точностью. Не 99%, не 99.9% — сотка из сотки. Имитируя поведение человека. С задержками кликов, с естественной траекторией мыши, с «раздумьями» перед выбором квадрата.
Для контраста — предыдущие попытки ИИ решали только 68–71% таких капч. Это было нормой. Считалось, что нейросеть тупит на неоднозначных картинках, где кусок светофора залезает на соседний квадрат, или когда мотоцикл на треть перекрыт деревом.
А теперь самое смешное. Сравните с «большими» языковыми моделями. Claude Sonnet 4.5 — жалкие 60%. GPT-5 — вообще 28%. Серьёзно, 28%! Модель, которая пишет код, сдаёт экзамены на юриста и рассуждает о квантовой физике, тупит на картинках с гидрантами на уровне пьяного студента.
Почему так? Всё просто. YOLO заточена именно под детекцию объектов в реальном времени. Она не пытается «понять» картинку, не рассуждает о природе светофора и его месте в городской инфраструктуре. Она просто находит прямоугольники с объектами. Быстро. Как человек, который даже не задумывается, что такое автобус — он его просто видит.
Архитектура решает. Не мощность модели, не количество параметров, не бюджет на обучение. Конкретная заточка под конкретную задачу уделывает универсальные языковые монстры вчистую.
И вот тут возникает неприятный для безопасников вывод: гонка вооружений перешла на новый уровень. Раньше казалось, что достаточно усложнять картинки, добавлять шум, искажать объекты — и нейросеть сломается. Теперь выясняется, что если правильно выбрать архитектуру и обучить её на поведенческих паттернах человека, капча превращается в тыкву.
YOLO не просто распознала объекты. Она прикинулась человеком на уровне движений мыши. И это, пожалуй, самый тревожный звоночек.
Нейросеть YOLO в действии: распознавание объектов в реальном времени для обхода капчи
Стык плиток и петли провала: где нейросети сливаются в ноль
Вот тут начинается самое интересное. После эйфории от 100% на YOLO я полез смотреть, где же эти хвалёные нейросети всё-таки облажались. И картина вышла отрезвляющая.
Помните классическую капчу «выберите все квадраты с автобусом»? Там картинка нарезана на сетку 4×4, и объект может оказаться на стыке двух, трёх, а то и четырёх плиток одновременно. Вот это место и стало кладбищем нейросетевых амбиций.
Все протестированные модели практически слились в ноль. Claude показал 0.0% успеха. Не «почти ноль» — реально ноль. Gemini — жалкие 1.9%. GPT-5 — 1.1%. Для сравнения: живой человек на таких заданиях ошибается редко, интуитивно понимая, что если пол-автобуса в одном квадрате и пол-автобуса в соседнем, то кликать надо оба.
Нейросеть же тупо пыталась выделять объекты идеальными прямоугольниками. Она видела фрагмент колеса в плитке A1, фрагмент двери в плитке A2 — и решала, что это два разных объекта, потому что ни один из них не вписывается в её внутреннее представление о «целостности». Фундаментальное ограничение архитектуры: модель обучена искать целостные объекты, а не собирать пазл из кусков.
Добавьте сюда ещё одну гениальную особенность — петли провала при обновлении сетки. Когда капча меняла картинку (reload), агенты начинали вести себя как сломанный скрипт. Reload они интерпретировали как ошибку выполнения. Вместо того чтобы решать новую задачу, бот пытался отменить действие, повторить предыдущий клик, снова получал reload — и уходил в бесконечный цикл. За отведённые 15-20 секунд он не успевал даже приступить к решению, просто долбясь лбом в перезагрузку.
Я бы сказал, что это классическая проблема «узкого интеллекта»: модель отлично работает в вакууме, но стоит добавить динамическое изменение контекста — и она рассыпается. Человек видит reload и понимает: «Ага, новая попытка, решаем заново». Нейросеть видит reload и думает: «Что-то пошло не так, надо исправить предыдущий шаг».
Собственно, именно эти два ограничения — неспособность работать с фрагментированными объектами и неумение обрабатывать динамические изменения — пока что держат оборону. Капча эволюционирует не в сторону усложнения картинок, а в сторону усложнения логики взаимодействия. И тут у железяк пока кот наплакал.
Тестовая капча с выбором изображений, где нейросети сталкиваются с проблемами на стыках плиток
Скорость против точности: почему ИИ-решатели уже обгоняют людей, но всё ещё лажают
Ладно, с логикой взаимодействия у нейросетей пока беда. Но там, где задача сводится к «увидел — распознал — кликнул», ИИ выносит человека в одну калитку. По скорости.
Цифры с реальных тестов. Invisible reCAPTCHA: нейросетевой решатель CapMonster справился за 13.77 секунды. Живой человек из сервиса 2Captcha — 49.87 секунды. Разница в 3.6 раза. Не «чуть быстрее», а тупо в три с половиной. На Cloudflare Turnstile ИИ показал среднее время решения 6.24 секунды — это вообще уровень «моргнул и готово».
Казалось бы — всё, можно сворачивать лавочку, живые разгадыватели капчи больше не нужны. Но дьявол, как обычно, в стабильности.
Когда начинаешь гонять нейросети не на десятке тестовых запросов, а на промышленных объёмах, картинка плывёт. CapSolver на Cloudflare Turnstile — 89% успеха. NopeCHA — 82%. А живые сервисы, где сидят реальные люди, держат 95–97%. Разница между 89% и 97% кажется небольшой, только если вы не платите за каждый проваленный запрос.
На reCAPTCHA v3 ситуация похожая: нейросеть CapSolver дала 91% точности, люди — 96%. Пять процентов разрыва. При объёме в 100 тысяч запросов в день это 5000 потерянных единиц данных. Пять тысяч раз, когда ваш парсер тупо не получил страницу, а вы — информацию. И ладно бы речь шла о каком-то левом сайтике, но когда это биржа, маркетплейс или KYC-проверка — каждая потерянная единица это либо упущенная сделка, либо фейл верификации.
Почему нейросети так колбасит по точности? Тут два фактора. Первый — сама архитектура защиты. Cloudflare Turnstile, например, специально заточен на детект AI-generated responses. Они не скрывают этого — Turnstile анализирует кучу невидимых параметров и выставляет скрытый рейтинг подозрительности. Если запрос пахнет машинным решением — рейтинг летит вниз, и ты получаешь отлуп. Второй фактор — нестабильность самих моделей. Сегодня нейросеть лупит 100% на reCAPTCHA v2, завтра та же модель на том же типе капчи может просесть до 68% просто потому, что Google чуть-чуть изменил параметры рендеринга.
Я бы не стал ставить на полный автомат без подстраховки. Оптимальная схема, которую я для себя вывел: нейросеть как первая линия — быстрая и дешёвая, а живые разгадыватели как fallback для тех 5–11% случаев, где машина обосралась. Гибридный подход даёт и скорость, и стабильность на уровне 98%+.
Аудиокапча и невидимые защиты: эволюция, которая оставляет ИИ за бортом
С аудиокапчей картина вообще шизофреническая. С одной стороны, стэнфордские ребята ещё в 2017 году показали, что их бот щёлкает Audio CAPTCHA с вероятностью до 75% — тупо прогоняя через распознавалку речи и вытаскивая цифры из шума. Казалось бы, привет, машины победили, можно закрывать тему.
Но давайте посмотрим на реальные боевые тесты. Сервис 2Captcha, где сидят живые люди, решил аудиокапчу с точностью... 27%. Двадцать семь процентов, Карл. За 14.27 секунды. А их ИИ-конкуренты — CapMonster Cloud и все остальные нейросетевые решальщики — показали полный, абсолютный ноль. Вообще ни одного правильного ответа.
Почему так? Ответ — в обучающих данных. Стэнфордская модель тренировалась на конкретном типе аудиокапч с предсказуемым уровнем шума и фиксированной длиной последовательности. В дикой природе аудио-защиты используют динамический фоновый шум, перемешивают голоса, накладывают эхо и меняют скорость воспроизведения. Нейросеть, не видевшая именно таких искажений, тупо глохнет. А человеческое ухо, пусть и с 27% точности, всё ещё выцепляет паттерны из этого аудио-месива.
Но вот что важно: вся эта возня с аудио — уже археология. Google ещё в 2018 году сказал «хватит» и запустил reCAPTCHA v3. Никаких тебе светофоров, никаких аудиодорожек для слабовидящих. Просто невидимый скрипт, который анализирует поведение: как двигается мышь, с какой скоростью скроллится страница, какие у браузера TLS-отпечатки. Сегодня на 7 миллионах сайтов защита работает полностью в фоне — пользователь вообще не знает, что его проверяют.
Cloudflare Turnstile пошла ещё дальше. Их система специально заточена на обнаружение ответов, сгенерированных ИИ. И это объясняет, почему даже топовые нейросети на Turnstile проседают: CapSolver выдал 89% точности, NopeCHA — 82%, а живые люди держат стабильные 95–97%. Cloudflare тупо смотрит на тайминги и микропаттерны взаимодействия — если ответ пришёл слишком быстро и слишком «чисто», это палево.
Моё мнение: гонка сместилась с «реши картинку» на «притворись человеком на уровне поведения». И вот тут у ИИ пока кот наплакал. Можно обучить нейросеть кликать по светофорам со 100% точностью, но сымитировать хаотичную траекторию мышки живого пользователя, который чешет нос и попивает кофе — задача на порядок сложнее.
Бунт машин или тупой баг: что на самом деле происходит и почему будущее уже тут
Давайте по-чесноку. Когда YOLO выбила 100% на reCAPTCHA v2, а GAN-нейросеть разнесла текстовые капчи Blizzard на 500 примерах — у меня реально ёкнуло. Не потому что я боюсь восстания тостеров, а потому что скорость, с которой это произошло, пугает. 13.77 секунды против 49.87 у живого человека на Invisible reCAPTCHA. Разница в 3.6 раза. Это не «догоняем», это уже перегнали и ушли в отрыв.
Но потом смотришь на результаты Claude Sonnet 4.5 — 60% успеха на тех же задачах. GPT-5 — вообще 28%. И понимаешь: никакого «интеллекта» тут нет. Есть узкозаточенная модель, обученная под конкретный паттерн пикселей. YOLO не «поняла» светофоры — она научилась идеально совпадать с тем, что ждёт валидатор Google. Это не бунт машин. Это тупой, но чертовски эффективный баг.
Стыки плиток и петли провала: где заканчивается магия
Самое показательное — cross-tile тесты. Когда объект разрезан между двумя плитками сетки, Claude показал 0.0%. Ноль. Даже не пытался угадать. Gemini — 1.9%. Все модели пытались обвести объект идеальным прямоугольником, потому что их архитектура заточена на детекцию целостных форм. Они не «видят» фрагментированную картинку — они её достраивают в уме, и достраивают неправильно.
А петли провала при обновлении сетки? Это вообще анекдот. Агент видит новую картинку, думает что ошибся, пытается отменить клик — и зависает в цикле. Лимит времени выходит, капча провалена. Это не поведение разумной системы. Это поведение конечного автомата с кривым обработчиком исключений.
Я бы сказал так: текущие нейросети-решатели — это идеальные исполнители для узкого класса задач. Дай им стандартную сетку 3×3 с чёткими объектами — вынесут 100%. Дай нестандартный стык или динамическое обновление — сольются в ноль. Никакого общего интеллекта. Никакого «понимания».
Аудиокапча: неожиданный бастион
Вот где реально смешно. Стэнфорд ещё в 2017 показал 75% взлома аудио-CAPTCHA через распознавание речи. Казалось бы — всё, RIP. Но в свежих тестах CapMonster Cloud и другие AI-сервисы показали ровно 0% на Audio CAPTCHA. Ноль. А живые люди через 2Captcha — 27% за 14.27 секунды. Паршивый результат, но не ноль.
Почему так? Потому что современные аудиокапчи специально зашумляют сигнал, накладывают эхо, реверберацию, фоновые голоса. Нейросеть, обученная на чистых спектрограммах, захлёбывается. Человек тоже мучается, но хоть что-то разбирает. Это идеальный пример того, как защита эволюционирует ровно в ту сторону, где у ИИ пока слабое место — работа с деградированным сигналом.
Гонка, которая уже всё изменила
Но главный вывод не в том, кто кого. Главное — мы всерьёз обсуждаем гонку вооружений между ИИ и защитами. Google запустил reCAPTCHA v3 без визуальных задач ещё в 2018. Cloudflare Turnstile специально детектит AI-generated responses. Семь миллионов сайтов уже используют невидимые проверки.
Сам факт, что CAPTCHA перестала быть надёжным барьером и мутировала в поведенческий анализ — это и есть маркер. Будущее не наступит завтра. Оно уже тут. Просто выглядит не как бунт машин, а как бесконечная возня нейросетей с кривыми плитками и зашумлённым аудио. И знаете что? Меня это пугает даже больше, чем Skynet. Потому что Skynet хотя бы понятно как отключать. А вот что делать с системой, которая идеально проходит тест Тьюринга на светофорах, но зависает в цикле при смене картинки