Обновление в работе нашего сервиса по решению reCAPTCHA v3

Опубликовано:

Скоро будет ровно 2 года, как мы добавили на наш сервис возможность обхода reCAPTCHA v3 и всё это время алгоритмы обхода несколько менялись. Сейчас мы снова немного изменили алгоритм работы и хотим об этом рассказать вам.

Кратко

1) Работает хорошо
2) Платите только за сработавшие токены
3) Работает хорошо, но не сразу, нужно прислать 500-2000 капч, прежде чем начнёте получать стабильно хороший результат
4) Нужно обязательно слать reportgood\reportbad - уведомления

Подробнее

Для начала напомним, что reCAPTCHA v3 это вовсе не капча, как это иногда представлятся, а вероятностная оценка человечности пользователя, основывающаяся на IP, истории пользователя в интернете и поведении пользователя на сайте. reCAPTCHA v3 не может отделить однозначно человека от робота, а лишь показывает вероятность того кем является пользователь, причём с достаточно большой погрешностью. Одна из особенностей ReCaptcaha v3 - один и тот же браузер, работающий с одним и тем же набором cookie с одного и того же IP в один момент времени может получить совершенно разную оценку от reCAPTCHA v3 для разных страниц одного сайта. А для разных сайтов почти всегда оценка будет разной. К сожалению, за эти 2 года мы так и не нашли способа достоверно оценить какой score получит тот или иной компьютер для определённого сайта. В последнее время мы использовали вероятностную модель "если ответ этого компьютера подошёл к пяти сайтам и не подошёл к шестому, то скорее всего к седьмому он всё же подойдёт", но теперь решили отказаться от неё, т.к. к некоторым сайтам она была совершенно неприменима. Но при этом, если ответ от конкретного компьютера подошёл к определённому сайту, то почти всегда ещё 5-50 его ответов по аналогичному заданию подойдут.

Что мы сделали

Мы ввели AllowList и BlockList компьютеров работников для каждого нашего клиента. Изначально ваши капчи выдаются случайным компьютерам наших работников, а когда вы присылаете reportgood или reportbad, то мы вносим компьютер, который дал ответ на эту капчу в соответсвующий лист. Как только наберётся 50 компьютеров онлайн в вашем AllowList то каждая вторая капча будет уходить компьютеру из этого листа, а когда в AllowList накопится 500 компьютеров онлайн, то все ваши задачи будут выдаваться только компьютерам из AllowList. При этом, если капча не разгадана мы возвращаем списанные за неё средства (так было всегда) и если вы прислали reportbad то мы возвращаем за неё средства (так было всегда, но с некоторыми ограничениями)

Что нужно сделать вам

Если вы ещё не шлёте reportgood и reportbad уведомления - вы должны начать это делать. Без этого вы будете получать мало хороших токенов и не будете получать возврат за неработающие токены.

Система оплаты

Списание: Как обычно, списание с баланса за капчу происходит каждый раз, при загрузке капчи. Списывается 0.16 рубля.
Возврат: Если токен не подошёл и вы прислали reportbad.
Возврат: Если по какой-то причине мы не решили капчу и она получила статус ERROR_CAPTCHA_UNSOLVABLE.

Это эффективно? Покажите кейсы!

У нас есть клиенты, которые шлют v3 с сайта, где v3 установлена некорректно и reCAPTCHA даже половину реальных пользователей считает ботами. Лишь 4,5% наших компьютеров дают рабочие токены для этого сайта. Когда заказчик начинает слать капчи то сначала он получает лишь эти 4,5% корректных ответов. Примерно через 1500 присланных капч у него корректных ответов уже 40% и ещё через 10000 капч корректных ответов 70-80%.
При этом есть заказчики которые изначально получают 90% корректных токенов, через 100 капч - 95% корректных и через 1000 - 99% корректных токенов.

Я шлю задачи по v3 от двух сайтов, можно мне для них раздельные листы?

К сожалению, в текущей реализации у Вас может быть только один лист. Но вы можете завести ещё один аккаунт и перевести часть баланса на второй аккаунт. И задачи с разными сайтами слать с разных аккаунтов.

Почему бы не сделать Allow\Block-листы по каждому домену для всех заказчиков?

Тогда один заказчик по ошибке, начав добавлять всех работников в Allow или Block лист испортит работу остальным заказчикам.

При загрузке задачи ещё нужно указывать score?

Да. Задачи со score = 0.1-0.3 у нас обрабатываются по одному алгоритму, где мы можем дать гарантированный результат, а задачи со score = 0.4 и выше - по другому. Разницы между score = 0.4 и 0.9 у нас сейчас нет, а вот между 0.3 и 0.4 - есть. Поэтому продолжайте слать.

Почему данные хранятся лишь 2 дня?

Это обусловлено особенностью архитектуры хранения данных. Возможно мы перейдём на более подходящее хранилище данных и тогда сможем увеличить период хранения данных.

Что случится если я всех работников занесу в BlockList?

Пока никто не смог занести в него даже 10% работников. Если Вы туда занесёте всех, скорее всего на вашей стороне есть какая-то ошибка и вы на всё подряд шлёте reportbad.

У меня есть вопрос

Если у вас есть ещё вопросы, их лучше всего задавать публично в этой ветке форума: https://captchaforum.com/threads/recaptcha-v3-obhod-avtomatizatsiya-beta.12/, либо пишите нам в поддержку.