constant-time-analysis
Ajuda seu agente a analisar códigos de segurança. Ele procura por falhas que podem expor informações secretas através do tempo de execução.
O que ela faz
Esta ferramenta analisa seu código de criptografia para encontrar falhas que podem revelar informações secretas. Ela verifica se operações que usam dados sensíveis levam tempos de execução diferentes, o que pode ser explorado por hackers.
Quando usar
- ✓Quando você está escrevendo código de criptografia.
- ✓Se você está preocupado com ataques que exploram o tempo de execução.
- ✓Ao revisar código que lida com senhas, chaves ou tokens.
Exemplo do que pedir para a IA
“Analise este código de criptografia para ver se ele é seguro contra ataques de tempo.”
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
Mensagem pronta para colar
Como funciona
A ferramenta examina o código em busca de padrões conhecidos que podem causar vazamento de informações através do tempo de execução. Ela verifica operações específicas e a forma como os dados secretos são usados.
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 sickn33/agentic-awesome-skills --skill constant-time-analysisOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/constant-time-analysis/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Suporte upstream incluído
Arquivos de suporte são incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.
Análise de Tempo Constante
Analisa código criptográfico para detectar operações que vazam dados secretos através de variações no tempo de execução.
Quando Usar
User writing crypto code? ──yes──> Use this skill
│
no
│
v
User asking about timing attacks? ──yes──> Use this skill
│
no
│
v
Code handles secret keys/tokens? ──yes──> Use this skill
│
no
│
v
Skip this skill
Gatilhos concretos:
- O usuário implementa assinatura, criptografia ou derivação de chave
- O código contém operadores
/ou%em valores derivados de segredos - O usuário menciona "tempo constante", "ataque de tempo", "canal lateral", "KyberSlash"
- Revisando funções nomeadas
sign,verify,encrypt,decrypt,derive_key
Quando NÃO Usar
- Código não criptográfico (lógica de negócios, UI, etc.)
- Processamento de dados públicos onde vazamentos de tempo não importam
- Código que não lida com segredos, chaves ou tokens de autenticação
- Uso de API de alto nível onde o tempo é tratado pela biblioteca
Seleção de Idioma
Com base na extensão do arquivo ou no contexto do idioma, consulte o guia apropriado:
| Idioma | Extensões de Arquivo | Guia |
|---|---|---|
| C, C++ | .c, .h, .cpp, .cc, .hpp |
references/compiled.md |
| Go | .go |
references/compiled.md |
| Rust | .rs |
references/compiled.md |
| Swift | .swift |
references/swift.md |
| Java | .java |
references/vm-compiled.md |
| Kotlin | .kt, .kts |
references/kotlin.md |
| C# | .cs |
references/vm-compiled.md |
| PHP | .php |
references/php.md |
| JavaScript | .js, .mjs, .cjs |
references/javascript.md |
| TypeScript | .ts, .tsx |
references/javascript.md |
| Python | .py |
references/python.md |
| Ruby | .rb |
references/ruby.md |
Início Rápido
# Analyze any supported file type
uv run {baseDir}/ct_analyzer/analyzer.py <source_file>
# Include conditional branch warnings
uv run {baseDir}/ct_analyzer/analyzer.py --warnings <source_file>
# Filter to specific functions
uv run {baseDir}/ct_analyzer/analyzer.py --func 'sign|verify' <source_file>
# JSON output for CI
uv run {baseDir}/ct_analyzer/analyzer.py --json <source_file>
Apenas Linguagens Compiladas Nativas (C, C++, Go, Rust)
# Cross-architecture testing (RECOMMENDED)
uv run {baseDir}/ct_analyzer/analyzer.py --arch x86_64 crypto.c
uv run {baseDir}/ct_analyzer/analyzer.py --arch arm64 crypto.c
# Multiple optimization levels
uv run {baseDir}/ct_analyzer/analyzer.py --opt-level O0 crypto.c
uv run {baseDir}/ct_analyzer/analyzer.py --opt-level O3 crypto.c
Linguagens Compiladas por VM (Java, Kotlin, C#)
# Analyze Java bytecode
uv run {baseDir}/ct_analyzer/analyzer.py CryptoUtils.java
# Analyze Kotlin bytecode (Android/JVM)
uv run {baseDir}/ct_analyzer/analyzer.py CryptoUtils.kt
# Analyze C# IL
uv run {baseDir}/ct_analyzer/analyzer.py CryptoUtils.cs
Nota: Java, Kotlin e C# compilam para bytecode (JVM/CIL) que roda em uma máquina virtual com compilação JIT. O analisador examina o bytecode diretamente, não o código nativo compilado por JIT. As flags --arch e --opt-level não se aplicam a essas linguagens.
Swift (iOS/macOS)
# Analyze Swift for native architecture
uv run {baseDir}/ct_analyzer/analyzer.py crypto.swift
# Analyze for specific architecture (iOS devices)
uv run {baseDir}/ct_analyzer/analyzer.py --arch arm64 crypto.swift
# Analyze with different optimization levels
uv run {baseDir}/ct_analyzer/analyzer.py --opt-level O0 crypto.swift
Nota: Swift compila para código nativo como C/C++/Go/Rust, portanto, usa análise em nível de assembly e suporta as flags --arch e --opt-level.
Pré-requisitos
…
Perguntas frequentes
O que são ataques de tempo?
São ataques que exploram as pequenas diferenças no tempo que um programa leva para executar diferentes operações. Se essas diferenças dependem de dados secretos, um hacker pode inferir esses segredos.
Quais linguagens são suportadas?
A ferramenta suporta várias linguagens como C, C++, Go, Rust, Java, Python, JavaScript, entre outras. A configuração pode variar dependendo da linguagem.
Preciso instalar algo para usar?
Sim, você pode precisar instalar compiladores, SDKs ou ferramentas específicas para a linguagem do seu código, como um compilador Java ou o .NET SDK para C#.
Detalhes
Descrição original do autor
Analyze cryptographic code to detect operations that leak secret data through execution timing variations.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2625
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC