Microsoft Paint e Foto inseriscono un identificatore invisibile nelle immagini AI generate in locale

Il reverse engineering di Microsoft Paint rivela un watermark invisibile: un GUID fornito dai server cloud è inserito nei pixel e collegato alle immagini generate coi modelli AI in locale.

Un’immagine generata con l’intelligenza artificiale di Microsoft Paint o avvalendosi dell’app Foto di Windows può contenere molto più di ciò che l’occhio riesce a vedere. Oltre ai Content Credentials basati sullo standard C2PA e all’eventuale logo Copilot visibile, alcune funzioni AI di Paint inseriscono direttamente nei pixel un identificatore invisibile, assegnato dai server Microsoft prima della generazione.

La scoperta arriva dall’attività di reverse engineering documentata da Xusheng Li e apre una questione interessante: quanto è davvero “locale” una funzione AI eseguita sulla NPU di un Copilot+ PC?

Paint ha percorso una strada sorprendente rispetto al semplice editor incluso nelle prime versioni di Windows. Microsoft gli ha progressivamente aggiunto rimozione dello sfondo, selezione intelligente degli oggetti, generazione di immagini, riempimento generativo e Cocreator. Con i Copilot+ PC, alcune di queste operazioni sfruttano modelli eseguiti direttamente sul dispositivo. Microsoft stessa spiega che la generazione può avvenire localmente sulla NPU, mentre servizi Azure online continuano a occuparsi dei controlli di sicurezza.

L’indagine sul funzionamento interno mostra però un ulteriore passaggio: il server restituisce anche un GUID che Paint incorpora nell’immagine attraverso modifiche impercettibili dei pixel. Avevamo parlato di filigrana nelle immagini di ChatGPT e Gemini: ecco, il concetto è sostanzialmente lo stesso.

Il watermark visibile non è quello interessante

Le informazioni emerse in seguito all’analisi condotta dal ricercatore indipendente assumono ancora più rilievo perché dal 2 agosto 2026 trovano applicazione nell’Unione Europea gli obblighi di trasparenza dell’articolo 50 dell’AI Act. Per i sistemi che producono contenuti sintetici, la norma richiede output contrassegnati in un formato leggibile dalle macchine e rilevabile come generato o manipolato artificialmente.

Il watermark individuato in Paint si inserisce quindi in una tendenza più ampia verso la tracciabilità dei contenuti AI, anche se il regolamento europeo non impone l’uso di un GUID specifico associato a una singola generazione.

L’analisi prende le mosse dalla versione Microsoft Paint 11.2605.71.0: all’interno della directory dell’applicazione risultano presenti diversi file con estensione .onnxe, tra cui seg.onnxe, inseg_enc.onnxe, inseg_dec.onnxe e un modello molto più grande chiamato mager.onnxe, da oltre 300 MB.

La presenza dei modelli AI conferma un punto già dichiarato da Microsoft: determinate elaborazioni AI possono realmente avvenire sul PC dell’utente. Non siamo quindi davanti a una semplice interfaccia che spedisce l’immagine a un servizio remoto per farsela restituire elaborata. Tra i componenti dell’applicazione compare però anche Watermarker.dll. Ed è qui che l’indagine cambia direzione.

Schema identificatore watermark immagini AI Microsoft Paint

Il prompt passa prima dai server Microsoft

Prima di avviare la generazione locale delle immagini, Paint contatta un endpoint Azure utilizzato per la “moderazione” del prompt. La richiesta è inviata sul cloud dal componente AIServices.dll e contiene almeno il testo inserito dall’utente, lo stile scelto oltre a un identificatore dell’eventuale precedente generazione.

La risposta del servizio comprende quattro elementi rilevanti: revisedPrompt, promptGenerationId, watermarkId e containsHumanReference. Il primo rappresenta il prompt eventualmente riformulato dal sistema di sicurezza; gli altri due sono identificatori GUID, mentre containsHumanReference segnala se la richiesta fa riferimento a una persona.

Xusheng Li ha riprodotto la chiamata utilizzando la sessione autenticata di Paint: anche per un semplice prompt relativo a forme geometriche, il server ha restituito un promptGenerationId e, separatamente, un watermarkId. È proprio quest’ultimo a raggiungere la libreria locale Watermarker.dll e a finire nei pixel dell’immagine.

