testing-handbook

Integrate fuzzing, sanitizers, and static analysis into a unified security testing workflow.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Security testing and vulnerability discovery require a structured, repeatable methodology that combines fuzzing, sanitizers, and static analysis to identify memory-safety and logic defects early in the development lifecycle.

Core Features & Use Cases

  • End-to-end methodology covering fuzzing, sanitizer testing, and static analysis for vulnerability discovery.
  • Guidance on harness creation, crash triage, and mapping findings to MITRE ATT&CK techniques for remediation prioritization.
  • Use case: Before shipping a parser or deserializer, apply this methodology to validate robustness against malformed inputs and uncover hidden defects.

Quick Start

Initialize a fuzzing harness, enable sanitizers, and run static analysis to surface memory-safety defects and logic bugs.

Frequently Asked Questions about testing-handbook

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

FAQPage Schema
How do I integrate fuzzing and static analysis into a unified security testing workflow?▼

To integrate fuzzing and static analysis, initialize a fuzzing harness with engines like AFL++, enable sanitizers such as ASan, and run Semgrep or CodeQL to surface memory-safety defects and logic bugs in a unified workflow.

What is the best way to triage crashes found by fuzzing engines in C/C++ and Rust?▼

The best way to triage crashes found by fuzzing engines is to apply a structured methodology that maps crash findings to MITRE ATT&CK techniques, enabling targeted remediation prioritization for C/C++ and Rust systems.

How do I write a fuzzing harness to validate parser robustness against malformed inputs?▼

To write a fuzzing harness for parser robustness, initialize the harness using engines like libFuzzer, enable sanitizers to catch memory-safety defects, and execute the workflow to validate behavior against malformed inputs.

Does this security testing methodology support CI integration for reproducible vulnerability discovery results?▼

Yes, this security testing methodology supports CI integration for reproducible results, combining fuzzing, sanitizers, and static analysis to identify memory-safety and logic defects early in the development lifecycle.

When do I need to use sanitizers like ASan, UBSan, and TSan during fuzzing?▼

You need to use sanitizers like ASan, UBSan, and TSan during fuzzing to identify memory-safety defects and logic bugs, ensuring robustness against malformed inputs before shipping parsers or deserializers.

Can I use Semgrep and CodeQL alongside fuzzing engines for vulnerability discovery?▼

Yes, you can use Semgrep and CodeQL alongside fuzzing engines like AFL++ and libFuzzer to combine static analysis with dynamic testing, surfacing hidden defects and mapping them to MITRE ATT&CK techniques.