Scarnox · Blog

Bộ giải captcha AI hoạt động thế nào: mô hình, token và giới hạn

Bộ giải captcha AI là phần mềm dùng mô hình học máy để trả lời captcha thay bạn. Nó hoạt động tốt nhất với các thử thách mà đáp án có thể đọc được từ nội dung, chẳng hạn văn bản méo hoặc lưới hình ảnh. Với widget dạng token, nhiệm vụ của mô hình là tạo ra một phản hồi mà máy chủ của trang chấp nhận, và đó là một bài toán khác. Hướng dẫn này giải thích cả hai trường hợp, giới hạn nằm ở đâu, và bạn thực sự nhận được gì từ dịch vụ giải captcha.

Hướng dẫn này mô tả các kỹ thuật chung. Nó không mô tả nội bộ của bất kỳ dịch vụ cụ thể nào. Điều quan trọng với bạn là hợp đồng: bạn gửi chi tiết của một captcha và nhận lại một token.

Ba nhóm captcha

Hầu hết captcha thuộc một trong ba nhóm, và AI xử lý mỗi nhóm một cách khác nhau.

Thử thách nội dung. Người truy cập đọc hoặc nhận diện một thứ gì đó: các ký tự méo, một dãy số nhà, đèn giao thông trong lưới, một vật thể bị xoay. Đáp án nằm ngay trong hình ảnh hoặc âm thanh. Đây là lĩnh vực mà học máy mạnh nhất.

Chấm điểm hành vi. Có thể không có thử thách nào hiển thị. Trang theo dõi cách trình duyệt hoạt động, xem lịch sử request và chấm điểm người truy cập. reCAPTCHA v3 hoạt động theo cách này, và nó trả về một con số thay vì một câu đố. Mô hình không thể đơn giản "đọc" đáp án ở đây, vì không có đáp án nào để đọc. Câu hỏi là các tín hiệu có trông đủ giống người hay không.

Widget dạng token. Một widget chạy trong trang, thực hiện kiểm tra, và ghi một token vào trường form ẩn. Backend của trang sau đó xác minh token với nhà cung cấp. PopularCaptcha hoạt động theo cách này, và reCAPTCHA v2 cũng như Cloudflare Turnstile cũng vậy.

Mô hình xử lý thử thách nội dung thế nào

Với văn bản méo, cách tiêu chuẩn là một mô hình nhận dạng ký tự quang học (OCR). Một mạng tích chập, hoặc mô hình thị giác dựa trên transformer, đọc ảnh và xuất ra một chuỗi ký tự. Quá trình huấn luyện dùng các tập captcha sinh tự động lớn với đáp án đã biết, nên mô hình học được các kiểu méo thường gặp: uốn cong, các đường nhiễu, ký tự chồng lên nhau và nền có họa tiết.

Với lưới hình ảnh, nhiệm vụ là phân loại. Mô hình nhìn từng ô và quyết định nó có chứa vật thể mà thử thách yêu cầu hay không. Các trường hợp khó là vật thể bị che một phần, nằm ở mép ô, hoặc mơ hồ, chẳng hạn một chiếc xe buýt mà phần lớn nằm ngoài khung. Độ chính xác ở những trường hợp đó thấp hơn, và một bộ giải tốt phải quyết định khi nào đoán và khi nào yêu cầu một vòng khác.

Captcha âm thanh dùng nhận dạng giọng nói. Mô hình phiên âm đoạn ghi, và đáp án chính là bản phiên âm. Tiếng ồn nền và méo có chủ đích là những khó khăn chính.

Các thử thách dạng câu đố, chẳng hạn xoay ảnh hoặc trượt mảnh ghép vào đúng chỗ, cần một loại mô hình khác. Mô hình ước lượng góc hoặc vị trí từ ảnh, rồi tạo ra thao tác kéo hoặc click khớp với ước lượng đó.

Mô hình xử lý chấm điểm và token thế nào

Chấm điểm hành vi và widget token khó giải hơn bằng cách đọc trang. Các kiểm tra của nhà cung cấp chạy trong trình duyệt của người truy cập, và kết quả phụ thuộc vào các tín hiệu như môi trường trình duyệt, thời điểm của các sự kiện nhập liệu và lịch sử của phiên. Bộ giải không thể thấy điểm số hay các tín hiệu với chi tiết hữu ích từ bên ngoài.

Với các trường hợp này, cách làm hiệu quả là một bộ giải trả về phản hồi mà nhà cung cấp mong đợi, bằng một quy trình được xây để tạo ra token hợp lệ. Với phía bạn, thuộc tính quan trọng rất đơn giản: bạn nhận được một token hoặc một lỗi, và token đó được trang kiểm tra.

Đó là lý do API của Scarnox có hình dạng như hiện tại. Bạn gửi loại task, sitekey và URL trang, và nhận một token trong trường solution:

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

Token đi vào trường form mà trang mong đợi, và hết hạn sau khoảng hai phút. Hướng dẫn API giải captcha bao quát toàn bộ request.

AI giúp ích ở đâu và dừng ở đâu

Bộ giải AI làm tốt:

Chúng kém hơn ở:

Còn một giới hạn thực tế mà không mô hình nào loại bỏ được. Captcha là một rào cản có chủ đích, và nhà cung cấp cập nhật thử thách của họ. Một bộ giải chạy được hôm nay có thể hỏng tháng tới, nên bạn nên theo dõi kết quả của bộ giải, đừng cho rằng nó sẽ tiếp tục hoạt động.

Chọn bộ giải

Bốn câu hỏi giúp bạn đánh giá bất kỳ dịch vụ giải nào:

  1. Hiện nay nó hỗ trợ những loại captcha nào, khác với những loại nằm trong lộ trình?
  2. Một lần giải thất bại khiến bạn tốn bao nhiêu? Bộ giải tính phí khi thất bại làm cho việc thử lại trở nên đắt đỏ.
  3. Nó hoạt động thế nào khi bị timeout hoặc phản hồi chậm? Code của bạn cần một lỗi rõ ràng để xử lý.
  4. Khi captcha thay đổi, bạn phải sửa code của mình bao nhiêu? Càng ít càng tốt.

Scarnox hiện hỗ trợ PopularCaptcha, proxyless, đang hoạt động. Các loại khác sắp ra mắt, và hướng dẫn các loại captcha giải thích trạng thái của từng loại.

Bước tiếp theo