Xác minh relay trả về phản hồi chính thức
Dán một phản hồi API có kèm bằng chứng vào trình xác minh bên dưới. Công cụ kiểm tra chữ ký ngay trong trình duyệt và cho bạn biết phản hồi đến từ host upstream chính thức nào, relay có thay đổi nó hay không. Dữ liệu của bạn không rời khỏi máy tính.
- Chỉ ở trong trình duyệt
- Trình xác minh mã nguồn mở
- Miễn phí, không cần đăng ký
Xác minh phản hồi trong ba bước
- 1
Bật xác minh cho khóa API
Trên trang API, bật "Xác minh chính thức" cho khóa. Chỉ các phản hồi Claude Messages và GPT Responses được chuyển tiếp nguyên trạng mới kèm bằng chứng.
- 2
Lưu toàn bộ phản hồi
Gửi một yêu cầu streaming và ghi nguyên trạng các byte phản hồi vào tệp bằng curl -o; cuối tệp phải có event: tee.proof. Với yêu cầu không streaming, thêm header x-wokey-tee-proof-mode: multipart và lưu toàn bộ phản hồi multipart. Trên Windows, hãy dùng curl.exe -o thay vì chuyển hướng > của PowerShell hoặc lưu lại bằng Notepad, vì chúng làm thay đổi ký tự xuống dòng hoặc mã hóa.
- 3
Dán vào trình xác minh
Dán hoặc kéo thả toàn bộ phản hồi vào trình xác minh bên dưới và bắt đầu kiểm tra. Việc kiểm tra chạy trong trình duyệt trên trang này và không gửi yêu cầu mạng nào.
curl -sN https://api.wokey.ai/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":256,"stream":true,"messages":[{"role":"user","content":"Hello"}]}' \
-o captured-responseTrình xác minh ở trên được phát hành trực tiếp từ kho mã nguồn mở qua GitHub Pages và không đi qua máy chủ của Wokey, nên Wokey không thể thay bằng một bản luôn báo "đạt". Bạn cũng có thể lưu trang về máy và mở khi không có mạng.
Trình xác minh yêu cầu bạn kiểm tra PCR0, tức giá trị đo của image enclave. Hãy dùng giá trị được công bố trong kho mã nguồn mở, mà bất kỳ ai cũng có thể tái tạo từ mã nguồn, chứ không dùng giá trị đi kèm phản hồi.
Cách đọc kết quả
- Tất cả đều đạt
- Attestation nối chuỗi đến gốc AWS Nitro, PCR0 khớp với giá trị công bố, chữ ký hợp lệ và các byte phản hồi khớp với hash đã ký. Host upstream được hiển thị (ví dụ api.anthropic.com) là nơi phản hồi xuất phát, và relay không thay đổi nó.
- Bằng chứng hợp lệ, thiếu nội dung phản hồi
- Bạn chỉ dán sự kiện tee.proof. Bằng chứng do một enclave thật ký, nhưng thiếu nội dung thì không tính lại được hash, nên không chứng minh được nội dung bạn thấy chưa bị thay đổi. Hãy dán toàn bộ phản hồi.
- PCR0 không khớp
- Attestation là thật, nhưng enclave không chạy image đã được kiểm toán. Hãy xem phản hồi này là chưa được chứng minh.
- Kiểm tra chữ ký hoặc hash thất bại
- Bằng chứng hoặc phản hồi đã bị sửa, hoặc các byte bị thay đổi khi lưu hay sao chép (ví dụ chuyển đổi mã hóa). Lưu lại phản hồi gốc bằng curl -o; nếu vẫn thất bại, đừng tin phản hồi đó. Khi công cụ lưu tệp đổi ký tự xuống dòng thành CRLF hoặc lưu tệp dưới dạng UTF-16, trình xác minh sẽ chuyển lại và thông báo; kết quả vẫn do hash đã ký quyết định.
- Không có tee.proof
- Phản hồi chưa được chứng minh: khóa có thể chưa bật xác minh, yêu cầu đã qua chuyển đổi định dạng, hoặc enclave lúc đó không khả dụng. Hãy xem nó là chưa được chứng minh.
Kiểm tra các relay khác: mỗi cách phát hiện được gì và bỏ sót gì
Không có chữ ký upstream thì chỉ có thể kiểm tra gián tiếp. Các cách này phát hiện được vấn đề rõ ràng, nhưng kết quả tốt nhất chỉ là "không thấy gì đáng ngờ", không bao giờ là "đã xác nhận chính thức". Dưới đây là các cách phổ biến và giới hạn của chúng.
| Cách | Thực hiện | Phát hiện | Bỏ sót |
|---|---|---|---|
| Số token | Thực hiện: Gửi cùng một prompt cố định đến cùng một mô hình trên API chính thức và trên relay, rồi so sánh input_tokens trong usage. | Phát hiện: Mô hình của nhà cung cấp khác: tokenizer khác nhau giữa các nhà cung cấp nên số token sẽ lệch rõ ràng. | Bỏ sót: Các mô hình cùng một nhà cung cấp thường dùng chung tokenizer, nên mô hình rẻ hơn cùng dòng sẽ không bị phát hiện. Bạn cũng cần một số đếm tham chiếu chính thức. |
| Cache prompt | Thực hiện: Gửi hai lần cùng một tiền tố dài hơn độ dài tối thiểu có thể cache của mô hình. Kiểm tra phản hồi thứ hai có báo cache_read_input_tokens và được tính phí theo giá đọc cache hay không. | Phát hiện: Backend không phải upstream chính thức, hoặc relay làm hỏng cache nhưng vẫn tính giá đầy đủ. | Bỏ sót: Trúng cache chỉ cho thấy backend hỗ trợ cache, không cho biết đó là mô hình nào. |
| Ngữ cảnh dài | Thực hiện: Gửi văn bản gần với giới hạn ngữ cảnh được công bố, giấu một thông tin quan trọng ở giữa rồi hỏi về nó. | Phát hiện: Mô hình có ngữ cảnh nhỏ hơn giả làm mô hình thật, hoặc relay âm thầm cắt bớt lịch sử. | Bỏ sót: Trả lời đúng không chứng minh được phiên bản mô hình, và đây là cách tốn nhiều token nhất. |
| Chi tiết giao thức | Thực hiện: So sánh thứ tự sự kiện streaming (từ message_start đến message_stop), định dạng message id, header và dạng lỗi với tài liệu chính thức. | Phát hiện: Các lớp vỏ thô sơ ép đầu ra của mô hình khác vào định dạng Claude. | Bỏ sót: Mọi trường này đều dễ làm giả; một lớp vỏ cẩn thận có thể khớp y hệt. |
Những cách không nên dựa vào
- Hỏi mô hình "bạn là ai" hoặc "kiến thức của bạn đến thời điểm nào": chính các mô hình chính thức cũng thường trả lời sai, và relay có thể dùng system prompt để bắt bất kỳ mô hình nào tự nhận là Claude.
- Đánh giá chất lượng hoặc tốc độ trả lời theo cảm giác: prompt, tải và tính ngẫu nhiên ảnh hưởng quá lớn; chỉ nên xem là gợi ý.
Vì sao không có công cụ quét một chạm cho mọi relay
- Muốn quét thì phải gửi yêu cầu bằng khóa API của bạn tại relay đó. Chuyển chúng qua máy chủ của chúng tôi đồng nghĩa với giao cho chúng tôi khóa của dịch vụ khác, điều chúng tôi không muốn giữ.
- Gọi relay trực tiếp từ trình duyệt sẽ thất bại vì hầu hết relay không cho phép yêu cầu cross-origin.
- Các cách kiểm tra ở trên chỉ có thể nói "đáng ngờ" hoặc "không thấy gì". Gói chúng thành một điểm số sẽ trông có vẻ đáng tin nhưng gây hiểu lầm.
Danh sách tự kiểm tra relay
Trước khi chọn relay, hoặc khi bạn nghi ngờ relay đang dùng, hãy kiểm tra theo thứ tự sau:
- Phản hồi có kèm bằng chứng upstream mà bạn có thể xác minh ngoại tuyến không? Nếu có, host upstream được ký có phải là host chính thức, ví dụ api.anthropic.com với Claude?
- input_tokens của một prompt cố định có khớp với API chính thức không?
- Sau khi lặp lại một tiền tố dài, phản hồi có báo đọc cache và được tính theo giá cache không?
- Ngữ cảnh gần giới hạn được công bố có được xử lý mà không bị cắt bớt không?
- Relay có công khai nguồn upstream và việc có ghi log hay lưu nội dung yêu cầu không?
- Nếu một relay không thể xác minh, đừng gửi cho nó bí mật, dữ liệu khách hàng hay nội dung nhạy cảm khác.
Bằng chứng cho thấy gì và không cho thấy gì
Cho thấy
- Phản hồi đến từ host upstream chính thức nào.
- Các byte phản hồi đúng y như upstream trả về, kể cả trường model; relay không thay đổi gì.
- Enclave chạy image được build từ mã nguồn công khai (PCR0 có thể tái tạo).
Không cho thấy
- Tính bảo mật: relay vẫn xử lý văn bản gốc khi chuyển tiếp.
- Các phản hồi không kèm bằng chứng, như yêu cầu đã chuyển đổi định dạng và tạo ảnh.
- Việc phát lại một phản hồi cũ giữa các yêu cầu giống nhau từng byte.
Câu hỏi thường gặp
Phản hồi tôi dán có bị tải lên đâu không?
Không. Trình xác minh là một trang chỉ chạy phía trình duyệt, kiểm tra chữ ký bằng WebCrypto có sẵn trong trình duyệt và không gửi yêu cầu mạng nào. Bạn có thể xác nhận trong tab Network của công cụ dành cho nhà phát triển, hoặc lưu trình xác minh về máy và dùng ngoại tuyến.
Relay API AI có hợp pháp không?
Điều đó phụ thuộc vào luật nơi bạn và relay hoạt động, cũng như điều khoản sử dụng của nhà cung cấp upstream, vốn khác nhau theo khu vực và nhà cung cấp; trang này không phải tư vấn pháp lý. Hãy đọc điều khoản của upstream và quy định tại nơi bạn ở trước khi sử dụng, nhất là với dữ liệu nhạy cảm hoặc chịu quản lý. Công cụ này chỉ trả lời một câu hỏi có thể kiểm tra về mặt kỹ thuật: phản hồi bạn nhận có phải là bản gốc từ upstream chính thức hay không.
Làm sao biết relay có đang phục vụ mô hình bị "giảm trí tuệ" không?
Mô hình có cảm giác kém hơn khi đi qua relay thường do một trong các nguyên nhân: âm thầm đổi sang mô hình rẻ hơn, cắt bớt lịch sử hội thoại, hạ giới hạn đầu ra, hoặc tắt chế độ suy nghĩ. Một phản hồi đã được chứng minh loại trừ nguyên nhân đầu tiên: chữ ký bao trùm các byte gốc từ upstream, nên trường model đến từ API chính thức. Việc cắt bớt và đổi tham số xảy ra ở phía yêu cầu, nằm ngoài phạm vi bằng chứng phản hồi; các cách kiểm tra ngữ cảnh dài và số token ở trên sẽ giúp ích trong trường hợp đó.
Trang mirror Claude khác gì trang chính thức?
Sản phẩm chính thức là claude.ai và Anthropic API. Trang mirror là trang chat của bên thứ ba, có thể dùng API chính thức, tài khoản dùng chung hoặc mô hình của nhà cung cấp khác, với tính năng và chính sách quyền riêng tư riêng, và người dùng thường không biết được là loại nào. Nếu bạn dùng API từ các công cụ như Claude Code hay Cursor, câu hỏi là về relay API, và cách kiểm tra cũng vậy: nó có đưa ra được bằng chứng upstream mà bạn tự xác minh được không?
Nếu phản hồi không có tee.proof thì sao?
Kiểm tra xem khóa đã bật "Xác minh chính thức" chưa và bạn có đang gọi route chuyển tiếp nguyên trạng là Claude Messages hoặc GPT Responses không. Các yêu cầu đã chuyển đổi định dạng, như gọi Claude qua Chat Completions, không bao giờ kèm bằng chứng. Nếu enclave tạm thời không khả dụng, yêu cầu sẽ chuyển sang đường dự phòng và phản hồi đó cũng không có bằng chứng. Hãy xem mọi phản hồi không có bằng chứng là chưa được chứng minh.
Tôi có thể dùng công cụ này để xác minh relay khác không?
Trình xác minh chỉ kiểm tra các phản hồi kèm bằng chứng Proof-of-Observation. Giao thức này là mã nguồn mở và bất kỳ relay nào cũng có thể triển khai; với các relay chưa triển khai, chỉ áp dụng được các cách kiểm tra gián tiếp ở trên, và kết quả tốt nhất là "không thấy gì đáng ngờ".