Боты-скальперы: скупка товаров и бронирование слотов
Содержание
Поделиться
Бот-скальпер получает товар или услугу ограниченной доступности так, как обычный покупатель вручную не смог бы. Каталог OWASP (OAT-005) приводит билеты, которые затем перепродают дороже. Следствие, которое каталог называет сам: товар быстро становится недоступен другим людям. Это не скликивание: клик тратит рекламный бюджет, скальпинг забирает штуку со склада или слот.
Если лимитированный товар исчезает за секунды, а в заказах одни и те же паттерны, начните с различия «купили» и «удержали без оплаты».
Что входит в скальпинг
Наблюдение за появлением товара и быстрое действие могут входить в событие. Каталог отделяет его от «последней секунды» (OAT-013) и от ускорения рутины за пользователя (OAT-006). Дополнительный признак — ограниченность желанного товара или услуги. Среди примеров имён есть бронирование столов и номеров и бот на слоты. Как собрать такую программу, в описание не входит.
Человек, который обновил страницу и успел купить один билет, в это определение не попадает: способ должен быть таким, который вручную не повторить. Спорная граница — скорость. Её каталог не переводит в миллисекунды. Смотрите на ограниченность товара и на то, что действие через приложение человеку вручную недоступно.
Корзина без оплаты — другое событие
OAT-021 Denial of Inventory — выбор и удержание позиций из ограниченного запаса, которые так и не покупают, не оплачивают и не подтверждают. Другие люди не могут купить или подтвердить их сами. Каталог прямо отличает это от скальпинга: товар или услуга атакующему не достаются. Обычный пример — много позиций в корзине без перехода к оплате. Тот же приём распространяют на брони без оплаты, слоты, очереди и квоты. Если истощаются ресурсы сервера, каталог отсылает к отказу в обслуживании, а не к скальпингу.
Пустая корзина на весь размер — не перепродажа. Это удержание запаса. Меры похожи, имена событий разные, и отчёт «нас скупили» на неоплаченных корзинах будет неверным.
Очередь, предел и возврат запаса
Для скальпинга и удержания запаса OWASP называет первые меры:
очередь или зал ожидания на ограниченный выпуск;
предел покупки на учётную запись, который проверяет сервер;
удержание товара в корзине только до оплаты, после чего запас возвращается.
Предел предлагают считать не только по записи, но и по повторам одного и того же плательщика, адреса и устройства. Число секунд удержания и способ свёртки платёжных полей в описание не входят. Очередь не обещает закрыть парсинг цен: это мера на дефицитный выпуск.
В одном из текстов номер удержания запаса расходится с таблицей каталога. В статьи переносится мера — очередь, предел, возврат после неоплаты, — а не спорный номер события.
11% в отчёте — не доля ваших заказов
Отчёт Imperva по данным 2024 года пишет, что около 44% продвинутого бот-трафика шло на API, около 10% — на веб-приложения. В разборе атак ботов на API скальпинг — около 11%, рядом сбор данных около 31%, платёжный фрод около 26%, захват учёток около 12%. Скальпинг там описан как быстрая покупка или резервирование большого объёма дефицитных товаров и услуг. Проценты — доли в разборе атак на API у клиентов сети вендора. Это не доля заказов вашего магазина.
Что сделать на дефицитном товаре:
Отделите покупку, которую человек вручную не повторит, от корзины и брони без оплаты.
На ограниченный выпуск поставьте очередь.
Предел штук проверяйте на сервере: по записи, плательщику, адресу и устройству, а не только полем в браузере.
Возвращайте запас, если оплата не прошла.
Не переносите 11% из отчёта на свою выручку. Кто скликивает рекламу, кликфрод, недействительные клики и возврат денег Яндексом этот предел не решают: рекламный клик и штука на складе списываются в разных системах.
Пройдите один лимитированный выпуск по мерам OWASP, не добавляя секунд, которых в описании нет. Сначала очередь или зал ожидания: человек и автоматический клиент стоят в одном выпуске, а не в гонке обновления страницы. Затем предел штук на сервере. Предел считает сервер, и не только по записи: повторы одного плательщика, адреса и устройства — часть того же предела. Затем корзина. Товар держится до оплаты и возвращается в запас, если оплаты нет. Это закрывает удержание, при котором атакующему штука не достаётся. Очередь при этом не обещает остановить копирование цен: парсинг — другое событие.
Отдельно запишите, что вы увидите в отчёте Imperva, если откроете его рядом. Около 11% скальпинга — доля в разборе атак ботов на API у клиентов этой сети за 2024 год, рядом с 31% сбора данных, 26% платёжного фрода и 12% захвата учёток. Около 44% продвинутого бот-трафика в том же отчёте шло на API и около 10% на веб-приложения. Ни одна из цифр не является долей ваших заказов. Если за ночь продано 40 билетов из 40, это ваш остаток, а не «11%».
Человек, который купил один билет руками, в OAT-005 не попадает: способ должен быть таким, который вручную не повторить. Быстрое обновление страницы каталог не переводит в миллисекунды. Смотрите на ограниченность товара и на то, достался ли он. Неоплаченные слоты называйте удержанием запаса. Память и процессы сервера, если они кончились, — отказ в обслуживании, и скальпинг тут ни при чём.