SkillProgramaçãoRevisão

Análise de Tempo Constante

Analisa caminhos de código criptográfico em busca de canais laterais de tempo (timing side channels). Use ao auditar código que lida com segredos como chaves, assinaturas e senhas, onde qualquer variação de tempo dependente do segredo vaza informação.

Ações
PerfilDev
ProfundidadeAlta
IdiomaInglês (skill original)
Objetivo

Em uma frase.

Encontrar canais laterais de tempo em código de criptografia. Qualquer variação de tempo que dependa de um dado secreto vaza bits desse segredo, e a skill identifica e corrige esses vazamentos.

Aplicação

Quando
faz sentido.

Usar
  • Implementar primitivas criptográficas (comparação de chaves, verificação de assinatura, descriptografia).
  • Revisar comparação de senhas ou tokens.
  • Revisar comparação de HMAC ou MAC.
  • Trabalhar com código sensível a canais laterais (FIDO, TLS, etc.).
Não usar
  • Código não criptográfico, onde o tempo normalmente não revela informação sensível.
  • Como única medida de defesa — tempo constante sem um modelo de ameaças geral é incompleto.
Prompt

Instruções
para a IA.

### Padrões que vazam tempo

Reconheça os vazamentos típicos: branch condicional baseado em segredo (caminhos diferentes geram tempos diferentes); loop com saída antecipada que revela a posição de uma divergência; lookup em tabela com índice secreto (o tempo de cache revela o índice); e aritmética de tempo variável, como exponenciação modular com branches sobre bits.

### Padrões de tempo constante

Substitua por construções seguras: comparação de tempo constante que acumula diferenças com XOR e OR sem saída antecipada; seleção de tempo constante via máscara; e uso de bibliotecas verificadas como subtle.ConstantTimeCompare (Go), secrets.compare_digest (Python), crypto.timingSafeEqual (Node) e OPENSSL_memcmp (C).

### Processo de auditoria

Identifique as funções que lidam com segredos, rastreie o fluxo do dado secreto e, para cada branch, saída de loop ou acesso a tabela, pergunte se depende do segredo. Substitua pelo padrão de tempo constante e verifique com ferramentas como ctgrind, dudect ou timecop. Para cada achado, registre localização, descrição do vazamento, correção e verificação.
Constelação

Onde
ela vive.

Execução

Como usar
com IA.

  1. 01Copie a skill (botão "Copiar skill para IA", no topo): o texto copiado já é a skill completa, não um resumo.
  2. 02Abra o Claude ou Claude Code e cole — a IA recebe todas as instruções e fica pronta para a tarefa.
  3. 03Prefere usar como arquivo reutilizável? Baixe o .zip e coloque o SKILL.md em .claude/skills/ (Claude Code) ou anexe o arquivo no Claude (claude.ai).