O que constant-time-testing faz?
Testes de tempo constante detectam canais laterais de temporização em código criptográfico. Use ao auditar implementações criptográficas em busca de vulnerabilidades de temporização.
Descrição
Esta skill emprega a ferramenta dudect para realizar testes estatísticos de temporização. Ela executa uma função alvo com entradas aleatórias e mede o tempo de execução, aplicando um teste de hipótese para determinar se a variância observada é estatisticamente significativa. Se for, isso indica que o código não é de tempo constante, potencialmente vazando informações secretas.
Como usar
Adicione esta skill ao seu agente (por exemplo, Claude Code, Cursor) para que ele reconheça e execute testes de tempo constante automaticamente durante auditorias de código criptográfico. O agente irá:
- Identificar funções criptográficas no código-fonte (por exemplo, implementações de AES, RSA, ECDSA).
- Instrumentar o código com
dudectpara medir tempos de execução. - Analisar os resultados e reportar se há desvios temporais significativos.
Plataformas suportadas
- Linguagens: C, Rust, Go, Python (com wrappers)
- Sistemas: Linux, macOS, Windows (via WSL ou Docker)
- CI/CD: Integração com GitHub Actions, GitLab CI, Jenkins
Exemplo de saída
[INFO] Testing function: aes_encrypt_block
[INFO] Measuring execution time for 1000 iterations...
[WARNING] Timing variation detected: p-value = 0.003
[FAIL] Function is NOT constant-time.
Leitura adicional
Documentação gerada pela skill trailofbits/constant-time-testing.