Scarnox · Blog

Jak działa solver captcha oparty na AI: modele, tokeny i ograniczenia

Solver captcha oparty na AI to oprogramowanie, które używa modeli uczenia maszynowego, żeby odpowiedzieć na captcha w twoim imieniu. Działa najlepiej przy wyzwaniach, w których odpowiedź da się odczytać z treści, na przykład przy zniekształconym tekście albo siatce obrazków. Przy widgetach opartych na tokenach zadaniem modelu jest wytworzenie odpowiedzi, którą serwer strony zaakceptuje, i to jest zupełnie inny problem. Ten przewodnik omawia oba przypadki, pokazuje granice i wyjaśnia, co faktycznie otrzymujesz od usługi solvera.

Przewodnik opisuje ogólne techniki. Nie opisuje wnętrza żadnej konkretnej usługi. Dla dewelopera liczy się kontrakt: wysyłasz dane captcha, a dostajesz z powrotem token.

Trzy rodziny captcha

Większość captcha należy do jednej z trzech rodzin, a AI traktuje każdą z nich inaczej.

Wyzwania treściowe. Odwiedzający czyta lub rozpoznaje coś: zniekształcone znaki, zestaw numerów domów, sygnalizatory na siatce, obrócony obiekt. Poprawna odpowiedź jest w samym obrazie lub nagraniu. To obszar, w którym uczenie maszynowe jest najmocniejsze.

Ocena behawioralna. Może nie być żadnego widocznego wyzwania. Strona obserwuje, jak zachowuje się przeglądarka, sprawdza historię żądań i ocenia odwiedzającego. reCAPTCHA v3 działa w ten sposób i zwraca liczbę zamiast zagadki. Model nie może po prostu „odczytać” odpowiedzi, bo nie ma czego odczytać. Pytanie brzmi, czy sygnały wyglądają wystarczająco ludzko.

Widgety oparte na tokenach. Widget działa na stronie, wykonuje swoje sprawdzenia i zapisuje token w ukrytym polu formularza. Backend strony weryfikuje potem token u dostawcy. PopularCaptcha działa w ten sposób, tak samo jak reCAPTCHA v2 i Cloudflare Turnstile.

Jak modele radzą sobie z wyzwaniami treściowymi

Przy zniekształconym tekście standardowym podejściem jest model optycznego rozpoznawania znaków (OCR). Sieć splotowa lub model wizji oparty na transformerze czyta obraz i zwraca sekwencję znaków. Trening korzysta z dużych zbiorów wygenerowanych captcha o znanych odpowiedziach, dzięki czemu model uczy się typowych zniekształceń: deformacji, linii szumu, nakładających się glifów i tła.

Przy siatkach obrazków zadanie jest klasyfikacją. Model ocenia każdy kafelek i decyduje, czy zawiera obiekt, o który pyta wyzwanie. Trudne przypadki to obiekty częściowo zasłonięte, leżące na krawędzi kafelka albo niejednoznaczne, na przykład autobus, który prawie cały wychodzi poza kadr. Dokładność w takich miejscach jest niższa, a dobry solver musi zdecydować, kiedy zgadywać, a kiedy poprosić o kolejną rundę.

Wyzwania dźwiękowe używają rozpoznawania mowy. Model transkrybuje nagranie, a odpowiedzią jest transkrypcja. Głównymi trudnościami są szum tła i celowe zniekształcenia.

Wyzwania typu układanka, takie jak obracanie obrazu albo wsuwanie elementu na miejsce, wymagają innego rodzaju modelu. Model szacuje kąt lub pozycję na podstawie obrazu, a następnie generuje przeciągnięcie lub kliknięcie, które do tego pasuje.

Jak modele radzą sobie z oceną i tokenami

Ocena behawioralna i widgety tokenowe są trudniejsze do rozwiązania przez odczytanie strony. Sprawdzenia dostawcy działają w przeglądarce odwiedzającego, a ich wynik zależy od sygnałów, takich jak środowisko przeglądarki, czas zdarzeń wejściowych i historia sesji. Solver z zewnątrz nie widzi wyniku ani sygnałów w żadnym użytecznym szczególe.

W tych przypadkach działającym podejściem jest solver, który zwraca odpowiedź oczekiwaną przez dostawcę, korzystając z potoku zbudowanego pod generowanie poprawnych tokenów. Z twojej strony liczy się jedna prosta właściwość: dostajesz token albo błąd, a token sprawdza strona.

Dlatego API Scarnox wygląda tak, jak wygląda. Wysyłasz typ zadania, sitekey i adres URL strony, a w polu solution dostajesz token:

{"errorId": 0, "solution": {"token": "..."}, "cost": ...}

Token trafia do pola formularza, którego oczekuje strona, i wygasa po około dwóch minutach. Pełne żądanie opisuje przewodnik po API solvera captcha.

Gdzie AI pomaga, a gdzie przestaje

Solvery AI dobrze radzą sobie z:

Słabiej radzą sobie z:

Jest też praktyczne ograniczenie, którego żaden model nie usunie. Captcha to celowa bariera, a dostawcy aktualizują wyzwania. Solver, który działa dzisiaj, może przestać działać w przyszłym miesiącu, więc wynik solvera trzeba monitorować, a nie zakładać, że będzie działał zawsze.

Jak wybrać solver

Cztery pytania pomagają ocenić każdą usługę solvera:

  1. Jakie typy captcha obsługuje dziś, a jakie są dopiero w planach?
  2. Ile kosztuje nieudane rozwiązanie? Solver, który pobiera opłatę za porażki, sprawia, że ponawianie jest drogie.
  3. Jak zachowuje się przy przekroczeniu czasu lub wolnej odpowiedzi? Twój kod potrzebuje czytelnego błędu, na który może zareagować.
  4. Co trzeba zmienić w kodzie, gdy captcha się zmieni? Im mniej, tym lepiej.

Scarnox obsługuje obecnie PopularCaptcha, wersję proxyless, na żywo. Pozostałe typy są wkrótce, a przewodnik po typach captcha wyjaśnia status każdego z nich.

Dalsze kroki