Português (Brasil)

Ferramentas de desenvolvedor · Decodificador JWT

Por que um decodificador JWT não precisa de servidor: verificando com o painel de rede

· Como funciona

jwt privacidade processamento do navegador

Um navegador decodificando segmentos JWT sem uma seta de upload
Ilustração vetorial original ToolAcre

Dividir uma string e decodificar base64url é um trabalho trivial para um navegador, portanto não há razão técnica para um decodificador enviar seu token para qualquer lugar. Esta postagem mostra como confirmar se uma ferramenta a mantém local.

Para onde vai meu token quando pressiono decodificar? - a pergunta a ser feita a cada ferramenta online

Antes de usar qualquer decodificador online, pergunte o que recebe a string após o botão ser pressionado. Um JWT pode ser uma credencial de portador ativo, portanto, um upload pode expor muito mais do que declarações legíveis. Uma página não deve receber tokens de produção apenas porque sua interface se parece com um formatador de texto.

O próprio aviso de ToolAcre é mais rigoroso do que uma promessa de marketing: não cole tokens de produção em nenhuma ferramenta da web, incluindo esta. Use um exemplo expirado, rotacionado ou sintético. A implementação é executada localmente, mas as extensões do navegador, os scripts circundantes e o dispositivo permanecem parte do ambiente no qual você deve confiar.

O trabalho envolvido — divisão de strings, decodificação base64url e análise JSON, todos recursos padrão do navegador

A decodificação real consiste em operações de string e primitivas de navegador. O código corta um prefixo Bearer opcional, divide em pontos, normaliza o alfabeto base64url, restaura o preenchimento, invoca `atob`, converte bytes por meio de um TextDecoder UTF-8 estrito e analisa os dois primeiros resultados como objetos JSON.

Nenhuma dessas etapas requer um serviço remoto. As linhas NumericDate usam a implementação local de Date, as linhas de declaração são montadas a partir do objeto analisado e a saída é atribuída como texto. A fonte não importa nenhuma biblioteca de verificação e não solicita nenhuma chave secreta ou pública porque a inspeção é a única operação oferecida.

Como verificar – abra o painel de rede, cole um token, decodifique e observe as solicitações

Abra as ferramentas do desenvolvedor antes de inserir dados de teste inofensivos, limpe a lista de redes, execute a decodificação e inspecione novas solicitações. Pesquise URLs, métodos e corpos de solicitação para o token ou uma substring distinta. Uma solicitação que ocorre ao mesmo tempo não é automaticamente um upload; provar se os bytes de credencial estão presentes.

Mantenha o teste controlado. Carregue a página primeiro para que as solicitações de ativos sejam resolvidas, use um marcador sintético exclusivo na carga útil e evite credenciais reais. Se o marcador aparecer no corpo de uma solicitação, URL ou cabeçalho, o valor saiu do caminho de decodificação local. Caso contrário, a observação apoia apenas essa sessão.

Uma política rigorosa de segurança de conteúdo restringe os destinos; esta página ainda carrega scripts divulgados

A página gerada inclui uma Política de Segurança de Conteúdo cujo `connect-src` permite destinos próprios, de blob e de dados em vez de APIs remotas arbitrárias. Isso restringe significativamente as conexões comuns iniciadas por script, mas não justifica a afirmação do esboço de “sem scripts, tags ou análises de terceiros”. O produto mais amplo pode carregar scripts divulgados do Google.

CSP é uma defesa profunda, não uma prova de que todo componente executável merece uma credencial. Ele pode limitar destinos enquanto os endpoints primários permanecem permitidos e as extensões operam sob privilégios diferentes. Leia a política juntamente com as evidências e fontes da Rede; não reduza essas observações separadas em “nada poderá ler este campo”.

O decodificador não armazena nenhum token, mas um teste de recarga não pode provar que todos os componentes circundantes são inofensivos

O painel JWT mantém seu token no valor do editor e não chama localStorage ou sessionStorage. Limpar o painel remove seus valores atuais e uma recarga não contém um recurso que restaure o token. Essa fonte mais restrita apoia uma declaração de não persistência sobre o próprio painel.

Um editor em branco após recarregar é uma evidência útil, mas não uma auditoria de armazenamento universal. O histórico do navegador, gerenciadores de área de transferência, extensões, capturas de tela e recursos do sistema operacional ficam fora deste módulo. As verificações de rede e armazenamento devem, portanto, ser descritas como observações reproduzíveis, e não como uma garantia sobre todas as camadas do dispositivo.

Exemplo resolvido: distinguir o tráfego de página comum de uma solicitação que transporta dados de token

Para uma verificação bem-sucedida, carregue o decodificador JWT de ToolAcre, aguarde a conclusão da atividade inicial da página e limpe a lista de solicitações. Cole a amostra expirada integrada ou outro token não confidencial, pressione Decode e filtre para obter uma palavra de carga útil exclusiva. O cabeçalho, a carga útil, a nota do algoritmo e as linhas de tempo devem aparecer sem uma solicitação que contenha esse marcador.

Não chame o painel de “vazio” se análises, conexão de site ou solicitações de ativos estiverem visíveis. Registre exatamente o que aconteceu: pode existir tráfego de página comum, enquanto nenhuma solicitação inspecionada incluiu o token sintético. Essa distinção é uma evidência mais forte do que ocultar linhas não relacionadas para fazer uma reivindicação de privacidade parecer absoluta.

O que isso não cobre: ​​extensões de navegador e gerenciadores de área de transferência, que ficam fora do controle da página

Este procedimento não pode inspecionar uma extensão maliciosa do navegador, o histórico da área de transferência ou um sistema operacional comprometido. Também não pode provar o que o código fará após uma implantação futura. Repita isso na versão e no ambiente que você pretende usar e prefira um script local que você controle quando o material de credencial real for inevitável.

O painel Rede também não converte afirmações decodificadas em fatos verificados. Mesmo quando o token permanece na aba, ToolAcre não o autentica. O processamento local reduz uma rota de divulgação; não estabelece integridade de assinatura, identidade do emissor, adequação ao público ou autorização.

O código ToolAcre local executa a decodificação, mas um token ativo ainda não pertence a um site

ToolAcre executa sua divisão, conversão de bytes e análise JSON no código do navegador, e sua fonte específica da ferramenta não contém nenhuma operação de upload ou persistência. Você pode testar esse comportamento usando dados sintéticos e ferramentas de desenvolvedor em vez de aceitar um emblema ou slogan de privacidade pelo valor nominal.

A conclusão correta permanece conservadora: verifique o caminho local, mas mantenha os tokens de acesso ativos fora dos sites. Uma ferramenta do lado do cliente somente decodificação pode ser apropriada para diagnósticos descartáveis; não é um cofre de credenciais, um verificador ou um serviço de autorização.