# Локальная Qwen 7B обошла антифрод сайта объявлений через DOM-агента

> 2026-11-07 · AI Release · @ai_release1

> #Qwen #Playwright #антифрод #веб-скрейпинг #AI #LLM #нейросети #MachineLearning

### ⚡ Главное за 5 секунд - Автор заставил локальную Qwen класса 7B/8B искать объявления на крупной площадке через настоящий браузер Edge — без прокси и платных поисковых API. - Всё крутится в песочнице Strata: Python, Playwright и системный `msedge` в видимом режиме с `headless=False`. - Антифрод не ломали: ставка на то, что защита увидит обычного пользователя, а не на подделку пакетов. ### 🔍 Что случилось На Хабре вышла статья Phonetastic. Задача звучала буднично: найти на популярном сайте объявлений флагманскую мобильную рабочую станцию с редкой профессиональной видеокартой. С ходу не получилось. Прямые запросы упирались в HTTP 403 и HTTP 429. WAF отсекал модель ещё на сетевом уровне. Обход через поисковики с оператором `site:` тоже провалился. Один выдал «Вы не робот», второй завис по таймауту из-за allow-list внутри Strata, третий отдал пустую JavaScript-заглушку редиректа. Тогда автор сменил архитектуру и собрал «визуально-текстового DOM-агента». Первый кит — модель перехватывает уже установленный в системе Edge. Playwright стартует с `channel="msedge"`, `headless=False`, флагами `--start-maximized` и `--focus`, плюс вызов `page.bring_to_front()`. Окно вылезает поверх всех, дальше пауза 8 секунд, чтобы страница прогрузилась. Для защиты это выглядит как обычный запуск браузера человеком. Второй кит — агент принципиально игнорирует CSS. Классы вроде `.styles-module-root-XyZ12` генерируются на сервере и меняются с каждым обновлением фронтенда. Модель сканирует DOM за один проход и цепляется за смысловые маркеры: нашла текстовый узел со знаком валюты — это точка фиксации. От него поднимается к родительскому контейнеру и забирает данные. Никаких прокси, только Python и Playwright. ### 🧠 Наш разбор Новость не про «ИИ взломал сайт». Она про смену подхода: вместо драки с сетью на уровне пакетов — имитация человека на уровне пикселей и логики. Наша оценка: это самый скучный и оттого самый работающий вывод. Антифрод годами учили ловить `navigator.webdriver = true` и нечеловеческие тайминги. Здесь ловить нечего — браузер настоящий, окно настоящее, пауза тоже. Что это меняет. Для рынка скрейпинга — сигнал, что «запретить headless» больше не универсальный ответ. Для владельцев площадок — повод смотреть не на флаги браузера, а на поведение: сколько объявлений открыто за сессию и какие запросы уходят. Для кошелька — локальная 7B/8B вместо платных API и прокси-пулов выглядит дешевле. Только вот ни цифр по скорости, ни стоимости прогона автор не приводит. Кто выигрывает. Разработчики, которым нужен узкий поиск по одному сайту: у них теперь есть воспроизводимый рецепт. Кто проигрывает — по нашей оценке, сервисы антибота, которые строят детект только на отпечатке браузера. Гонка тут симметричная: как только пауза в 8 секунд и `bring_to_front()` станут массовыми, их начнут ловить по поведению. ### ⚠️ Чего мы не знаем Главное слабое место — источник один. Это личный рассказ автора, независимых проверок нет. В тексте не названа площадка, нет времени одного прохода, числа обработанных объявлений и статистики запросов до бана. Не видно, что происходит после того, как агент поднялся к родительскому контейнеру: фрагмент обрывается на полуслове. Отдельный вопрос — сработает ли схема через месяц, после обновления фронтенда. Проверять придётся самому. ### 💬 О чём спорить - Стоит ли площадкам блокировать такой обход, если формально ничего не подделано, — или честнее открыть официальный API поиска? - Кто прав: автор, который ищет одну редкую железку для себя, или антифрод, который защищает базу от массового парсинга? - Локальная 7B-модель плюс Playwright против платного API и прокси: где заканчивается экономия и начинается цена поддержки? **Прогноз:** в течение квартала на GitHub появится два-три опенсорсных агента с той же логикой, а крупные площадки начнут активнее считать поведенческие метрики вместо проверки флагов браузера. **Дисклеймер:** один источник — личный опыт автора на Habr, официально ничего не подтверждено. **Источник:** Habr

[Источник](https://habr.com/ru/articles/1104808/)
