Toolverse
All skills

harness-writing

by trailofbits

Techniques for writing effective fuzzing harnesses across languages. Use when creating new fuzz targets or improving existing harness code.

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Testing
Views
3

About this skill

Techniques for writing effective fuzzing harnesses across languages. Use when creating new fuzz targets or improving existing harness code.

How to use

  1. Zainstaluj umiejętność harness-writing z repozytorium Trail of Bits w swoim środowisku agenta Claude lub Copilota. Umiejętność zawiera dokumentację technik pisania harnesów dla różnych języków programowania.

  2. Zidentyfikuj kod, który chcesz poddać fuzzingowi (System Under Test, SUT) i określ jego interfejs API. Ustal, jakie funkcje będą celem testów i jakie typy danych przyjmują.

  3. Zaprojektuj funkcję harnesu zgodnie z wymaganiami fuzera (np. LLVMFuzzerTestOneInput dla libFuzzer). Harnes musi przyjmować losowe bajty, konwertować je na sensowne dane wejściowe i wywoływać funkcje testowane.

  4. Użyj FuzzedDataProvider lub podobnej klasy pomocniczej do strukturalnego wyodrębniania typowanych danych z surowych bajtów. Pozwoli to fuzzerowi efektywnie eksplorować ścieżki kodu zamiast generować losowy szum.

  5. Obsłuż przypadki brzegowe i błędy w harnesie — upewnij się, że awarie są powtarzalne i że kod nie zawiesza się na nieprawidłowych danych. Przetestuj harnes z kilkoma ręcznym wejściami przed uruchomieniem pełnej kampanii fuzzingu.

  6. Monitoruj pokrycie kodu podczas fuzzingu. Jeśli pokrycie jest niskie lub fuzzer nie znajduje błędów, przejrzyj harnes — może wymagać lepszej strukturyzacji danych wejściowych, testowania wielu operacji (fuzzing przeplatany) lub zmian w logice parsowania.

Related skills

ppt-creator

by daymade

Create professional slide decks from topics or documents. Generates structured content with data-driven charts, speaker notes, and complete PPTX files. Applies persuasive storytelling principles (Pyramid Principle, assertion-evidence). Supports multiple formats (Marp,

Testing
2739

lean4-theorem-proving

by cameronfreer

Use when developing Lean 4 proofs, facing type class synthesis errors, managing sorries/axioms, or searching mathlib - provides build-first workflow, instance management patterns (haveI/letI), and domain-specific tactics

Testing
9108

python-testing-patterns

by wshobson

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

Testing
46146

webapp-testing

by anthropics

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

Testing
130255

differential-review

by trailofbits

Performs security-focused differential review of code changes (PRs, commits, diffs). Adapts analysis depth to codebase size, uses git history for context, calculates blast radius, checks test coverage, and generates comprehensive markdown reports. Automatically detects and

Testing
2510

hono

by openstatusHQ

Efficiently develop Hono applications using Hono CLI. Supports documentation search, API reference lookup, request testing, and bundle optimization.

Testing
1257