Agent Plugins Marketplace
All plugins

testing-handbook-skills

v1.2.1

Skills from the Trail of Bits Application Security Testing Handbook (appsec.guide)

Claude Code15 Skills

By Paweł Płatek7.1k GitHub starsUpdated last week

Directory evidence

Runtimes
Claude Code
Parsed components
15 skill or MCP entries
Source updated
Sep 16, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology

Install testing-handbook-skills for Claude Code

Installs for the current user
claude plugin marketplace add IchenDEV/agent-plugin-mkt
claude plugin marketplace update agent-plugin-marketplace
claude plugin install testing-handbook-skills@agent-plugin-marketplace

Paste and run these commands in a terminal with Claude Code. They add and refresh the PluginsMP catalog, then install this plugin.

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/trailofbits/skills

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is plugins/testing-handbook-skills/.

Plugin files

plugins/testing-handbook-skills/
├── .claude-plugin/plugin.json
├── skills/address-sanitizer/SKILL.md
├── skills/aflpp/SKILL.md
├── skills/atheris/SKILL.md
├── skills/cargo-fuzz/SKILL.md
├── skills/constant-time-testing/SKILL.md
├── skills/coverage-analysis/SKILL.md
├── skills/fuzzing-dictionary/SKILL.md
├── skills/fuzzing-obstacles/SKILL.md
├── skills/harness-writing/SKILL.md
├── skills/libafl/SKILL.md
├── skills/libfuzzer/SKILL.md
├── skills/ossfuzz/SKILL.md
├── skills/ruzzy/SKILL.md
├── skills/testing-handbook-generator/SKILL.md
└── skills/wycheproof/SKILL.md

Included Skills15

address-sanitizerskills/address-sanitizer/SKILL.md

Builds and runs code under AddressSanitizer to catch buffer overflows, use-after-free, and other memory errors during fuzzing or tests. Covers -fsanitize=address builds, ASAN_OPTIONS, reading the crash report, LeakSanitizer, and the overhead and platform trade-offs. Use when fuzzing C/C++ or Rust that has unsafe blocks or FFI, when debugging a memory corruption crash, or when reading an ASan stack trace.

aflppskills/aflpp/SKILL.md

Sets up and runs AFL++ for multi-core fuzzing of C/C++ projects built with afl-clang-fast or afl-gcc-fast. Covers instrumentation modes, parallel main and secondary campaigns, persistent mode, corpus minimization, and crash triage. Use when scaling fuzzing across cores, fuzzing a mature C/C++ codebase, reading the afl-fuzz status screen, or moving on after libFuzzer has plateaued.

atherisskills/atheris/SKILL.md

Sets up and runs Atheris, the coverage-guided Python fuzzer built on libFuzzer. Covers TestOneInput harnesses, FuzzedDataProvider, instrumenting both pure Python and native C extensions, and running under AddressSanitizer. Use when fuzzing a Python package, hunting memory corruption in a Python C extension, or choosing between Atheris and Hypothesis for a Python target.

cargo-fuzzskills/cargo-fuzz/SKILL.md

Sets up and runs cargo-fuzz, the standard fuzzing tool for Cargo-based Rust projects. Covers cargo fuzz init, the nightly toolchain requirement, fuzz_target! harnesses, Arbitrary-derived structured inputs, sanitizer options, cargo fuzz coverage, and reproducing a crash artifact. Use when fuzzing a Rust crate, writing a fuzz_target!, exercising unsafe blocks or FFI in Rust, or triaging a cargo fuzz crash.

constant-time-testingskills/constant-time-testing/SKILL.md

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.

coverage-analysisskills/coverage-analysis/SKILL.md

Measures and interprets what a fuzzing campaign actually reaches, using llvm-cov, lcov, or a fuzzer's own coverage output. Covers baselining a new campaign, reading coverage reports, and turning uncovered regions into harness, seed, or dictionary work. Use when a fuzzer plateaus, when judging whether a harness is effective, after changing a harness, or when asking why some code is never reached.

fuzzing-dictionaryskills/fuzzing-dictionary/SKILL.md

