constant-time-analysis

Identify timing side-channel vulnerabilities in C/C++ cryptographic source code.

21|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/woohyun212/security-skill --skill constant-time-analysis-woohyun212
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: constant-time-analysis
Source: https://github.com/woohyun212/security-skill/tree/main/constant-time-analysis
Command: npx skills add https://github.com/woohyun212/security-skill --skill constant-time-analysis-woohyun212

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Timing side‑channel vulnerabilities allow attackers to infer secret values by measuring execution time differences in cryptographic code. This skill helps security engineers identify secret‑dependent branches, variable‑time memory accesses, and unsafe comparison functions that can leak keys.

Core Features & Use Cases

  • Static analysis using grep/ripgrep to locate secret‑dependent branches and unsafe comparisons.
  • Compiler flag inspection to detect optimizations that may break constant‑time guarantees.
  • Assembly inspection with objdump to find conditional jumps in compiled binaries.
  • Dynamic analysis with ctgrind, Valgrind, or dudect for runtime timing leakage confirmation.
  • MITRE ATT&CK mapping to relate findings to techniques such as T1040 and T1557.

Quick Start

Ask the AI to perform a constant‑time analysis on the ./src/crypto directory.

Frequently Asked Questions about constant-time-analysis

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect timing side-channel vulnerabilities in C/C++ cryptographic code?

Detect timing side-channel vulnerabilities by running static and dynamic analysis on C/C++ cryptographic source code to identify secret-dependent branches, variable-time memory accesses, and unsafe comparison functions.

What is the best way to find secret-dependent branches and variable-time memory accesses in crypto implementations?

The best way to find secret-dependent branches and variable-time memory accesses is using static analysis with grep or ripgrep, combined with compiler flag inspection to detect optimizations that break constant-time guarantees.

Can I use ctgrind, Valgrind, or dudect for runtime timing leakage confirmation?

Yes, you can use ctgrind, Valgrind, or dudect to perform dynamic analysis for runtime timing leakage confirmation in cryptographic code, verifying statically detected vulnerabilities during execution.

Does constant-time analysis inspect compiled binaries for conditional jumps?

Constant-time analysis inspects compiled binaries using objdump to find conditional jumps, targeting compiled cryptographic implementations to ensure no secret-dependent branches remain after compilation.

Do I need a compiler and ripgrep to analyze crypto code for timing leaks?

Yes, you need a compiler and either grep or ripgrep to analyze crypto code for timing leaks, as these tools perform the static analysis required to locate secret-dependent branches and unsafe comparisons.

How do timing side-channel attacks map to MITRE ATT&CK techniques?

Timing side-channel attacks map to MITRE ATT&CK techniques such as T1040 and T1557, relating identified cryptographic timing vulnerabilities to known adversary techniques for network and credential manipulation.