
MS Paint znakuje wodno obrazy z AI – GUID powiąże plik z kontem Microsoft
Microsoft Paint i Microsoft Photos wpisują niewidoczny znak wodny z identyfikatorem GUID do obrazów generowanych przez AI – nawet gdy całe generowanie odbywa się lokalnie na komputerze użytkownika. Wynika to z analizy inżynierii odwrotnej opublikowanej przez badacza Xusheng Li, który prześledził, jak system osadza dane w pikselach pliku wyjściowego. Co więcej, GUID jest wydawany przez serwer Microsoftu i wiąże obraz z tożsamością konta.
TL;DR: Inżynieria odwrotna przeprowadzona przez Xusheng Li pokazuje, że MS Paint i Photos osadzają w plikach PNG niewidoczny dla oka znak wodny zawierający GUID pobrany z serwera Microsoftu. Znak trafia do pikseli nawet wtedy, gdy obraz powstał w pełni lokalnie, na przykład na modelu uruchomionym na NPU. Pozwala to powiązać grafikę z konkretnym kontem Microsoft.
Jak Paint i Photos osadzają niewidoczny znak wodny w obrazach AI?
Mechanizm działa na poziomie pojedynczych pikseli wyjściowego pliku. Badacz odkrył, że aplikacje modyfikują najmłodsze bity wartości kolorów w obrazie, by zakodować strukturę danych z GUID. Zmiany są na tyle subtelne, że ludzkie oko nie dostrzega żadnej różnicy wizualnej między plikiem oznaczonym a czystym. Co więcej, proces jest w pełni automatyczny – użytkownik nie dostaje pytania o zgodę ani informacji, że plik został oznaczony. W rezultacie każdy obraz wygenerowany wbudowanymi funkcjami AI w Paint i Photos opuszcza aplikację już z wbudowanym identyfikatorem. Szczegóły implementacji opisuje analiza na blogu Xusheng Li.
Czy GUID w znaku wodnym wiąże obraz z kontem Microsoft?
Tak, i to jest najważniejszy wniosek z badania. GUID nie jest losowym identyfikatorem generowanym lokalnie, tylko wartością wydawaną przez infrastrukturę Microsoftu w chmurze. Aplikacja pobiera ten identyfikator z serwera, a następnie wpisuje go w piksele obrazu. Zatem plik zawiera trwały ślad, który teoretycznie pozwala powiązać grafikę z tożsamością konta, na którym została wygenerowana. Choć sam GUID nie zawiera danych osobowych w jawnej postaci, jego powiązanie z kontem oznacza, że obraz staje się rozpoznawalny jako produkt konkretnej osoby. O odkryciu pisze też The Register.
Dlaczego znak wodny pojawia się nawet przy lokalnym generowaniu?
Przecież lokalne generowanie miało dawać prywatność. Jednakże tutaj pojawia się paradoks: model AI może działać w całości na urządzeniu, np. na dedykowanym układzie NPU, bez wysyłania promptu do chmury. Mimo to aplikacja i tak kontaktuje się z serwerem Microsoftu po GUID, który następnie wstawia do pliku. Innymi słowy, nawet praca offline nie gwarantuje, że wynik pozostanie anonimowy. To istotna różnica względem oczekiwań wielu użytkowników, którzy wybierają generowanie lokalne właśnie po to, by uniknąć ingerencji chmury. Podobne napięcie między lokalnością a telemetrią opisywane było na łamach tego bloga przy okazji adresów IP wyjściowych Mullvad.
Gdzie dokładnie kryją się dane w pliku wyjściowym?
Kluczowe elementy mechanizmu, które udało się zidentyfikować podczas analizy:
- Modyfikacja najmłodszych bitów kanałów kolorów pikseli obrazu wyjściowego
- GUID pobierany z serwera Microsoftu przed zapisaniem pliku
- Brak jakiegokolwiek komunikatu w interfejsie informującego o znakowaniu
- Obecność mechanizmu w obu aplikacjach – Paint oraz Photos
- Trwałość znaku – dane przetrwają kopiowanie pliku i zmianę nazwy
- Automatyczny charakter procesu, bez pytania użytkownika o zgodę
- Niewidoczność zmian dla ludzkiego oka w standardowych warunkach oglądania
- Możliwość weryfikacji struktury metodami opisanymi w analizie źródłowej
Warto sprawdzić, czy znak przetrwa ponowny zapis w innym formacie lub kompresję stratną – to naturalne pytanie przy tego typu rozwiązaniach. Podsumowanie w języku hiszpańskim publikuje El Ecosistema Startup.
| Element mechanizmu | Opis | Źródło |
|---|---|---|
| Nośnik danych | Najmłodsze bity kanałów kolorów pikseli | Analiza Xusheng Li |
| Identyfikator | GUID wydawany przez serwer Microsoftu | Analiza Xusheng Li |
| Aplikacje objęte | Paint oraz Photos | The Register |
| Komunikat w interfejsie | Brak | Analiza Xusheng Li |
| Zasięg | Także generowanie lokalne na NPU | Analiza Xusheng Li |
Czy da się usunąć lub wykryć znak wodny z obrazu?
Na poziomie technicznym tak, jednak wymaga to świadomego działania. Ponieważ GUID zapisano w najmłodszych bitach pikseli, dowolna operacja zmieniająca te bity – na przykład ponowna kompresja stratna, zmiana rozmiaru czy celowe dodanie szumu – teoretycznie niszczy zakodowane dane. Jednakże użytkownik, który nie wie o istnieniu mechanizmu, nie ma powodu takich operacji wykonywać. Zatem znak przetrwa typowy przepływ pracy: zapis, kopiowanie, wysłanie mailem czy publikację w internecie. Badacz udokumentował strukturę osadzania w swojej analizie, co pozwala osobom technicznym zweryfikować obecność identyfikatora we własnych plikach.
Jakie są konsekwencje prywatnościowe tego mechanizmu?
Najpoważniejsza konsekwencja dotyczy rozłączności między lokalnością generowania a anonimowością wyniku. W praktyce oznacza to, że obraz opublikowany w sieci pozostaje teoretycznie powiązany z osobą, która go stworzyła, na podstawie danych ukrytych w pikselach. Co więcej, Microsoft nie informuje o tym w interfejsie aplikacji – użytkownik nie zobaczy komunikatu o znakowaniu. Podobne przypadki nieświadomej ekspozycji danych były opisywane na tym blogu przy okazji plików Claude.md pozostawionych w aplikacji Apple Support.
Jak samemu sprawdzić, czy plik zawiera ukryty GUID?
Analiza inżynierii odwrotnej Xusheng Li opisuje konkretne kroki, które badacz wykonał, by zlokalizować mechanizm:
- Dekompilacja aplikacji Paint i Photos w poszukiwaniu kodu obsługującego znak wodny
- Porównanie plików wyjściowych przed i po modyfikacji na poziomie bitów
- Zidentyfikowanie wywołań sieciowych pobierających GUID z serwera Microsoftu
- Odtworzenie schematu kodowania danych w najmłodszych bitach pikseli
- Weryfikacja obecności struktury w plikach PNG zapisanych przez obie aplikacje
Dla przeciętnego użytkownika najprostsza weryfikacja to porównanie sum kontrolnych i zawartości bitowej pliku wygenerowanego w Paint z tą samą grafiką zapisaną w innym narzędziu. Różnice w najmłodszych bitach kanałów kolorów będą widoczne dopiero po takim zestawieniu. Szczegóły techniczne opisuje The Register.
Jakie są alternatywy dla osób ceniących prywatność?
Osoby, dla których anonimowość generowanych obrazów jest priorytetem, mają do wyboru kilka ścieżek. Przede wszystkim warto korzystać z narzędzi open source, których kod można samodzielnie przejrzeć pod kątem ukrytego znakowania – na przykład Stable Diffusion uruchomiony lokalnie z pominięciem aplikacji Microsoftu. Ponadto generowanie obrazów przez niezależne frontendy niepowiązane z kontem Microsoft eliminuje źródło GUID. Warto też pamiętać, że temat toksycznych efektów ubocznych automatycznego AI był poruszany na blogu w tekście o słabych treściach generowanych przez AI niszczących społeczności.
Często zadawane pytania
Czy znak wodny z GUID pojawia się w Paint i Photos tylko przy generowaniu AI?
Tak, mechanizm dotyczy obrazów tworzonych funkcjami generatywnymi w obu aplikacjach – Paint i Photos – i w obu przypadkach aplikacja pobiera GUID z serwera Microsoftu, jak wykazała analiza Xusheng Li. Jeśli zależy Ci na braku oznaczeń, używaj zewnętrznych narzędzi do generowania.
Czy wyłączenie internetu zapobiega osadzeniu GUID?
Nie do końca – aplikacja kontaktuje się z serwerem po identyfikator przed zapisem pliku, więc samo generowanie offline nie gwarantuje anonimowości, o ile aplikacja wcześniej uzyskała GUID. Generuj w narzędziach open source poza ekosystemem Microsoftu.
Czy zwykły użytkownik zobaczy różnicę w obrazie ze znakiem wodnym?
Nie, modyfikacje dotyczą najmłodszych bitów wartości kolorów pikseli, których ludzkie oko nie rozróżnia – plik wygląda identycznie jak czysty. Weryfikację wykonaj porównaniem bitowym z użyciem metod opisanych w analizie Xusheng Li.
Czy Microsoft informuje o znakowaniu w interfejsie aplikacji?
Nie, badanie Xusheng Li potwierdza brak jakiegokolwiek komunikatu w interfejsie Paint i Photos informującego o osadzeniu identyfikatora. Śledź aktualizacje polityki prywatności oraz analizy niezależnych badaczy.
Podsumowanie
Odkrycie Xusheng Li pokazuje, że Paint i Photos osadzają w plikach PNG niewidoczny znak wodny z GUID wydanym przez serwer Microsoftu, nawet gdy generowanie odbywa się w całości lokalnie na NPU. Mechanizm działa na najmłodszych bitach pikseli, jest niewidoczny dla oka i nie generuje żadnego komunikatu w interfejsie. Co więcej, GUID wiąże obraz z kontem użytkownika, co podważa poczucie anonimowości przy lokalnym generowaniu. Jedyną realną ochroną pozostaje świadome korzystanie z narzędzi, których kod można przejrzeć.
Jeśli temat ukrytego śledzenia w narzędziach codziennego użytku Cię interesuje, zajrzyj do analizy źródłowej na blogu Xusheng Li i sprawdź swoje własne pliki metodą porównania bitowego.