3 điểm bởi GN⁺ 2026-02-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Một script tự động vượt qua quy trình xác minh độ tuổi dưới dạng người trưởng thành trên nhiều nền tảng
  • Khi dán và chạy mã trong console của Discord, nó sẽ tự động gửi yêu cầu API /age-verification/verify và chuyển đến trang hoàn tất xác minh
  • Trên các nền tảng khác như Twitch, Kick, Snapchat, cũng có thể xác minh theo cùng cách bằng cách nhập URL mã QR
  • Công cụ này lợi dụng cấu trúc xử lý dữ liệu khuôn mặt của hệ thống k-id để tạo ra metadata hợp lệ mà không cần khuôn mặt thật
  • Công cụ được tạo ra để đối phó với xu hướng mở rộng xác minh độ tuổi toàn cầu bằng cách sao chép mã hóa AES-GCM và cấu trúc dữ liệu dự đoán để vượt qua bước kiểm tra

Quy trình xác minh trên Discord

  • Cách làm là dán và chạy một script cụ thể trong developer console (F12) của ứng dụng web Discord
    • Script sẽ trích xuất webpack module cache của Discord, tìm API client nội bộ và gửi yêu cầu đến endpoint /age-verification/verify
    • URL verification_webview_url nhận được từ kết quả yêu cầu sẽ được chuyển hướng đến age-verifier.kibty.town
  • Người dùng chỉ cần giải captcha rồi chờ đến khi trang hiển thị “success” là hoàn tất xác minh
  • Qua quy trình này, tài khoản Discord sẽ được hiển thị ở trạng thái đã xác minh người trưởng thành

Cách xác minh trên các nền tảng khác (Twitch, Kick, Snapchat...)

  • Trên trang xác minh độ tuổi của từng nền tảng, chọn tùy chọn ‘selfie’ rồi sao chép URL của mã QR đang hiển thị
  • Dán URL đó vào ô nhập trên age-verifier.kibty.town rồi nhấn nút ‘verify’
  • Sau đó quy trình xác minh sẽ tự động diễn ra và hiển thị thông báo thành công

Nguyên lý hoạt động

  • Hệ thống xác minh độ tuổi k-id mà Discord sử dụng không gửi video khuôn mặt lên máy chủ, mà chỉ gửi metadata liên quan đến khuôn mặt và chi tiết quá trình xử lý
    • Nhờ cấu trúc này, nếu thao túng và gửi metadata trông hợp lệ, vẫn có thể vượt qua xác minh mà không cần khuôn mặt thật
  • Trước đây, sau khi k-id verifier của amplitudes được công khai, đối tác faceassure đã siết chặt việc kiểm tra, nhưng công cụ lần này tiếp tục vượt qua bằng một phương thức mới

Các bước kỹ thuật chi tiết

  • Bước 1: Sao chép tham số mã hóa
    • Khi so với yêu cầu hợp lệ, có thể thấy thiếu các giá trị encrypted_payload, auth_tag, timestamp, iv
    • Với mã hóa AES-GCM, khóa được tạo bằng cách dẫn xuất nonce + timestamp + transaction_id qua HKDF(SHA-256)
    • Tái tạo cùng cấu trúc đó để sinh ra các tham số còn thiếu
  • Bước 2: Thao túng dữ liệu dự đoán
    • Ngay cả khi sao chép hoàn hảo phần mã hóa vẫn thất bại, từ đó xác nhận rằng việc kiểm tra phụ thuộc vào ‘prediction arrays’ (outputs, primaryOutputs, raws)
    • Dựa trên dữ liệu raws, dùng z-score để loại bỏ ngoại lệ rồi tạo outputsprimaryOutputs
    • Ngoài ra còn có các điều kiện sau được kiểm tra
      • Giá trị xScaledShiftAmt, yScaledShiftAmt chỉ có thể thuộc một trong hai trường hợp
      • Tên media (camera) phải khớp với danh sách thiết bị thực tế
      • Thời điểm hoàn tất trạng thái phải khớp với timeline
  • Mã nguồn mở triển khai toàn bộ quy trình này đã được công bố và bất kỳ ai cũng có thể kiểm tra

Công bố và bối cảnh thực hiện

  • Tác giả gửi lời cảm ơn tới xyzeva, Dziurwaamplitudes, người từng thực hiện các công việc liên quan trước đó
  • Bài viết cho biết Discord dự kiến triển khai toàn diện xác minh độ tuổi toàn cầu vào tháng 3, nên tác giả đã khám phá một phương pháp mới để vượt qua bước kiểm tra tương ứng

