Italiano

Strumenti per sviluppatori · Decodificatore JWT

Perché un decoder JWT non ha bisogno di un server: verifica con il pannello di rete

· Come funziona

jwt privacy elaborazione del browser

Un browser che decodifica i segmenti JWT senza una freccia di caricamento
Illustrazione vettoriale originale ToolAcre

Dividere una stringa e decodificare base64url è un lavoro banale per un browser, quindi non esiste alcun motivo tecnico per cui un decodificatore invii il tuo token ovunque. Questo post mostra come verificare che uno strumento lo mantenga locale.

Dove va il mio token quando premo decodifica? – la domanda da porre a ogni strumento online

Prima di utilizzare qualsiasi decoder online, chiedi cosa riceve la stringa dopo aver premuto il pulsante. Una JWT può essere una credenziale di supporto attiva, quindi un caricamento può esporre affermazioni molto più che leggibili. Una pagina non dovrebbe ricevere token di produzione semplicemente perché la sua interfaccia assomiglia a un formattatore di testo.

L'avvertimento di ToolAcre è più severo di una promessa di marketing: non incollare i token di produzione in nessuno strumento web, incluso questo. Utilizzare un esempio scaduto, ruotato o sintetico. L'implementazione viene eseguita localmente, ma le estensioni del browser, gli script circostanti e il dispositivo rimangono parte dell'ambiente di cui ti devi fidare.

Il lavoro richiesto: suddivisione delle stringhe, decodifica base64url e analisi JSON, tutte le funzionalità standard del browser

La decodifica effettiva consiste in operazioni su stringhe e primitive del browser. Il codice taglia un prefisso Bearer opzionale, si divide in punti, normalizza l'alfabeto base64url, ripristina il riempimento, invoca `atob`, converte i byte attraverso un rigoroso UTF-8 TextDecoder e analizza i primi due risultati come oggetti JSON.

Nessuno di questi passaggi richiede un servizio remoto. Le righe NumericDate utilizzano l'implementazione Date locale, le righe delle attestazioni vengono assemblate dall'oggetto analizzato e l'output viene assegnato come testo. L'origine non importa alcuna libreria di verifica e non richiede alcuna chiave segreta o pubblica poiché l'ispezione è l'unica operazione offerta.

Come verificare: apri il pannello di rete, incolla un token, decodifica e controlla le richieste

Apri gli strumenti per sviluppatori prima di inserire dati di test innocui, cancella l'elenco delle reti, esegui la decodifica, quindi ispeziona le nuove richieste. Cerca URL, metodi e corpi delle richieste per il token o una sottostringa distintiva. Una richiesta che avviene contemporaneamente non è automaticamente un caricamento; dimostrare se i byte delle credenziali sono presenti.

Mantieni il test sotto controllo. Carica prima la pagina in modo che le richieste di risorse siano risolte, utilizza un indicatore sintetico univoco nel payload ed evita credenziali reali. Se il contrassegno viene visualizzato nel corpo della richiesta, URL o nell'intestazione, il valore ha lasciato il percorso di decodifica locale. In caso contrario, l'osservazione supporta solo quella sessione.

Una rigorosa politica di sicurezza dei contenuti restringe le destinazioni; questa pagina carica ancora gli script divulgati

La pagina generata include una policy di sicurezza dei contenuti la cui `connect-src` consente destinazioni self, BLOB e dati anziché API remote arbitrarie. Ciò limita in modo significativo le normali connessioni avviate da script, ma non giustifica l’affermazione dello schema secondo cui “nessuno script, tag o analisi di terze parti”. Il prodotto più ampio può caricare gli script Google divulgati.

CSP è una difesa approfondita, non una prova che ogni componente eseguibile meriti una credenziale. Può limitare le destinazioni mentre gli endpoint proprietari rimangono consentiti e le estensioni operano con privilegi diversi. Leggere la politica insieme alle prove e alla fonte della Rete; non ridurre queste osservazioni separate a “niente potrà mai leggere questo campo”.

Il decoder non memorizza alcun token, ma un test di ricarica non può dimostrare che ogni componente circostante sia innocuo

Il pannello JWT mantiene il token nel valore dell'editor e non chiama localStorage o sessionStorage. La cancellazione del pannello rimuove i suoi valori correnti e una ricarica non contiene una funzionalità che ripristina il token. Questo fatto relativo alla fonte più ristretta supporta un'affermazione di non persistenza sul pannello stesso.

Un editor vuoto dopo la ricarica è una prova utile, ma non un controllo di archiviazione universale. La cronologia del browser, i gestori degli appunti, le estensioni, gli screenshot e le strutture del sistema operativo si trovano all'esterno di questo modulo. I controlli di rete e di archiviazione dovrebbero quindi essere descritti come osservazioni riproducibili, non come una garanzia su ogni livello del dispositivo.

Esempio realizzato: distinguere il traffico ordinario della pagina da una richiesta che trasporta dati token

Per un controllo funzionante, carica il decodificatore JWT di ToolAcre, attendi il completamento dell'attività della pagina iniziale e cancella l'elenco delle richieste. Incolla il campione scaduto integrato o un altro token non sensibile, premi Decodifica e filtra per una parola di payload univoca. L'intestazione, il carico utile, la nota dell'algoritmo e le righe dell'ora dovrebbero apparire senza una richiesta che contenga tale indicatore.

Non chiamare il pannello "vuoto" se sono visibili analisi, connessione al sito o richieste di risorse. Registra esattamente cosa è successo: potrebbe esserci traffico di pagine ordinario, mentre nessuna richiesta ispezionata includeva il token sintetico. Questa distinzione è una prova più forte che nascondere righe non correlate per far sembrare assoluta una richiesta di privacy.

Ciò che questo non copre: estensioni del browser e gestori di appunti, che sono fuori dal controllo della pagina

Questa procedura non può controllare un'estensione dannosa del browser, la cronologia degli appunti o un sistema operativo compromesso. Inoltre, non può dimostrare cosa farà il codice dopo una distribuzione futura. Ripetilo con la versione e l'ambiente che intendi utilizzare e preferisci uno script locale che controlli quando il materiale delle credenziali reali è inevitabile.

Inoltre, il pannello Rete non converte le affermazioni decodificate in fatti verificati. Anche quando il token rimane nella scheda, ToolAcre non lo autentica. L'elaborazione locale riduce un percorso di divulgazione; non stabilisce l'integrità della firma, l'identità dell'emittente, l'idoneità del pubblico o l'autorizzazione.

Il codice locale ToolAcre esegue la decodifica, ma un token live non appartiene ancora a un sito web

ToolAcre esegue la suddivisione, la conversione di byte e l'analisi JSON nel codice del browser e la sua origine specifica dello strumento non contiene operazioni di caricamento o persistenza. Puoi testare questo comportamento utilizzando dati sintetici e strumenti per sviluppatori invece di accettare per oro colato un badge o uno slogan sulla privacy.

La conclusione corretta rimane conservativa: verificare il percorso locale, ma mantenere i token di accesso live fuori dai siti Web. Uno strumento lato client di sola decodifica può essere appropriato per la diagnostica usa e getta; non è un deposito di credenziali, un verificatore o un servizio di autorizzazione.