Paint và Photos của Microsoft âm thầm nhúng GUID từ máy chủ làm hình mờ ẩn trong ảnh AI tạo cục bộ
Nghiên cứu mới phát hiện Microsoft Paint và Photos nhúng một GUID do máy chủ cấp làm hình mờ ẩn vào từng pixel của hình ảnh do AI tạo tại địa phương. Dù quá trình tạo ảnh có thể chạy cục bộ trên NPU, prompt vẫn được gửi lên máy chủ từ xa để kiểm duyệt và nhận lại mã định danh duy nhất. Phát hiện này có ý nghĩa quan trọng về quyền riêng tư và tính minh bạch cho người dùng Windows.

Microsoft Paint và Photos âm thầm nhúng GUID từ máy chủ làm hình mờ ẩn trong ảnh AI
Một nghiên cứu đảo ngược mới đây đã hé lộ chi tiết quan trọng: cả Microsoft Paint và Photos đều nhúng một GUID do máy chủ cấp phát làm hình mờ ẩn vào các hình ảnh do AI tạo - ngay cả khi quá trình tạo ảnh diễn ra hoàn toàn cục bộ. Điều này đồng nghĩa với việc "tạo ảnh tại chỗ" không có nghĩa là hoạt động hoàn toàn ngoại tuyến, vì prompt vẫn phải đi qua máy chủ kiểm duyệt của Microsoft.
Khám phá này đặt ra những câu hỏi đáng chú ý về quyền riêng tư, tính minh bạch và cách Microsoft triển khai hệ thống xác thực nguồn gốc nội dung AI tới người dùng Windows.
Hình mờ ẩn - lớp bảo mật thứ hai ít được biết đến
Nhà nghiên cứu bảo mật đã phân tích file Watermarker.dll trong cả Paint và Photos, nhận thấy kích thước bất thường (1.67 MB) của file này so với chức năng hình mờ nhìn thấy đơn giản trên lý thuyết. Điều này dẫn tới việc tìm kiếm và phát hiện ra hàm WmkWriteWatermark - một cơ chế nhúng hình mờ ẩn hoàn toàn riêng biệt so với logo Copilot hiển thị ở góc ảnh.
Cài đặt hình mờ nhìn thấy trong Paint
Hàm WmkWriteWatermark chấp nhận payload 16 byte, sau đó được xác nhận chính là một GUID (winrt::guid). Nó thực hiện các thay đổi lượng tử hóa nhỏ trên các khối pixel được chọn, áp dụng thuật toán watermark dạng SVD (singular value decomposition) thích ứng với nội dung. Với một ảnh 512x512 pixel tổng hợp, có tới 193.376 trên tổng số 262.144 pixel bị thay đổi sau khi áp dụng watermark.
Nếu
WmkWriteWatermarkthất bại, toàn bộ quá trình tạo ảnh trong Paint sẽ được chuyển thành lỗi, thay vì trả về ảnh không có hình mờ.
GUID đến từ máy chủ kiểm duyệt prompt
Điểm mấu chốt của phát hiện này nằm ở nguồn gốc GUID. Trước khi chạy mô hình tạo ảnh cục bộ, Paint gửi prompt và style tới endpoint từ xa:
https://apsaiservices-a0fqcjc6bzbhgdcd.b02.azurefd.net/v1/paint-cocreator/moderate-prompt
Máy chủ trả về JSON chứa revisedPrompt, promptGenerationId, watermarkId và containsHumanReference. Nhà nghiên cứu đã xác nhận điều này bằng cách gửi prompt "a cobalt blue circle above a tiny orange square" và nhận về watermarkId là chuỗi GUID cụ thể.
Thuộc tính DLL Watermarker
GUID này sau đó được nhúng trực tiếp vào pixel của ảnh do mô hình Stable Diffusion tạo cục bộ trên NPU. Mỗi lần tạo ảnh mới, Paint cũng gửi kèm promptGenerationId trước đó, cho phép Microsoft liên kết các yêu cầu liên tiếp.
C2PA - hai lớp của cùng một hệ thống xác thực
Khi lưu ảnh được tạo bằng Image Creator, Paint chỉ cho phép định dạng PNG - một sự hạn chế có chủ đích. Phân tích các chunk PNG cho thấy một chunk caBX dài 18.979 byte chứa manifest C2PA đã ký, trong đó có:
{
"c2pa.soft-binding": {
"alg": "com.microsoft.invismark.1",
"value": "83424621-03cb-40e3-9808-a9fae837156d"
},
"c2pa.actions.v2": {
"actions": [
{
"action": "c2pa.watermarked",
"description": "Content watermarked by Microsoft Responsible AI"
}
]
}
}
Giá trị trong manifest C2PA hoàn toàn khớp với watermarkId nhúng trong pixel. Đây chính là "soft binding" - một cơ chế cho phép khớp nội dung với bản ghi provenance ngay cả khi manifest file cấp độ bị xóa.
Giới hạn định dạng lưu PNG
Việc Paint giới hạn định dạng xuất có chủ đích: PNG, JPEG, GIF và .paint là các định dạng hỗ trợ nhúng C2PA, trong khi BMP - định dạng cổ điển của Paint - hoàn toàn không có khả năng này.
Photos cũng áp dụng cơ chế tương tự
Không chỉ Paint, Microsoft Photos cũng chứa Watermarker.dll và sử dụng cùng một hàm WmkWriteWatermark cho các tính năng Image Creator và Restyle Image. Điểm khác biệt duy nhất là cách xử lý lỗi: Photos chỉ ghi log và tiếp tục trả về ảnh, trong khi Paint coi thất bại watermark là lỗi toàn bộ quá trình.
Đáng chú ý, trong trường hợp Photos, watermarkId được lấy trực tiếp từ promptGenerationId do máy chủ trả về, thay vì một trường watermarkId riêng biệt như Paint.
Quyền riêng tư và nghĩa vụ minh bạch
Microsoft có công bố trên trang hỗ trợ rằng ảnh được tạo bởi AI sẽ chứa C2PA manifest và rằng dịch vụ sử dụng bộ lọc nội dung từ xa. Tuy nhiên, trang này không giải thích rằng manifest chứa GUID xác định watermark ẩn trong pixel, hay rằng đường dẫn tạo ảnh cục bộ vẫn phụ thuộc hoàn toàn vào máy chủ từ xa.
Phát hiện này có liên quan trực tiếp tới Điều 50 của EU AI Act, yêu cầu nội dung AI phải có dấu hiệu phát hiện được và máy đọc được. Việc Microsoft gửi prompt lên máy chủ kiểm duyệt và nhận lại GUID có thể tiết lộ thói quen sử dụng của người dùng, đồng thời tạo ra một lớp thông tin mà người dùng Windows thông thường khó có thể nhận biết được sự tồn tại của nó.
Nhà nghiên cứu cũng chỉ ra một số câu hỏi bảo mật mở: liệu endpoint tạo ảnh từ xa có thể bị điều chỉnh để bỏ qua watermark và C2PA hay không, và nếu có thì đó là hành vi có chủ đích, lỗi sản phẩm hay lỗ hổng bảo mật - tùy thuộc vào ranh giới tin cậy mà Microsoft định nghĩa.