In pratica, generazione locale non significa funzionamento offline. L’azienda di Redmond dichiara già che Cocreator richiede un account Microsoft e una connessione Internet perché i servizi Azure effettuino il filtraggio dei contenuti. La novità emersa dal reverse engineering è il ruolo aggiuntivo del server: oltre a controllare il prompt, assegna l’identificatore destinato al watermark invisibile.

La richiesta successiva può includere il precedente promptGenerationId nel campo lastPromptGenerationId. Paint dispone quindi di un meccanismo che consente al servizio remoto di collegare esplicitamente generazioni consecutive all’interno della stessa sequenza operativa.

Come fa Microsoft Paint a nascondere un GUID dentro i pixel

Nelle scorse settimane abbiamo parlato di come disattivare il GDID, identificatore persistente di Windows 11 e Windows 10 che Microsoft genera sul sistema dell’utente a ogni installazione del sistema operativo.

Adesso, per tramite della libreria Watermarker.dll, anche le immagini che sembrano generate in locale con Paint nascondono una filigrana celata tra i pixel.

Watermarker.dll non copia banalmente i 16 byte del GUID all’interno del file: sarebbe troppo facile rimuoverli eliminando i metadati. Il componente software costruisce invece un messaggio di 18 byte: un byte iniziale con valore 0x4c, i 16 byte del GUID e un byte di controllo ottenuto dalla somma dei byte del GUID modulo 256.

Si ottengono così 144 bit: il codificatore suddivide l’immagine in blocchi e richiede che ogni bit possa comparire almeno tre volte. L’immagine deve inoltre raggiungere almeno 192 x 192 pixel; le dimensioni utilizzabili vengono arrotondate verso il basso a multipli di otto.

Dal codice ricostruito emergono trasformazioni su matrici 3 x 5, operazioni di decomposizione e modifiche quantizzate applicate a blocchi selezionati in base al contenuto dell’immagine. Il ricercatore descrive il sistema come compatibile con un watermark adattivo: non esiste però documentazione Microsoft pubblica sufficiente per descriverne con certezza l’algoritmo matematico completo, quindi sarebbe improprio presentare questa classificazione come definitiva.

Un watermark invisibile è davvero resistente?

Il lavoro di reverse engineering lascia aperte alcune domande. Inserire il segnale nei pixel rende il watermark piuttosto robusto ma certamente non indistruttibile: lo abbiamo visto nell’articolo su come rimuovere le filigrane dalle immagini generate con AI.

Ridimensionamenti aggressivi, ritagli, ricompressioni, filtri, rumore, trasformazioni geometriche o una nuova generazione dell’immagine possono degradare qualsiasi watermark percettivo nascosto tra i pixel.

La stessa logica vale per tecnologie analoghe, come SynthID di Google DeepMind: l’obiettivo non consiste nel produrre un marchio matematicamente impossibile da rimuovere, bensì un segnale difficile da eliminare accidentalmente e sufficientemente resistente alle normali trasformazioni del contenuto.

Senza un decoder pubblico di Microsoft InvisMark e senza test indipendenti su JPEG aggressivi, crop, scaling e rielaborazioni successive, non è possibile stabilire quale sia la reale soglia di sopravvivenza del watermark di Paint. L’implementazione identificata dal ricercatore chiarisce come il segnale venga scritto; non misura ancora in maniera esaustiva quanto sia resistente.

Il vero significato della scoperta

La parte più interessante non è tanto l’esistenza di un watermark invisibile: sistemi simili sono già utilizzati da altri fornitori di AI generativa. Il punto è la relazione tra moderazione remota, generazione locale, GUID nei pixel e manifesto C2PA.

Paint mostra bene come l’espressione “AI locale” possa diventare ambigua: il modello può davvero effettuare l’inferenza sulla NPU del PC e risparmiare il trasferimento delle immagini ai server; allo stesso tempo, il servizio continua a dipendere dalla rete per verificare il prompt, assegnare gli identificatori e costruire la catena di provenienza. Locale, insomma, descrive il luogo in cui gira il modello, non necessariamente l’intera operazione.

Dal punto di vista tecnico la soluzione Microsoft è interessante: combina un identificatore resistente alle semplici rimozioni dei metadati con un manifesto crittograficamente firmato che descrive il contenuto come generato tramite AI. Dal punto di vista dell’utente, invece, resta una lacuna informativa. Microsoft documenta il filtraggio remoto e C2PA, ma ad oggi non sembra spiegare con la stessa chiarezza che un identificatore assegnato dal server può essere incorporato invisibilmente nei pixel.

Ti consigliamo anche

Link copiato negli appunti