1 bình luận

 
GN⁺ 2026-02-12
Ý kiến trên Hacker News
  • Cách chắc ăn thật sự là tạo đầu vào video nhân tạo thay vì dùng webcam thật
    Tôi nghĩ không nền tảng nào có thể chặn được chuyện này
    Kể cả nếu nền tảng yêu cầu đầu vào camera khó giả mạo như trên điện thoại, chỉ cần đặt camera trước một màn hình độ phân giải cao là xong
    Trò mèo vờn chuột này sẽ không kéo dài lâu

    • Tôi tự hỏi liệu các nền tảng có thật sự muốn chặn chuyện này hay không
      Xác minh tuổi bằng video selfie không hoàn hảo thực ra lại có lợi cho tất cả
      Người có đầu óc bình thường không phải tải bằng lái hay hộ chiếu lên, còn nền tảng thì dễ giữ chân người dùng hơn
      Các trang web khiêu dâm có thể tạo tài khoản người dùng để tăng theo dõi và doanh thu quảng cáo
      Chính trị gia có thể tuyên bố rằng họ đã “triển khai chính sách giới hạn độ tuổi”, còn phụ huynh thì yên tâm rằng con mình không xem nội dung khiêu dâm
      Rốt cuộc đây là một cấu trúc đôi bên cùng có lợi
    • Đã có sẵn những thiết bị có chức năng chứng thực phần cứng như camera Windows Hello
      Có vẻ các phương thức xác minh như thế này cuối cùng cũng sẽ đi theo hướng đó
      Có lẽ một trong những lý do Google thúc đẩy ứng dụng chỉ dành cho Play Store cũng là để tạo ra chuỗi phần mềm có thể xác minh kiểu này
    • Nếu không thể quét khuôn mặt thì có thể chuyển sang xác minh ID
      Cuối cùng đây chỉ là vấn đề gạt một công tắc
    • Có tin đồn Apple sẽ thêm cảm biến hình ảnh đa phổ vào iPhone thế hệ tiếp theo
      Kết hợp với lập bản đồ 3D thì mánh chiếu một màn hình đơn giản sẽ không còn hiệu quả
      Vấn đề là các dịch vụ xác minh tuổi như Discord không thật sự nghiêm túc trong việc thử làm điều đó
    • Tôi đồng ý rằng trò này sẽ không kéo dài lâu, nhưng vì lý do khác
      Tôi đơn giản là sẽ không chơi trò đó nữa và ngừng dùng nền tảng
  • Cách này có ba vấn đề

    1. Nó làm giảm sự bất tiện của việc xác minh tuổi, khiến mọi người ở lại trong hệ sinh thái đóng
    2. Nó biện minh cho các hình thức xác minh xâm nhập hơn với lý do “các cách thân thiện với quyền riêng tư quá dễ bị qua mặt”
    3. Nó dẫn người dùng tới chỗ chạy mã tùy ý khi đang đăng nhập tài khoản
    • Chứng minh rằng điều gì đó có thể làm được khác với việc khuyến khích người khác làm nó
      Đây là một ví dụ tuyệt vời về reverse engineering, cho thấy việc xác minh mà không xâm phạm quyền riêng tư khó đến mức nào
      Vì mã đã được công khai nên vấn đề chạy mã tùy ý (#3) không áp dụng ở đây
      Nếu doanh nghiệp phản ứng bằng cách dùng phương pháp xâm nhập hơn (#2), người dùng luôn có thể chuyển sang nền tảng khác
  • Tôi thấy đây là một ý tưởng khá thông minh
    Có vẻ Discord đã nới lỏng xác minh tuổi chỉ đủ để có thể nói với cơ quan quản lý rằng họ đang “làm gì đó để bảo vệ trẻ em”
    Nhưng nếu chính phủ giám sát nghiêm túc thì cách tiếp cận này sẽ không tồn tại lâu
    Một số quốc gia đã yêu cầu xác thực sinh trắc học mạnh hơn, và một số dịch vụ đang chuyển sang xác minh dựa trên ứng dụng di động
    Những mẹo dựa trên JavaScript đơn giản sẽ ngày càng bớt hiệu quả

  • Tôi khuyên nên bọc đoạn mã thực thi trong một IIFE
    Trên Safari của macOS, top-level await không được hỗ trợ nên nó không chạy
    Xem thêm tại caniuse.com/wf-top-level-await

    • Safari tỏ ra không muốn hỗ trợ các tiêu chuẩn web hiện đại
      Nó đã tụt hậu khoảng 5 năm rồi
  • Tôi thử thì bị chuyển hướng tới https://age-verifier.kibty.town/webview?url=null
    và hiện thông báo {"error":"error parsing webview url"}
    Có vẻ tài khoản Discord của tôi đang nằm trong thử nghiệm A/B nên dùng nhà cung cấp xác minh khác là Persona

    • Persona được biết đến là công ty thu thập và chia sẻ dữ liệu, kiểu như phải đưa giấy tờ tùy thân khi vào quán bar
      Tìm kiếm sẽ thấy thêm nhiều thông tin
    • Tweet liên quan: https://x.com/xyz3va/status/2021734252505604108
    • Mong là bình luận này sẽ lên đầu để đội ngũ bảo mật nhìn thấy
  • Nó thật sự hoạt động
    Tôi nhận được thông báo từ Discord rằng mình đã được “phân loại vào nhóm người lớn”
    (thuyết minh) Và ngay khoảnh khắc đó, tôi nhận ra tài khoản của mình đã bị hack ;)

    • Tôi cũng làm được
      Hy vọng tài khoản 11 năm tuổi của tôi sẽ không gặp vấn đề gì, nhưng nếu họ đòi khuôn mặt hay ID thì tôi sẽ xóa tài khoản luôn
    • Có lẽ sẽ vui hơn nếu xác minh bằng nhân vật g-man trong Half-Life
    • Cho chắc ăn, sau đó tôi đã đổi mật khẩu
  • Tôi không hiểu vì sao thế hệ trẻ lại bám chặt vào những dịch vụ thù địch với họ như vậy
    Có phải sự tiện lợi của việc ở lại nền tảng mình ghét lớn hơn công sức tìm giải pháp thay thế không?

    • Câu “tìm giải pháp thay thế chỉ tốn ít công” giả định rằng người ta có nền tảng kỹ thuật cơ bản
      Nhiều người trẻ ngày nay thậm chí còn xa lạ với terminal hay khái niệm đường dẫn tệp
      Họ có thể tìm kiếm, nhưng tự thiết lập một giải pháp thay thế lại là chuyện khác
      Quan trọng hơn, họ còn thiếu nhận thức rằng giải pháp thay thế có thể tồn tại
    • Ngoài hiệu ứng mạng lưới, còn có chuyện thiếu giải pháp thay thế thực tế
      Những nền tảng mở như Matrix vẫn còn thiếu tính năng, và Discord hiện là lựa chọn ít tệ nhất
    • Cuối cùng lý do rất đơn giản — hiệu ứng mạng lưới
      Bạn bè tôi ở đó nên tôi cũng ở đó
    • Phần lớn các cộng đồng Discord không phải do tôi kiểm soát
      Mỗi lần chuyển nền tảng là thành viên giảm và cộng đồng tan rã
      “Chút ít công sức” trên thực tế lại là giết chết cả cộng đồng
    • Cũng giống lý do người trung niên vẫn dùng Facebook Marketplace
      Dù dùng nền tảng khác thì cuối cùng cũng chỉ còn một mình
      Gần như không thể khiến mọi người chuyển đi cùng lúc
  • Tôi đã qua captcha trên Discord, nhưng
    lại hiện lỗi {"error":"failed to execute k-id privately action (status=404)"}
    Tôi rõ ràng là người trưởng thành, nên quy trình này thật vô lý
    Có bị chặn tôi cũng không quan tâm

    • Tôi cũng gặp lỗi đó, nhưng tải lại trang thì chạy được
    • Có vẻ còn có các bước khác được thể hiện trong mã
  • Tóm tắt tin liên quan

  • Trò mèo vờn chuột của xác minh tuổi kỹ thuật số tạo ra gánh nặng quản lý khổng lồ
    Nếu có thể bị vượt qua dễ dàng như vậy thì các nền tảng chỉ đang tích vào ô kiểm tuân thủ quy định,
    còn nền tảng niềm tin thực tế thì cực kỳ mong manh

    • Có một cách có thể làm hài lòng tất cả mọi người
      Nhưng doanh nghiệp không thích vì họ không thể thu được dữ liệu người dùng trưởng thành đã được xác minh
      Xem thêm tại blog Age Assurance Europe của Google
    • Không thể hoàn hảo được
      Mục tiêu của những hệ thống như vậy không phải là chặn tuyệt đối, mà là thêm ma sát để công chúng không thể dễ dàng vượt qua