Pular para o conteúdo
Skillpedia
Segurança48 mil · #2625

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/constant-time-analysis/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/constant-time-analysis/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-analysis

Ou 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.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.

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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2625
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas