Cách kiểm tra công cụ trực tuyến không tải tệp của bạn lên
Kiểm tra ngày đo, môi trường và sự khớp với bản phát hành trước khi dùng biên nhận làm bằng chứng cho phiên bản hiện tại.
Vì sao xác minh thay vì tin tưởng
Khẳng định về cách xử lý có thể kiểm chứng được. Bất kỳ công cụ nào cũng có thể nói rằng tệp của bạn không bao giờ rồi khỏi thiết bị; khẳng định chỉ trở thành bằng chứng khi lưu lượng mạng trong một tác vụ thật có thể quan sát và lặp lại được. Hướng dẫn này dạy một phương pháp — quan sát trình duyệt đang gửi gì trong lúc công cụ làm việc — rồi cho thấy chính phương pháp đó vận hành như một hiện vật công khai thường trực, để các khẳng định về Toolars có thể được kiểm tra thay vì tin theo.
- Lợi hứa và bằng chứngNhãn là lợi hứa còn bản ghi là bằng chứng; khác biệt nằm ở chỗ bản ghi có thể phát lại, kiểm tra và bác bỏ.
- Một phương pháp, mọi công cụPhương pháp không phụ thuộc công cụ: nó chạy trong bảng mạng sẵn có của trình duyệt, mất khoảng một phút và dùng được trên bất kỳ trang web nào bạn muốn thử.
- Thử trên chính mìnhHướng dẫn này không nhắc tên dịch vụ nào khác và không khẳng định gì về hành vi của trang web nào khác; nó dạy cách kiểm tra, rồi minh họa trên chính bằng chứng mà Toolars công khai về mình.
Kiểm tra DevTools trong sáu mươi giây
Bảng Network giúp kiểm tra yêu cầu trong lúc thử nghiệm. Bằng chứng chỉ bao quát ngữ cảnh trình duyệt, kênh liên lạc và khoảng thời gian thực sự được ghi lại.
Tiếp tục ghi trong suốt quá trình xử lý và tải kết quả. Ghi rõ phiên bản, trạng thái trình duyệt và phạm vi thu thập. Riêng nhật ký DevTools không đảm bảo đã ghi được mọi kênh mạng có thể có.
- Mở và xóa trướcTrước tiên hãy mở trang của công cụ và bảng mạng — công cụ dành cho nhà phát triển, tab Network —, xóa nhật ký và để ghi tiếp. Tải trang luôn tạo ra các yêu cầu HTML, script và style; lưu lượng vỏ bọc đó là điều dự kiến.
- Dùng tệp có thể hy sinhChỉ chạy tác vụ cần kiểm tra với tệp thử nghiệm được tạo riêng. Yêu cầu nền vẫn có thể xuất hiện; hãy xem nội dung gửi đi trước khi gán chúng cho tác vụ.
- Quan sát hành độngNhấn hành động của công cụ và quan sát danh sách. Một công cụ cục bộ có thể tải mã, phông chữ hoặc tài nguyên engine ở lần đầu — và sau một lượt làm nóng, lý tưởng là không còn gì.
Đọc nhật ký: lưu lượng vỏ bọc không phải tệp của bạn
Kỹ năng cần có là phân biệt lưu lượng của trang với lưu lượng dữ liệu. Lưu lượng vỏ bọc đưa ứng dụng vào trình duyệt của bạn; lưu lượng dữ liệu mang nội dung đi. Biết cần nhìn gì, hai loại trông khác hẳn nhau trong bảng.
- Yêu cầu vỏ bọcScript, kiểu dáng, phông chữ và bộ máy xử lý là tài nguyên trang thông thường. Nhưng đường dẫn quen thuộc, phần mở rộng hay yêu cầu nhỏ không chứng minh rằng không có dữ liệu người dùng. Hãy kiểm tra đích đến và nội dung gửi đi.
- Dấu hiệu của việc tải lênDữ liệu tệp có thể được gửi đến cùng nguồn hoặc khác nguồn. Kiểm tra nội dung POST, PUT, multipart và các kênh dữ liệu khác. Chỉ phương thức, đích đến hay kích thước không chứng minh có tải tệp lên.
- Mở ra và xemKích thước đơn lẻ không chứng minh gì theo cả hai hướng: các khối nén, phiên có thể tiếp tục và WebSocket có thể chia nhỏ một lần truyền. Bằng chứng nằm ở phương thức, đích đến và nội dung của yêu cầu — hãy mở ra và xem.
Cache và service worker thay đổi những gì bạn thấy
Nhật ký mạng đo lần chạy này trong trạng thái trình duyệt này — và trạng thái đó chính là thứ mà cache và service worker tồn tại để thay đổi. Đọc nhật ký tốt nghĩa là kiểm soát trạng thái đó.
- Làm nóng là bình thườngỞ lượt truy cập lặp lại, trang web đã làm nóng phục vụ vỏ bọc từ đĩa hoặc service worker, và bảng hiển thị ít yêu cầu hơn hẳn so với lần đầu. Ít yêu cầu hơn sau khi làm nóng là dáng vẻ bình thường của một công cụ cục bộ — bản thân nó không chứng minh điều gì.
- Bắt đầu từ sạchĐể đọc sạch, hãy bắt đầu từ một hồ sơ trình duyệt mới hoặc cửa sổ riêng tư, bật tùy chọn vô hiệu hóa cache của bảng, và nhớ rằng chế độ riêng tư không chặn service worker trên mọi trình duyệt.
- Chặn workerScript công khai bắt đầu mỗi kịch bản trong ngữ cảnh trình duyệt mới và chặn Service Worker để giảm ảnh hưởng của trạng thái cũ. Vẫn cần ghi rõ tài nguyên đã tải trước và thời điểm bắt đầu đo.
Kiểm tra canary: đánh dấu tệp rồi tìm
Chèn dấu riêng biệt vào tệp thử, rồi tìm trong các yêu cầu đã ghi. Không khớp chính xác chỉ có nghĩa là chưa tìm thấy dấu. Mã hóa biểu diễn, nén, mã hóa bảo mật, gửi một phần hoặc thu thập thiếu đều có thể che dấu đó.
Kết hợp tìm dấu với kiểm tra nội dung gửi đi và ghi rõ phạm vi thu thập. Nêu những gì lần chạy này quan sát được và những gì chưa thể loại trừ.
- Đánh dấu tệpTạo một tệp có thể hy sinh và gắn một dấu bạn tự tạo và chưa từng công khai: một UUID ngẫu nhiên trong lớp chữ, bình luận ảnh, ghi chú PDF. Tính duy nhất là thứ làm nên ý nghĩa của một kết quả trùng khớp.
- Tìm trong lưu lượngTìm trong URL, tham số và nội dung yêu cầu đã ghi. Khớp dấu nghĩa là dấu xuất hiện trong một yêu cầu gửi đi được ghi lại; cũng cần kiểm tra trạng thái yêu cầu. Điều này không chứng minh toàn bộ tệp đã được truyền. Không khớp cũng không chứng minh rằng không có dữ liệu tệp rời khỏi thiết bị.
- Lặp lạiCanary chỉ bao phủ phiên được quan sát — đó là lý do các bản ghi định kỳ, lặp lại quan trọng hơn một lần kiểm tra thủ công kỹ lưỡng.
Bằng chứng Toolars công khai về chính mình
Toolars vận hành cùng phương pháp như một hiện vật công khai thường trực: tuyên bố xử lý có kiểu dữ liệu cho từng công cụ, trang Trung tâm tin cậy với lưu lượng đã ghi, và một biên nhận đọc được bằng máy nói rõ giới hạn của nó rõ ràng ngang kết quả.
- Host được tiết lộTrang Trung tâm tin cậy liệt kê mọi host bên ngoài mà vỏ bọc của trang web có thể chạm tới, các header bảo mật được phục vụ cùng phản hồi, và các bước tự kiểm tra mà bạn có thể chạy bằng tay trong chính bảng mạng đó.
- Biên nhận đọc được bằng máyBiên nhận xác minh đọc được bằng máy tại /privacy-proof/verification-receipt.json công khai các lệnh xác minh, kết quả kịch bản đã đo, các host bên ngoài được tiết lộ, và phiên bản phát hành để đối chiếu với header phản hồi X-Toolars-Release của trang web.
- Giới hạn trung thựcBiên nhận nói rõ điều nó không chứng minh cũng rõ ràng như điều nó chứng minh: cửa sổ được đo bao phủ lần chạy đó, không phải cuộc kiểm toán mọi thứ dịch vụ có thể làm trong tương lai.
Script kiểm chứng công khai với 6 kịch bản đã cấu hình
Kho mã mở cung cấp script chạy được trên trang công khai. Các kiểm tra chỉ bao quát yêu cầu và khoảng đo được ghi lại. Xem kết quả và giới hạn của mỗi lần chạy trong báo cáo tương ứng.
Harness nằm trong kho công khai https://github.com/aixtral/toolars-open, trong thư mục evidence-harness/. Nó được phát hành theo giấy phép MIT và kiểm tra trang web đã triển khai — chính thứ mà khẳng định nói đến — chứ không phải bản staging riêng.
- 6 kịch bản đã cấu hìnhScript cấu hình 6 kịch bản: chuyển đổi ảnh và tải kết quả, chuyển đổi HEIC, OCR, xoay PDF, chuyển tiếp CSV và chuỗi công cụ tùy chỉnh. Có cấu hình không có nghĩa là đã đạt; hãy xem trạng thái, khoảng đo và phiên bản phát hành của từng kịch bản trong báo cáo.
- Ba bất biếnCác kiểm tra đánh dấu tải lên được phát hiện, dấu canary khớp và yêu cầu khác nguồn bất ngờ. Proxy phân tích bên thứ nhất đã công bố được đếm riêng. Kết quả đạt chỉ áp dụng cho các kiểm tra trong khoảng đo, không loại trừ mọi khả năng truyền dữ liệu.
- Kiểm tra phiên bảnMột quy trình theo lịch đã được cấu hình để ghi nhận trang đang hoạt động. Kiểm tra lần chạy hoàn tất mới nhất, kết quả và mã bản phát hành. Biên nhận trên trang là mẫu lưu trữ và không được quy trình đó tự động cập nhật. Việc ghi nhận thất bại hoặc chưa hoàn tất tự nó không chứng minh có rò rỉ dữ liệu.
Tự chạy lại phép chứng minh
Một biên nhận chỉ đáng giá bằng khả năng tái tạo của nó. Harness được xây để bất kỳ ai cũng chạy được, với origin trực tiếp, kết quả ghi ra một tệp có thể kiểm tra từng dòng.
Không có yêu cầu nghĩa là bộ ghi không quan sát thấy yêu cầu trong khoảng đo đó. Lưu lượng chuẩn bị được ghi riêng không nằm trong khoảng này; kết quả không chứng minh hành vi ngoài các kênh, phiên bản hoặc phiên đã thu thập.
- Clone và xác minhClone kho, vào evidence-harness/, cài các phụ thuộc và một Chromium của Playwright, rồi chạy script xác minh với trang web trực tiếp làm origin đích.
- Mã thoát là phán quyếtLượt chạy ghi privacy-proof-receipt.json và kết thúc với mã khác không nếu điều gì đó ngoài dự kiến vượt qua ranh giới — một yêu cầu có phần thân, một canary trong URL, hoặc một host không nằm trong danh sách đã công bố của trang web.
- Chỉ siêu dữ liệuBiên nhận chỉ ghi siêu dữ liệu yêu cầu — phương thức, host, đường dẫn, loại tài nguyên, có phần thân hay không — chứ không bao giờ ghi nội dung tệp, phần thân yêu cầu hay phần thân phản hồi.
Điều phương pháp này không chứng minh được
Xác minh trung thực bao gồm cả ranh giới của chính nó. Biết chúng giúp bạn không đọc một dấu vết mạng sạch thành một bảo đảm mà nó chưa từng là.
- Một cửa sổMột dấu vết sạch bao phủ phiên được quan sát — lần chạy đó, trình duyệt đó, tệp đó. Nó không kiểm toán máy chủ của nhà cung cấp, con người họ, hay mã của họ trong tương lai.
- Thiết bị của bạn quan trọngĐiều gì rời khỏi thiết bị của bạn cũng phụ thuộc vào chính thiết bị đó: một trình duyệt bị xâm phạm, một tiện ích mở rộng độc hại hoặc một hồ sơ dùng chung có thể di chuyển dữ liệu độc lập với kiến trúc của bất kỳ công cụ nào.
- Bằng chứng thường trựcHãy coi mọi khẳng định về riêng tư — kể cả khẳng định của chính trang web này — là bằng chứng thường trực cần được chụp lại, chứ không phải bảo đảm trọn đời. Đó chính xác là lý do harness chạy lại theo lịch thay vì dựa vào một bản ghi đẹp.
Câu hỏi thường gặp
Làm sao để kiểm tra công cụ của trang web có tải tệp của tôi lên không?
Chuỗi chim hoang yến (canary) là gì?
Dấu vết mạng sạch có bảo đảm công cụ riêng tư không?
Xem bằng chứng thường trực.
Kiểm tra ngày đo, môi trường và sự khớp với bản phát hành trước khi dùng biên nhận làm bằng chứng cho phiên bản hiện tại.