AI

Редакция Overclock.bg ·

Microsoft крие ваш идентификатор в AI водни знаци

Microsoft крие ваш идентификатор в AI водни знаци

Изображенията, които генерирате с Paint и Photos в Windows, носят в пикселите си невидим 16-байтов идентификатор, издаден от сървър на Microsoft и свързан с конкретния ви промпт. Това показва анализ на Xusheng Li, разработчик във Vector 35 (компанията зад Binary Ninja), публикуван на 20 август 2026 г. и подхванат от The Register на 25 август. Microsoft не коментира публично находката.

Какво точно е намерено

Li реверс-инженерира Paint 11.2605.71.0 и Photos 2026.11060.2004.0 — библиотеките Watermarker.dll, PaintAIManager.dll, AIServices.dll и provenancesdk.dll, плюс криптираните ONNX модели в папката на приложението.

Схемата изглежда така. Преди каквото и да е генериране промптът ви пътува до модериращ endpoint в Azure Front Door. Отговорът съдържа три интересни полета:

{
  "revisedPrompt": "...",
  "promptGenerationId": "74d9e06b-adea-43ce-85fe-186a26e2e34a",
  "watermarkId": "83424621-03cb-40e3-9808-a9fae837156d",
  "containsHumanReference": false
}

watermarkId е GUID-ът, който после се вписва в самите пиксели. Кодиращият алгоритъм сглобява 18-байтово съобщение (маркер 0x4c, GUID-ът и контролен байт), разгъва го в 144 бита и ги разпръсква в блокове по изображението — всеки бит поне три пъти, за да оцелее при преоразмеряване и прекомпресиране. В тестово изображение 512×512 това променя около 193 000 от 262 144 пиксела. Изображения под 192×192 не могат да бъдат маркирани изобщо.

Вторият идентификатор, promptGenerationId, се връща на сървъра при следващата ви заявка като lastPromptGenerationId. Тоест сесиите ви от последователни опити се навързват изрично — нещо, което по нищо не личи от интерфейса.

Локалното генериране не е офлайн

Най-неудобният детайл засяга Cocreator в Paint, който върти модела локално на NPU. Дори там промптът отива до Microsoft за модерация, а готовото изображение се връща онлайн за подписване с C2PA манифест. В манифеста водният знак е записан като soft binding:

"c2pa.soft-binding": {
  "alg": "com.microsoft.invismark.1",
  "value": "83424621-03cb-40e3-9808-a9fae837156d"
}

Смисълът на soft binding е, че дори да изчистите метаданните на файла, GUID-ът остава в пикселите и съдържанието може да бъде свързано обратно с манифеста си. Именно затова AI изображенията в Paint се записват само в C2PA-съвместими формати — PNG, JPEG, GIF и собствения .paint. BMP не е опция.

Двете приложения се държат различно при провал на маркирането: Paint третира това като провалено генериране и не ви връща изображение, докато Photos записва грешка в лога, но връща немаркирания файл. В Photos пък promptGenerationId се ползва директно като GUID на водния знак — тоест връзката с промпта е още по-пряка.

Защо това има значение

Самото маркиране не е скандал — Microsoft е сред основателите на C2PA, а европейският Code of Practice за прозрачност на AI съдържанието изисква машинно четим маркер. Проблемът, който Li посочва, е друг: идентификаторът не е родов етикет „това е AI“, а уникален номер, вързан за конкретно модериращо събитие.

Ако Microsoft пази съответствие между промптите и акаунтите, които са ги изпратили — а няма причина да не пази, при положение че модерацията минава през нейни сървъри — то от произволно изображение в интернет може по принцип да се стигне до потребителя, който го е направил. Документацията на Paint и FAQ-ът за отговорен AI на Photos описват и C2PA метаданните, и отдалеченото филтриране, но никъде не обясняват сървърния GUID, връзката му с промпта и присъствието му в пикселите.

Това е класическият сюжет на последните месеци: функция с легитимна цел, която пътьом произвежда траен идентификатор. Същият модел видяхме и при аудио отпечатъците на AliExpress, а въпросът кой отговаря, когато алгоритъм маркира човек, вече стигна до европейските регулатори — глобата от 825 млн. евро за Uber е най-скъпият пример.

Внимание

Изтриването на EXIF или на C2PA манифеста не премахва водния знак. Той е в самите пиксели и преживява преоразмеряване и повторна компресия.

Какво можете да направите

Практическите опции са ограничени. Ако ви трябва AI изображение без сървърен идентификатор, генерирайте го с модели с отворени тегла — Stable Diffusion и подобни, пуснати локално, не изпращат промпта ви никъде и не вграждат нищо в пикселите. Ако ползвате Paint или Photos, приемете, че всяко генерирано изображение носи номер, който води обратно към заявката ви.

Li изрично оставя отворен и обратния въпрос: тъй като маркирането и подписването са отделни стъпки в облачния път, теоретично е възможно изображение да излезе и без нито един от двата сигнала. Дали това е пропуск, или заложено поведение, не става ясно от кода.

Заключение

Находката не описва уязвимост и не твърди, че Microsoft активно деанонимизира някого. Тя описва липса на прозрачност: между обещанието „маркираме AI съдържанието“ и реалността „вграждаме уникален номер, вързан за вашия промпт“ има разлика, която потребителят заслужава да знае. Докато Microsoft не обясни какво пази от страната на сървъра и колко дълго, разумното допускане е, че водният знак не казва само „това е AI“, а и „това е AI, направено от този промпт“.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още