Builds and applies fuzzing dictionaries so a fuzzer can produce the keywords, magic bytes, and tokens a target expects. Covers extracting tokens from source, headers, binaries, and specifications, dictionary syntax, and wiring one into libFuzzer or AFL++. Use when fuzzing a parser, protocol, or file format, when coverage stalls at input validation, or when a target compares against fixed strings.

fuzzing-obstaclesskills/fuzzing-obstacles/SKILL.md

Patches past the barriers that stop a fuzzer making progress — checksum and hash verification, magic-value validation, time-based seeds, and other non-deterministic global state. Covers locating the blocking check, neutering it behind a fuzzing build flag, and avoiding the false positives a patch can introduce. Use when a fuzzer is stuck at validation, when coverage shows large regions behind a checksum, or when valid inputs are impractical to generate.

harness-writingskills/harness-writing/SKILL.md

Designs and improves fuzzing harnesses for C/C++ and Rust. Covers mapping raw bytes onto a target API, generating structured inputs, avoiding non-determinism and false crashes, and deciding what to fuzz together. Use when writing a first LLVMFuzzerTestOneInput or fuzz_target! harness, when a campaign finds nothing or reports crashes that will not reproduce, or when the target API needs structured rather than raw input.

libaflskills/libafl/SKILL.md

Builds custom fuzzers with LibAFL, the modular Rust fuzzing library. Covers composing observers, feedbacks, mutators, schedulers, and executors into a fuzzer for targets the standard tools do not fit. Use when writing a bespoke fuzzer or mutator, fuzzing a non-standard target or architecture, implementing a fuzzing research idea, or when libFuzzer and AFL++ lack the control you need.

libfuzzerskills/libfuzzer/SKILL.md

Sets up and runs libFuzzer, the coverage-guided fuzzer built into LLVM, on C/C++ code that compiles with Clang. Covers harness structure, -fsanitize=fuzzer builds, corpus and dictionary management, sanitizer integration, and campaign triage. Use when writing or debugging an LLVMFuzzerTestOneInput harness, starting fuzzing on a C/C++ library, choosing between libFuzzer and AFL++, or working out why a libFuzzer run finds nothing.

ossfuzzskills/ossfuzz/SKILL.md

Enrolls a project in OSS-Fuzz, Google's free continuous fuzzing service for open source, and drives it locally. Covers project.yaml, Dockerfile and build.sh setup, the helper scripts, reproducing OSS-Fuzz crash reports, and the acceptance criteria. Use when setting up continuous fuzzing for an open-source project, reproducing an OSS-Fuzz bug report, or testing an OSS-Fuzz build before submitting it.

ruzzyskills/ruzzy/SKILL.md

Sets up and runs Ruzzy, Trail of Bits' coverage-guided Ruby fuzzer and the only production-ready one for the language. Covers harness structure, fuzzing pure Ruby and the native C extensions in gems, and sanitizer builds. Use when fuzzing a Ruby library or gem, testing a Ruby C extension for memory safety, or asking how to fuzz Ruby at all.

testing-handbook-generatorskills/testing-handbook-generator/SKILL.md

Generates Claude Code skills from the Trail of Bits Testing Handbook (appsec.guide), analyzing handbook pages and emitting SKILL.md files with the structure each skill type requires. Use when creating or refreshing a skill from handbook content, or when the user names the testing handbook or appsec.guide. Not for answering security testing questions — the generated skills cover those.

wycheproofskills/wycheproof/SKILL.md

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.

Plugin manifests1

plugins/testing-handbook-skills/.claude-plugin/plugin.json
{
  "name": "testing-handbook-skills",
  "version": "1.2.1",
  "description": "Skills from the Trail of Bits Application Security Testing Handbook (appsec.guide)",
  "author": {
    "name": "Paweł Płatek"
  },
  "interface": {
    "displayName": "Testing Handbook Skills",
    "shortDescription": "Skills from the Trail of Bits Application Security Testing Handbook (appsec.guide)",
    "longDescription": "Skills from the Trail of Bits Application Security Testing Handbook (appsec.guide)",
    "developerName": "Paweł Płatek"
  }
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[testing-handbook-skills on Agent Plugins Marketplace](https://pluginsmp.com/plugins/testing-handbook-skills)