Der Softwareentwickler Xusheng Li von Vector 35 veröffentlichte am 20. August eine Reverse-Engineering-Analyse, der zufolge die in Windows integrierten Apps Paint und Fotos bei der KI-Bilderzeugung eine 16-Byte-GUID vom Microsoft-Server in die Pixel des Bildes kodieren und so ein für das menschliche Auge unsichtbares Wasserzeichen erzeugen. Erst als The Register am 25. August nachzog, verbreitete sich die Geschichte in der Entwicklerszene.
Lis Analyse zufolge beginnt der Prozess in dem Moment, in dem der Prompt das eigene Gerät verlässt. Tippt man in Paints Cocreator eine Beschreibung ein, schickt die App den Prompt zunächst an einen Azure-Front-Door-Endpunkt von Microsoft zur Prüfung. Der Server antwortet mit drei Dingen: einem überarbeiteten Prompt, einer promptGenerationId und einem Wert namens watermarkId. Diese watermarkId ist genau die GUID, die später in die Pixel geschrieben wird.
So wird das Wasserzeichen eingebettet
Zuständig für die Kodierung ist die Komponente Watermarker.dll mit 1,67 MB, dazu kommt eine verschlüsselte Modelldatei namens mager.onnxe mit 302,4 MB. Der 16-Byte-GUID wird vorn ein 0x4c-Marker vorangestellt und hinten eine Prüfsumme angehängt, macht 18 Byte, ausgebreitet auf 144 Bit. Jedes Bit braucht mindestens einen 8×8 großen Pixelblock als Träger, weshalb ein Bild mindestens 192×192 Pixel groß sein muss, damit überhaupt ein Wasserzeichen möglich ist.
Der Preis dafür ist nicht gering. Li zählte bei einem 512×512-Bild von den 262.000 Pixeln rund 193.000 veränderte – etwa 74 Prozent. Verändert wird mit einem inhaltsadaptiven, blockweisen SVD-ähnlichen Verfahren, das mit bloßem Auge nicht auffällt, aber tatsächlich mehr als die Hälfte des Bildes umschreibt.
Dieselbe GUID wird zusätzlich per Soft-Binding in die C2PA-Content-Credentials-Metadaten geschrieben, mit der Algorithmus-Kennung com.microsoft.invismark.1, signiert von Microsoft. Eine Kopie steckt in den Pixeln, eine in den Metadaten – beide sichern sich gegenseitig ab: Werden die C2PA-Metadaten entfernt, bleibt das Pixel-Wasserzeichen erhalten.
Unterstützt werden PNG, JPEG, GIF sowie Paints eigenes .paint-Format. BMP ist ausgenommen, mutmaßlich, so Li, weil sich darin kein vollständiges C2PA-Manifest unterbringen lässt.
Zwei Apps, zwei Haltungen
Paint und Fotos gehen unterschiedlich damit um, wenn das Wasserzeichen nicht gesetzt werden kann – und dieser Unterschied verrät einiges:
- Paint: Scheitert das Wasserzeichen, gilt die ganze Generierung als fehlgeschlagen, das Bild wird dem Nutzer gar nicht erst angezeigt.
- Fotos: Es wird lediglich ein Fehler protokolliert, das Bild ohne Wasserzeichen aber trotzdem ausgeliefert.
Image Creator und Restyle Image in Fotos nutzen dieselbe Watermarker.dll. Paints Prinzip „lieber gar kein Bild als eines ohne Wasserzeichen" zeigt: In Microsofts Produktlogik ist das Wasserzeichen ein notwendiger Bestandteil des Generierungsprozesses, kein nachträglich angehängtes Extra.
Li fiel noch ein weiteres Detail auf: Paint schickt die promptGenerationId der vorherigen Generierung als lastPromptGenerationId mit der nächsten Prüfanfrage mit. Aufeinanderfolgende Generierungen werden dadurch serverseitig ausdrücklich zu einer Kette verknüpft.
Die Sache mit der Internetverbindung
Am leichtesten missverstanden wird das Ganze bei Copilot+-PCs. Diese Geräte haben eine lokale NPU, die Bilderzeugung läuft tatsächlich auf dem Gerät selbst, und Microsoft wirbt auch durchgehend mit „lokaler Generierung". Prompt-Prüfung und Herkunftssignatur laufen jedoch beide in der Cloud – die GUID muss vom Server geholt, die C2PA-Signatur von Microsoft gesetzt werden. Gemalt wird lokal, den Passierschein gibt es nur online.
Datenschutzrechtlich ist die Schlussfolgerung nicht kompliziert: Kann Microsoft jeden Prompt dem sendenden Konto zuordnen, ließe sich theoretisch aus einem geleakten Bild über das Wasserzeichen zurückverfolgen, wer es wann erzeugt hat. Lis Kritik richtet sich nicht gegen die Wasserzeichentechnik selbst, sondern gegen die unzureichende Offenlegung – Microsoft hat öffentlich über seine KI-Sicherheitsmaßnahmen gesprochen, aber nie klargestellt, dass die GUID im C2PA-Manifest an den Prompt des Nutzers gebunden ist. The Register bat Microsoft um eine Stellungnahme, erhielt bis Redaktionsschluss aber keine Antwort.
Die Grenze zwischen Herkunftsnachweis und Tracking
Die EU-Transparenzanforderungen für KI-generierte Inhalte zielen darauf ab, Nutzer erkennen zu lassen, dass Inhalte von KI stammen. Standards wie C2PA wurden genau dafür entwickelt: Herkunft und Erzeugungsart kenntlich zu machen. Microsofts Ansatz geht über diese Kennzeichnung hinaus – jede einzelne Generierung erhält eine eindeutige Kennnummer.
Technisch sind beide Verfahren fast identisch, ihr Zweck aber liegt weit auseinander. Grob gerechnet reicht für die binäre Unterscheidung „KI-generiert oder nicht" ein einziges Bit; eine 16-Byte-GUID dagegen hat 2^128 mögliche Werte, die überschüssige Bitbreite lässt sich nur nutzen, um viel feinere Details zu kodieren. Schon diese Bitbreite verrät die Absicht dahinter – es ist kein Inhaltslabel, sondern ein Personalausweis für das einzelne Generierungsereignis.
Für normale Windows-Nutzer sind die kurzfristigen Auswirkungen begrenzt, die wenigsten nutzen mit Paint erzeugte Bilder für Dinge, bei denen Anonymität nötig wäre. Wer Paint aber gern nebenbei nutzt, kann sich jetzt sicher sein: Lokale Generierung bedeutet nicht, dass keine lokalen Spuren entstehen – jedes Bild trägt eine Kennnummer mit sich, die nur Microsoft erklären kann.
Quellen: die von Xusheng Li veröffentlichte Reverse-Engineering-Analyse, The Register, CocoLoop; überprüft wurden die Byte-Länge der GUID, die Bitzahl des Wasserzeichens, die Anzahl veränderter Pixel bei einem 512×512-Bild sowie die Schreibweise der C2PA-Algorithmus-Kennung.