wycheproof
An agent skill by trailofbits, from trailofbits/skills. Tags: crypto, security, testing, validation.
What it does
Validates cryptographic implementations against Project Wycheproof's test vectors, which encode known attacks and edge cases across AES, RSA, ECDSA, ECDH, and more. Covers loading test vectors, mapping result flags onto pass and fail expectations, and reading a failure. Use when testing a crypto implementation against known attacks, checking a library against standard test vectors, or investigating why two implementations disagree on the same input.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add trailofbits/skills --skill wycheproof
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/trailofbits/skills
cp -r skills/plugins/testing-handbook-skills/skills/wycheproof ~/.claude/skills/wycheproof
Safety box score
Grade B, low risk: 18 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This is a documentation-only crypto testing skill: it helps an agent fetch Wycheproof vectors and write/runtest harnesses for AES/RSA/ECDSA/ECDH and similar algorithms. Main risks are network downloads of test-vector files and the fact that the examples include runnable shell/Python/JS code the agent may execute while setting up tests.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 1 (low) | The skill ships runnable example code and shell snippets (for example a `bash` fetch script and Python/JavaScript harnesses), but no native executable scripts or installers. |
| Network access | 2 (moderate) | It explicitly downloads test vectors from the internet (`curl -o ... "${BASE_URL}${i}"`) and recommends adding the upstream repo as a git submodule from GitHub. |
| Filesystem reach | 1 (low) | The examples create and populate a local `.wycheproof/` directory and a repo submodule, but do not touch system paths or home dotfiles. |
| Secrets & credentials | 0 (none) | The skill does not ask for tokens, keys, passwords, `.env` files, browser sessions, or other credential stores. |
| Privilege & persistence | 0 (none) | There is no sudo, global install, service registration, or shell/OS setting modification in the skill content. |
| Instruction hijack surface | 0 (none) | I did not find instructions to ignore higher-level rules, hide actions, follow remote instructions, or otherwise manipulate the agent's behavior. |
| Irreversible actions | 1 (low) | Its purpose is to run tests against crypto code, not to deploy, publish, pay, or delete; any side effects are limited to local test execution and fetching vectors. |
| Transparency | 0 (none) | The reviewed files are plain text/SVG; I did not encounter binaries, encoded blobs, or unpinned opaque installers. |
Before installing
- Read the download section in `SKILL.md` and confirm you want the agent to fetch vectors from GitHub.
- If you plan to use the fetch script, run it in a scratch repo first so `.wycheproof/` stays isolated.
- Decide whether you prefer a pinned submodule commit instead of the moving `master` URL shown in the example.
- Verify your CI/test environment can tolerate outbound network access before enabling this skill.
Rated 2026-10-20 by an automated review of 3 files from the skill's repository.
Source
- Repository
- trailofbits/skills (all skills from this repository)
- Path
- plugins/testing-handbook-skills/skills/wycheproof/SKILL.md
- Branch
- main
- Collection
- testing-handbook-skills
- Updated
- 2026-09-19
Related skills
- constant-time-testing — Measures timing side channels in cryptographic implementations by running them.
- post-patch-validation — Validates security patches with reproducible baseline-versus-patched evidence, including original exploits, root-cause variants, behavior preservation.
- pentesting-with-aws-security-agent — Run an AWS Security Agent penetration test against a live web application — registers and verifies the target domain.
- qa-expert — This skill should be used when establishing comprehensive QA testing processes for any software project.
- address-sanitizer — Builds and runs code under AddressSanitizer to catch buffer overflows, use-after-free, and other memory errors during fuzzing or tests.
- atheris — Sets up and runs Atheris, the coverage-guided Python fuzzer built on libFuzzer.