
Leggi, comprendi e silenzia l'identificatore di dispositivo GDID di Windows (l'ID che ha tracciato un hacker attraverso una VPN). Verificato su una VM Win11 reale. Onestamente: silenzia la segnalazione, non ti rende anonimo.
Leggi, comprendi e metti a tacere l'identificatore globale del dispositivo Windows (GDID) — l'ID dispositivo nascosto legato all'account che ha aiutato l'FBI a localizzare un sospettato che usava una VPN.
⚠️ Disclaimer onesto fin dall'inizio: questo strumento non cancella il tuo GDID e non ti rende anonimo. Il GDID vive sui server di Microsoft, legato al tuo account Microsoft, nel momento in cui accedi.
no-gdidimpedisce alla tua macchina di ri-registrarlo e segnalarlo — non può annullare ciò che Microsoft ha già. Per una vera privacy in attività sensibili, l'unica risposta affidabile è non dipendere da Windows.
Ogni risultato qui riportato è stato riprodotto su una vera VM Windows 11 Pro (build 26200)
prima di essere messo per iscritto. Nulla è teorico. Vedi
docs/technical-writeup.md per le prove, classificate per
livello di confidenza — e Come è stato realizzato per capire cosa
comportava concretamente quella verifica.
Nel 2026 l'FBI ha rintracciato un sospettato di Scattered Spider che cambiava IP attraverso una VPN in tre paesi. A tradirlo è stato un GDID — un identificatore del dispositivo che Microsoft lega a un'installazione di Windows e condivide con le forze dell'ordine su citazione giudiziaria. Non cambia quando cambi il tuo IP. Questo repository smonta quell'identificatore e mostra cosa puoi fare concretamente al riguardo.
Non è un hash hardware — è un PUID dispositivo MSA a 64 bit coniato da login.live.com, messo in cache
localmente nel registro, registrato nel grafo del Device Directory Service di Microsoft e
segnalato tramite Delivery Optimization.
wlidsvc ── mint ──► PUID from login.live.com
│ cached at HKCU\SOFTWARE\Microsoft\IdentityCRL\ExtendedProperties\LID
CDPSvc / CDPUserSvc ── register ──► Device Directory Service (dds.microsoft.com)
│
DoSvc ── report ──► UCDOStatus.GlobalDeviceId (Azure Monitor)
Il LID del registro (hex) corrisponde al valore lato server g:<decimal>. Tutti i PUID dei dispositivi Windows
rientrano nel namespace 0x0018… (verificato: il nostro valore di test e quello presente negli atti
del tribunale lo condividono).
Tutti gli script sono PowerShell, solo ASCII, e funzionano con qualsiasi codepage. Apri una PowerShell elevata.
# 1. See your own GDID and which parts of the chain are active (read-only, safe)
powershell -ExecutionPolicy Bypass -File .\audit\Get-GDID-Audit.ps1
# 2. Preview what the mitigation would change (no changes yet)
powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1
# 3. Apply it: stop the report chain + blackhole its endpoints, keep MSA working
powershell -ExecutionPolicy Bypass -File .\mitigate\Disable-GDID-Services.ps1 -Apply
powershell -ExecutionPolicy Bypass -File .\mitigate\Block-GDID-Endpoints.ps1 -Apply
# Undo everything
powershell -ExecutionPolicy Bypass -File .\mitigate\Revert-GDID.ps1
Prima testa su una VM con uno snapshot. La mitigazione disabilita i servizi di sistema.
wlidsvc, tocca una qualsiasi app
Microsoft — ricompare identico dal server. È ancorato al tuo account.DoSvc rifiuta Set-Service anche da amministratore — viene disabilitato impostando Start=4
nel registro (vedi il write-up).Disabilitare questi servizi rompe la cache peer di Delivery Optimization, Phone Link /
"Continua sul PC" e la condivisione nelle vicinanze. wlidsvc e login.live.com vengono lasciati intatti,
così l'accesso all'account Microsoft continua a funzionare.
docs/technical-writeup.md — l'intera catena, i percorsi
del registro, gli endpoint e ogni affermazione classificata per livello di confidenza
([COURT], [OBSERVED], [STATIC], [NO-GDID VÉRIFIÉ]).docs/FAQ.md — risposte brevi alle domande ovvie.Questo progetto è stato indagato e scritto con un notevole supporto dell'IA (Claude). La cronologia dei commit lo dice, e lo dice anche questa sezione — non dovresti dover scavare per scoprirlo.
Cosa significa in pratica, onestamente:
LID
e riavviare wlidsvc fa davvero ricomparire lo stesso identificatore non appena una
qualsiasi app Microsoft lo richiede — l'ho visto accadere. DiagTrack era già stato fermato su
quella VM e il GDID era ancora lì, ed è proprio questo che ha stroncato il consiglio "basta disattivare la
telemetria". DoSvc rifiuta davvero Set-Service anche da amministratore, ed è per questo che lo
script passa dal registro. Ognuna di queste è nata come ipotesi dell'IA
e molte si sono rivelate sbagliate finché non sono state testate.LID/GDID esiste dall'installazione anche con il solo account locale). Il
write-up registra da quale build proviene ogni risultato — se un'affermazione non riporta un numero di build,
trattala come meno solida.Se trovi un'affermazione che non regge sulla tua macchina, apri una issue con il tuo numero di build — per questo repository vale più del semplice consenso.
SmtimesIWndr/gdid-reversal.MIT. Strumentazione difensiva e orientata alla privacy. Usala su macchine di tua proprietà.
| Percorso | Scopo | Scrive? |
|---|
audit/Get-GDID-Audit.ps1 | Legge il tuo GDID + lo stato della catena dei 5 servizi | No |
audit/Get-GDID-Traffic.ps1 | Mappa gli endpoint di rete reali della catena | No |
mitigate/Block-GDID-Endpoints.ps1 | Blackhola gli endpoint DDS/DO in hosts (mantiene login.live.com) | Con -Apply |
mitigate/Disable-GDID-Services.ps1 | Disabilita CDPSvc/DoSvc/CDPUserSvc (mantiene wlidsvc) | Con -Apply |
mitigate/Revert-GDID.ps1 | Ripristina i servizi + pulisce hosts | Sì |
experiments/ | Probe con gate a snapshot usate per provare i risultati | Distruttive, con gate |
docs/ | Write-up tecnico con fonti + FAQ | — |