How we're building Scam Alert on WhatsApp
Bài tóm tắt WhatsApp 2026 3. Quy mô lớn Độ khó: Khó
WhatsApp · 2026 · 3. Quy mô lớn · Độ khó: Khó — bài gốc
Bối cảnh
- Lừa đảo chuyển từ mạo danh sang social engineering và mồi nhử do AI tạo. Server không đọc được tin (E2EE), nên không thể quét tin ở server.
- Model phân loại văn bản nay đủ nhỏ để chạy trên điện thoại mà không tốn pin, hiệu năng hay dung lượng như trước.
Thay đổi chính
- Scam Alert: tuỳ chọn; bật lên thì tải một model về máy, phân loại tin từ người không có trong danh bạ. Model huấn luyện từ các cuộc trò chuyện lừa đảo mà user đã báo cáo. Nghi lừa đảo thì hiện cảnh báo chỉ mình user thấy; user chặn, báo cáo, hoặc đánh dấu tin cậy (có thể tự chọn gửi 5 tin gần nhất để cải thiện model).
- Không tự báo cáo: không có nội dung hay cả sự kiện "đã phát hiện" nào về server nếu user không chủ động báo.
- Đo mà không thấy (confidential federated analytics): chỉ thu hai loại số đếm (số lần cảnh báo, số lần user tin/chặn) để đo precision và tỉ lệ báo nhầm.
- Client tự gộp thành số đếm, gửi vào thời điểm ngẫu nhiên, không có định danh thiết bị, thời gian chỉ ở mức thô.
- Gửi qua OHTTP relay (bỏ IP) và anonymous credential; mở phiên RA-TLS với TEE và đối chiếu mã với ledger bên thứ ba; client từ chối gửi nếu tham số riêng tư (ε, δ của differential privacy, ngưỡng k-anonymity) không đạt mức tối thiểu gắn trong app.
- Orchestrator TEE stateless gom lô; aggregator TEE cộng dồn vào histogram, bỏ số liệu riêng lẻ, cắt nhóm quá nhỏ, thêm nhiễu, giới hạn số lần công bố để không vượt ngân sách riêng tư. Meta chỉ nhận số gộp có nhiễu.
- Pipeline gộp trong thời gian dài nên định kỳ lưu checkpoint mã hoá (khoá không rời TEE) để crash không phải đo lại từ đầu.
- Nền tảng là hệ PAPAYA của Meta (NSDI 2025).
- Không giao model riêng cho một người: model tải từ CDN để cập nhật không cần bản app mới. Mỗi bản model (kể cả bản thử nghiệm) có manifest chứa SHA-256; digest của manifest do Cloudflare ký (Meta không giữ khoá) rồi đưa lên ledger append-only trước khi phục vụ ai. Client kiểm chữ ký bằng public key Cloudflare gắn cứng, đối chiếu ledger (kèm kiểm độ mới chống replay), kiểm hash từng asset; sai một bước là không nạp. Yêu cầu tải đi qua OHTTP và credential ẩn danh.
- Thử nghiệm riêng tư: client tự chia nhóm bằng số ngẫu nhiên cục bộ, server không lái được ai vào biến thể nào; cấu hình thí nghiệm chỉ được mở rộng, không thu nhỏ, có kích thước nhóm tối thiểu; metric của từng nhóm đi qua cùng pipeline trên, nhóm quá nhỏ bị TEE chặn.
- Kiểm được hành vi model: công bố trọng số; user xem log trong app (tin nào được quét, kết quả, model nào); bug bounty cho kiến trúc riêng tư và độ toàn vẹn model trước beta.
Bài học cho SWE
- Khi không được thấy dữ liệu, vẫn đo được chất lượng model bằng số đếm gộp trong TEE cộng differential privacy, với client giữ quyền từ chối.
- Phát hành model như phát hành binary nhạy cảm: hash, chữ ký bên thứ ba, log append-only trước khi phục vụ.
- Gán biến thể A/B ở client là cách chặn việc dùng thí nghiệm để nhắm một người.
Liên quan
Mã hoá đầu cuối và hệ thống mà server không được đọcNền tảng ML (feature, training, serving, giám sát model)Thử nghiệm A/B và nền tảng experimentationObservability và monitoring
#Scam Alert#On-device ML#Confidential federated analytics#Differential privacy#k-anonymity#TEE#OHTTP#Anonymous credentials#Transparency ledger#Model manifest#Client-side experiment assignment#Encrypted checkpoint#PAPAYA
Được nhắc tới trong
Chủ đề (4)
Công ty (1)