Pular para o conteúdo
Skillpedia
Segurança35 mil · #5902

implementing-jwt-signing-and-verification

Implementa assinatura e verificação segura de JWT (JSON Web Tokens). Protege contra ataques comuns e garante a validação correta das claims.

O que ela faz

Esta ferramenta ajuda a criar e verificar tokens de segurança chamados JWT. Eles são usados para garantir que apenas pessoas autorizadas acessem informações em sites e aplicativos, protegendo contra hackers.

Quando usar

  • ✓Ao configurar a segurança de um site ou aplicativo.
  • ✓Ao verificar se os tokens de acesso estão corretos.
  • ✓Ao proteger dados sensíveis contra acesso não autorizado.

Exemplo do que pedir para a IA

“Verifique este token JWT para garantir que ele é seguro e não foi alterado.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-jwt-signing-and-verification/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/implementing-jwt-signing-and-verification/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa métodos criptográficos para assinar os tokens quando são criados, garantindo sua autenticidade. Ao receber um token, ela usa a mesma criptografia para verificar se ele é válido e se não foi modificado.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-jwt-signing-and-verification

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-jwt-signing-and-verification/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Implementando Assinatura e Verificação de JWT

Visão Geral

JSON Web Tokens (JWT), definidos na RFC 7519, são tokens compactos e seguros para URL, usados para autenticação e autorização em aplicações web. Esta habilidade abrange a implementação segura de assinatura de JWT com algoritmos HMAC-SHA256, RSA-PSS e EdDSA, juntamente com verificação, expiração de token, validação de claims e defesa contra ataques comuns de JWT (confusão de algoritmo, algoritmo none, injeção de chave).

Quando Usar

  • Ao implantar ou configurar capacidades de assinatura e verificação de JWT em seu ambiente
  • Ao estabelecer controles de segurança alinhados a requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Familiaridade com conceitos e ferramentas de criptografia
  • Acesso a um ambiente de teste ou laboratório para execução segura
  • Python 3.8+ com as dependências necessárias instaladas
  • Autorização apropriada para quaisquer atividades de teste

Objetivos

  • Implementar assinatura de JWT com HS256, RS256, ES256 e EdDSA
  • Verificar assinaturas de JWT e validar claims padrão
  • Implementar expiração de token, validação "not-before" (não antes) e de audiência
  • Defender contra ataques de confusão de algoritmo e algoritmo none
  • Implementar rotação de chaves de JWT com JWK Sets
  • Construir um middleware de autenticação completo

Conceitos Chave

Algoritmos de JWT

Algoritmo Tipo Chave Nível de Segurança
HS256 Simétrico (HMAC) Segredo compartilhado 128 bits
RS256 Assimétrico (RSA) Par de chaves RSA 112 bits
ES256 Assimétrico (ECDSA) Par de chaves P-256 128 bits
EdDSA Assimétrico (Ed25519) Par Ed25519 128 bits

Ataques Comuns de JWT

  • Confusão de algoritmo: Trocar de RS256 para HS256, usando a chave pública como segredo HMAC
  • Algoritmo none: Definir alg=none para contornar a verificação de assinatura
  • Injeção de chave: Embutir a chave no cabeçalho JWK
  • Segredos fracos: Força bruta em segredos HMAC curtos
  • Replay de token: Reutilizar tokens válidos sem expiração

Considerações de Segurança

  • Sempre valide o cabeçalho do algoritmo contra uma lista de permissões (allowlist)
  • Nunca aceite alg=none em produção
  • Use algoritmos assimétricos (RS256, ES256) para sistemas distribuídos
  • Defina tempos de expiração curtos (15 min para tokens de acesso)
  • Implemente um mecanismo de atualização de token (refresh token)
  • Armazene segredos de forma segura (não no código fonte)

Critérios de Validação

  • A assinatura de JWT produz tokens válidos para todos os algoritmos
  • A verificação de assinatura rejeita tokens adulterados
  • Tokens expirados são rejeitados
  • Ataque de confusão de algoritmo é prevenido
  • Algoritmo none é rejeitado
  • Rotação de chaves JWK funciona corretamente
  • A validação de claims impõe todos os claims necessários
Perguntas frequentes

O que é um JWT?

JWT significa JSON Web Token. É como um crachá digital que prova quem você é para um site ou aplicativo, de forma segura e compacta.

Por que usar diferentes algoritmos como HS256, RS256?

Cada algoritmo usa um tipo diferente de 'chave' secreta para assinar e verificar os tokens. Alguns usam uma chave secreta compartilhada (HS256), enquanto outros usam um par de chaves (uma pública e uma privada) para maior segurança em sistemas maiores (RS256, ES256, EdDSA).

O que são ataques como 'confusão de algoritmo' ou 'nenhum algoritmo'?

São tentativas de hackers de enganar o sistema. Por exemplo, fazer o sistema pensar que um token foi assinado com um método seguro quando na verdade não foi, ou tentar enviar um token sem nenhuma assinatura para burlar a segurança.

Detalhes

Descrição original do autor

Implements secure JWT (RFC 7519) signing and verification using HMAC-SHA256, RSA-PSS, ES256, and EdDSA, including token expiration, claims validation, and defenses against algorithm-confusion, none-algorithm, and key-injection attacks. Use when adding or hardening JWT-based authentication/authorization, or when auditing token verification code for common JWT vulnerabilities.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5902
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas