# constant-time-testing

> Measures timing side channels in cryptographic implementations by running them, using dudect for statistical analysis a…

Measures timing side channels in cryptographic implementations by running them, using dudect for statistical analysis and Timecop over Valgrind for dynamic tracing. Covers the formal, symbolic, dynamic, and statistical tool categories and how to read a result. Use when testing whether a running implementation is constant-time, measuring timing variance on a compiled binary, or investigating a suspected timing attack. Not for statically inspecting compiler output — the constant-time-analysis plugin covers that.

- Type: Skill
- Made by: trailofbits
- Category: Security
- Formats: Skills
- Version: 41cc342
- Source: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing
- Page: https://pluginboard.ai/skills/constant-time-testing

## Works with

- ChatGPT
- Claude
- Gemini
- GitHub Copilot
- Cursor
- Claude Code
- Codex
- Antigravity
- Gemini CLI
- Replit
- OpenClaw
- OpenCode
- Hermes Agent

## Install

### ChatGPT

In ChatGPT: Download the constant-time-testing folder and zip it, then Plugins → Skills → Create → Upload from your computer. Business and Enterprise plans.

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Claude

In Claude (web or desktop): Download the constant-time-testing folder and zip the folder itself, then upload it in Customize → Skills.

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Gemini

In Gemini: Download the constant-time-testing folder, then at gemini.google.com click Customize → Skills → Create → Upload and pick the folder (or a .zip of it).

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### GitHub Copilot

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.copilot/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Cursor

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.cursor/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Claude Code

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.claude/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

Or all of Testing Handbook Skills, in Claude Code:

```text
/plugin marketplace add trailofbits/skills
/plugin install testing-handbook-skills@trailofbits
```

### Codex

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.agents/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Antigravity

In Antigravity: Copy the constant-time-testing folder into ~/.gemini/config/skills (Antigravity app and IDE) or ~/.gemini/antigravity-cli/skills (Antigravity CLI).

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Gemini CLI

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.gemini/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Replit

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing .agents/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### OpenClaw

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.openclaw/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### OpenCode

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.config/opencode/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

### Hermes Agent

Run in your terminal:

```shell
npx -y degit trailofbits/skills/plugins/testing-handbook-skills/skills/constant-time-testing ~/.hermes/skills/constant-time-testing
```

View the folder on GitHub: https://github.com/trailofbits/skills/tree/HEAD/plugins/testing-handbook-skills/skills/constant-time-testing

---
From Pluginboard (https://pluginboard.ai).
